diff --git a/.github/workflows/postsubmit.yaml b/.github/workflows/postsubmit.yaml index 1dcbb7832..9d386b27c 100644 --- a/.github/workflows/postsubmit.yaml +++ b/.github/workflows/postsubmit.yaml @@ -11,80 +11,38 @@ permissions: contents: read jobs: - postsubmit-populate-bazel-cache: - # Only run in the upstream repository; skip in forks. - if: github.repository == 'google/gfxstream' - runs-on: ubuntu-22.04 - steps: - - name: Free disk space - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - with: - tool-cache: true - - name: Checkout repository - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - - name: Install bazel - run: sudo bash toolchain/bazel/install_bazel.sh - - name: Install toolchain dependencies - run: sudo bash toolchain/bazel/install_toolchain_dependencies.sh - - name: Load cache config - run: cat .config/cache-config.env >> $GITHUB_ENV - - name: Mount bazel cache - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 - with: - path: "~/bazel-disk-cache" - key: ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-{5}', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name, github.sha, github.event_name) }} - restore-keys: | - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name, github.sha) || '' }} - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-{3}-', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name) || '' }} - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-main-', runner.os, runner.arch, env.CACHE_VERSION) || '' }} - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-', runner.os, runner.arch, env.CACHE_VERSION) || '' }} - - name: Build with Lavapipe - run: | - bazel build ... \ - --disk_cache=$HOME/bazel-disk-cache \ - --graphics_drivers=gles_angle_vulkan_lavapipe \ - --verbose_failures - - name: Build with SwiftShader - run: | - bazel build ... \ - --disk_cache=$HOME/bazel-disk-cache \ - --graphics_drivers=gles_angle_vulkan_swiftshader \ - --verbose_failures + postsubmit-populate-bazel-cache-lavapipe: + uses: ./.github/workflows/postsubmit_bazel.yml + with: + additional-bazel-args: --graphics_drivers=gles_angle_vulkan_lavapipe + cache-config: lavapipe + runner: ubuntu-22.04 + + postsubmit-populate-bazel-cache-swiftshader: + uses: ./.github/workflows/postsubmit_bazel.yml + with: + additional-bazel-args: --graphics_drivers=gles_angle_vulkan_swiftshader + cache-config: swiftshader + runner: ubuntu-22.04 + + postsubmit-populate-bazel-cache-swiftshader-asan: + uses: ./.github/workflows/postsubmit_bazel.yml + with: + additional-bazel-args: --graphics_drivers=gles_angle_vulkan_swiftshader --config=asan + cache-config: swiftshader-asan + runner: ubuntu-22.04 + postsubmit-populate-bazel-cache-arm: - # Only run in the upstream repository; skip in forks. - if: github.repository == 'google/gfxstream' - runs-on: ubuntu-22.04-arm - steps: - - name: Free disk space - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - with: - tool-cache: true - - name: Checkout repository - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - - name: Install bazel - run: sudo bash toolchain/bazel/install_bazel.sh - - name: Install toolchain dependencies - run: sudo bash toolchain/bazel/install_toolchain_dependencies.sh - - name: Load cache config - run: cat .config/cache-config.env >> $GITHUB_ENV - - name: Mount bazel cache - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 - with: - path: "~/bazel-disk-cache" - key: ${{ format('{0}-{1}-bazel-disk-cache-{2}-debian-package-{3}-{4}-{5}', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name, github.sha, github.event_name) }} - restore-keys: | - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-debian-package-{3}-', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name) || '' }} - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-debian-package-main-', runner.os, runner.arch, env.CACHE_VERSION) || '' }} - ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-debian-package-', runner.os, runner.arch, env.CACHE_VERSION) || '' }} - - name: Build with Lavapipe - run: | - bazel build ... \ - --disk_cache=$HOME/bazel-disk-cache \ - --graphics_drivers=gles_angle_vulkan_lavapipe \ - --verbose_failures - - name: Build with SwiftShader - run: | - bazel build ... \ - --disk_cache=$HOME/bazel-disk-cache \ - --graphics_drivers=gles_angle_vulkan_swiftshader \ - --verbose_failures + uses: ./.github/workflows/postsubmit_bazel.yml + with: + runner: ubuntu-22.04-arm + + postsubmit-populate-bazel-cache-macos: + uses: ./.github/workflows/postsubmit_bazel.yml + with: + runner: macos-26 + build-targets: >- + //host:gfxstream_backend_static + //host:gfxstream_backend_shared + //host:gfxstream_backend + //common/base:gfxstream_common_base_tests diff --git a/.github/workflows/postsubmit_bazel.yml b/.github/workflows/postsubmit_bazel.yml new file mode 100644 index 000000000..a4f1e53b4 --- /dev/null +++ b/.github/workflows/postsubmit_bazel.yml @@ -0,0 +1,90 @@ +name: Build and populate Gfxstream Bazel cache + +on: + workflow_call: + inputs: + # Which github runner to use: + runner: + type: string + required: true + + # Additional args used in `bazel build `: + additional-bazel-args: + type: string + default: '' + + # Cache configuration identifier used to isolate incompatible build + # configurations (e.g. 'default', 'lavapipe', 'swiftshader', 'asan') into + # separate cache keys: + cache-config: + type: string + default: 'default' + + # Which targets to build. Defaults to everything, but platforms that can + # not build the full target graph (e.g. macOS, which lacks the Linux-only + # mesa/libdrm/guest dependencies) can override this with a curated list. + build-targets: + type: string + default: '...' + +permissions: + contents: read + +jobs: + postsubmit_bazel_workflow: + # Only run in the upstream repository; skip in forks. + if: github.repository == 'google/gfxstream' + runs-on: ${{ inputs.runner }} + steps: + - name: Free disk space + if: runner.os == 'Linux' + uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + with: + tool-cache: true + + - name: Checkout repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + # No step needs the token afterwards, so do not leave it + # behind in .git/config. + persist-credentials: false + + - name: Install bazel (Linux) + if: runner.os == 'Linux' + run: sudo bash toolchain/bazel/install_bazel.sh + + - name: Install toolchain dependencies (Linux) + if: runner.os == 'Linux' + run: sudo bash toolchain/bazel/install_toolchain_dependencies.sh + + - name: Install bazel (macOS) + if: runner.os == 'macOS' + run: brew install bazelisk + + - name: Load cache config + run: cat .config/cache-config.env >> $GITHUB_ENV + + - name: Mount Bazel cache + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 + with: + path: "~/bazel-disk-cache" + key: ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-{5}-{6}', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config, github.ref_name, github.sha, github.event_name) }} + restore-keys: | + ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-{5}-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config, github.ref_name, github.sha) || '' }} + ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config, github.ref_name) || '' }} + ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-{3}-main-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config) || '' }} + ${{ github.event_name == 'push' && format('{0}-{1}-bazel-disk-cache-{2}-{3}-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config) || '' }} + + - name: Build + # Workflow inputs reach the script through the environment rather than + # being expanded into it, so that their contents can never be parsed as + # shell code. They are deliberately left unquoted below so that the shell + # still splits them into separate arguments. + env: + BUILD_TARGETS: ${{ inputs.build-targets }} + ADDITIONAL_BAZEL_ARGS: ${{ inputs.additional-bazel-args }} + run: | + bazel build $BUILD_TARGETS \ + --disk_cache=$HOME/bazel-disk-cache \ + --verbose_failures \ + $ADDITIONAL_BAZEL_ARGS diff --git a/.github/workflows/presubmit.yaml b/.github/workflows/presubmit.yaml index 78af400db..c261a9179 100644 --- a/.github/workflows/presubmit.yaml +++ b/.github/workflows/presubmit.yaml @@ -28,7 +28,7 @@ jobs: - name: Install go uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: - go-version: '1.23.1' + go-version: 'stable' - name: Install buildozer run: go install github.com/bazelbuild/buildtools/buildozer@latest - name: Validate formatting @@ -51,20 +51,23 @@ jobs: uses: ./.github/workflows/presubmit_bazel.yml with: additional-bazel-args: --graphics_drivers=gles_angle_vulkan_lavapipe + cache-config: lavapipe runner: ubuntu-22.04 run-gfxstream-bazel-swiftshader-tests: uses: ./.github/workflows/presubmit_bazel.yml with: additional-bazel-args: --graphics_drivers=gles_angle_vulkan_swiftshader + cache-config: swiftshader runner: ubuntu-22.04 - run-gfxstream-bazel-tests-asan: + run-gfxstream-bazel-swiftshader-tests-asan: uses: ./.github/workflows/presubmit_bazel.yml with: # TODO(b/475886246): fix and remove `detect_leaks=0` # TODO(b/475885975): fix and remove `detect_odr_violation=0` additional-bazel-args: --graphics_drivers=gles_angle_vulkan_swiftshader --config=asan --test_env=ASAN_OPTIONS=detect_leaks=0:detect_odr_violation=0 + cache-config: swiftshader-asan runner: ubuntu-22.04 run-gfxstream-bazel-tests-arm: @@ -86,10 +89,13 @@ jobs: //host:gfxstream_backend_static //host:gfxstream_backend_shared //host:gfxstream_backend - # Nothing is run yet: this job exists to keep the macOS host build - # compiling. Tests need a graphics driver environment that macOS does not - # have here yet. - run-tests: false + # Only tests that need no graphics driver run: macOS has no driver + # environment here yet. The WorkerThread case is not run anywhere yet + # and fails on every platform, so it stays out until it is fixed. + test-targets: >- + common/base:gfxstream_common_base_tests + additional-bazel-args: >- + --test_arg=--gtest_filter=-WorkerThread.TheReturnedFutureFromEnqueueShouldBeReadyBeforeTheWorkerStarts run-gfxstream-cmake-build: runs-on: ubuntu-22.04 diff --git a/.github/workflows/presubmit_bazel.yml b/.github/workflows/presubmit_bazel.yml index 004befec5..108519afe 100644 --- a/.github/workflows/presubmit_bazel.yml +++ b/.github/workflows/presubmit_bazel.yml @@ -13,6 +13,12 @@ on: type: string default: '' + # Cache configuration identifier used to isolate incompatible build + # configurations (e.g. 'default' vs 'asan') into separate cache keys: + cache-config: + type: string + default: 'default' + # Which targets to build. Defaults to everything, but platforms that can # not build the full target graph (e.g. macOS, which lacks the Linux-only # mesa/libdrm/guest dependencies) can override this with a curated list. @@ -25,6 +31,18 @@ on: type: boolean default: true + # Which tests to run. Defaults to the full suite; platforms that can only + # build part of the target graph can override this with a curated list. + test-targets: + type: string + default: >- + host:gfxstream_framebuffer_tests + host/vulkan:gfxstream_compositorvk_tests + host/vulkan:gfxstream_emulatedphysicalmemory_tests + host/vulkan:vk_common_operations_tests + host/vulkan:vk_format_utils_tests + tests/end2end:gfxstream_end2end_tests + permissions: contents: read @@ -68,11 +86,11 @@ jobs: uses: actions/cache/restore@caa296126883cff596d87d8935842f9db880ef25 # v5.1.0 with: path: "~/bazel-disk-cache" - key: ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name, github.sha) }} + key: ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-{5}-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config, github.ref_name, github.sha) }} restore-keys: | - ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-', runner.os, runner.arch, env.CACHE_VERSION, github.ref_name) || '' }} - ${{ format('{0}-{1}-bazel-disk-cache-{2}-main-', runner.os, runner.arch, env.CACHE_VERSION) || '' }} - ${{ format('{0}-{1}-bazel-disk-cache-{2}-', runner.os, runner.arch, env.CACHE_VERSION) || '' }} + ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-{4}-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config, github.ref_name) || '' }} + ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-main-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config) || '' }} + ${{ format('{0}-{1}-bazel-disk-cache-{2}-{3}-', runner.os, runner.arch, env.CACHE_VERSION, inputs.cache-config) || '' }} - name: Build # Workflow inputs reach the script through the environment rather than @@ -91,16 +109,11 @@ jobs: - name: Test if: ${{ inputs.run-tests }} env: + TEST_TARGETS: ${{ inputs.test-targets }} ADDITIONAL_BAZEL_ARGS: ${{ inputs.additional-bazel-args }} run: | - bazel test \ + bazel test $TEST_TARGETS \ --disk_cache=$HOME/bazel-disk-cache \ --test_output=streamed \ --verbose_failures \ - host:gfxstream_framebuffer_tests \ - host/vulkan:gfxstream_compositorvk_tests \ - host/vulkan:gfxstream_emulatedphysicalmemory_tests \ - host/vulkan:vk_common_operations_tests \ - host/vulkan:vk_format_utils_tests \ - tests/end2end:gfxstream_end2end_tests \ $ADDITIONAL_BAZEL_ARGS diff --git a/codegen/renderControl/renderControl.attrib b/codegen/renderControl/renderControl.attrib index f4803e967..51f28f748 100644 --- a/codegen/renderControl/renderControl.attrib +++ b/codegen/renderControl/renderControl.attrib @@ -130,4 +130,8 @@ rcGetDisplayColorTransform flag server_add_size_param_for_buffers rcSetDisplayColorTransform - flag server_add_size_param_for_buffers \ No newline at end of file + flag server_add_size_param_for_buffers + +rcGetDisplayPowerMode + dir mode out + len mode sizeof(uint32_t) \ No newline at end of file diff --git a/codegen/renderControl/renderControl.in b/codegen/renderControl/renderControl.in index 0d5465ca1..61dbf0feb 100644 --- a/codegen/renderControl/renderControl.in +++ b/codegen/renderControl/renderControl.in @@ -70,3 +70,5 @@ GL_ENTRY(void, rcSetProcessMetadata, char* key, RenderControlByte* valuePtr, uin GL_ENTRY(int, rcGetHostExtensionsString, uint32_t bufferSize, void *buffer); GL_ENTRY(int, rcGetDisplayColorTransform, uint32_t displayId, mat4x4_ptr outColorTransformMatrix); GL_ENTRY(int, rcSetDisplayColorTransform, uint32_t displayId, const mat4x4_ptr colorTransformMatrix); +GL_ENTRY(int, rcSetDisplayPowerMode, uint32_t displayId, uint32_t mode); +GL_ENTRY(int, rcGetDisplayPowerMode, uint32_t displayId, uint32_t* mode); diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index d0f61be81..a37407de0 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -15,6 +15,7 @@ add_subdirectory(logging) add_subdirectory(base) +add_subdirectory(build_info) add_subdirectory(detector) add_subdirectory(etc) add_subdirectory(image) diff --git a/common/base/SharedMemory_posix.cpp b/common/base/SharedMemory_posix.cpp index efd971c4a..40cf525f3 100644 --- a/common/base/SharedMemory_posix.cpp +++ b/common/base/SharedMemory_posix.cpp @@ -115,7 +115,15 @@ int SharedMemory::openInternal(int oflag, int mode, bool doMapping) { struct stat sb; if (mShareType == ShareType::SHARED_MEMORY) { #if defined(__APPLE__) - mFd = ::shm_open(mName.c_str(), oflag, mode); + // An object left behind by a dead process cannot be resized, and one another process + // still uses must not be shared by accident: create fresh, replacing whatever has the + // name. Its owner, if any, keeps it through its descriptor. + const int createFlags = (oflag & O_CREAT) ? (oflag | O_EXCL) : oflag; + mFd = ::shm_open(mName.c_str(), createFlags, mode); + if (mFd == -1 && errno == EEXIST && (oflag & O_CREAT)) { + shm_unlink(mName.c_str()); + mFd = ::shm_open(mName.c_str(), createFlags, mode); + } #elif defined(HAVE_MEMFD_CREATE) mFd = memfd_create(mName.c_str(), MFD_CLOEXEC | MFD_ALLOW_SEALING); #else diff --git a/common/base/include/gfxstream/system/system-native-mac.mm b/common/base/include/gfxstream/system/system-native-mac.mm index 289baaa2b..0eedf5c7d 100644 --- a/common/base/include/gfxstream/system/system-native-mac.mm +++ b/common/base/include/gfxstream/system/system-native-mac.mm @@ -76,7 +76,7 @@ void cpuUsageCurrentThread_macImpl( info.system_time.seconds * 1000000ULL + info.system_time.microseconds; } else { - dwarning("%s: could not get thread info for CPU usage", __func__); + GFXSTREAM_WARNING("%s: could not get thread info for CPU usage", __func__); } mach_port_deallocate(mach_task_self(), thread); diff --git a/common/build_info/Android.bp b/common/build_info/Android.bp new file mode 100644 index 000000000..ef9679116 --- /dev/null +++ b/common/build_info/Android.bp @@ -0,0 +1,58 @@ +// Copyright 2026 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package { + default_applicable_licenses: ["hardware_google_gfxstream_license"], +} + +cc_library_headers { + name: "libgfxstream_common_build_info_headers", + defaults: ["gfxstream_host_cc_defaults"], + vendor_available: true, + host_supported: true, + export_include_dirs: [ + "include", + ], + apex_available: [ + "//apex_available:platform", + "com.android.virt", + ], +} + +cc_library_static { + name: "libgfxstream_common_build_info", + defaults: ["gfxstream_host_cc_defaults"], + vendor_available: true, + host_supported: true, + header_libs: [ + "libgfxstream_common_build_info_headers", + ], + export_header_lib_headers: [ + "libgfxstream_common_build_info_headers", + ], + srcs: [ + "build_info.cpp", + ], + apex_available: [ + "//apex_available:platform", + "com.android.virt", + ], + static_libs: [ + "libbuildversion", + ], + use_version_lib: true, + cflags: [ + "-DGFXSTREAM_BUILD_INFO_USE_ANDROID_LIBBUILDVERSION=1", + ], +} diff --git a/common/build_info/BUILD.bazel b/common/build_info/BUILD.bazel new file mode 100644 index 000000000..d011c9708 --- /dev/null +++ b/common/build_info/BUILD.bazel @@ -0,0 +1,21 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") +load("//:build_variables.bzl", "GFXSTREAM_HOST_COPTS", "GFXSTREAM_HOST_DEFINES", "GFXSTREAM_HOST_LINKOPTS") + +package( + default_applicable_licenses = ["//:gfxstream_license"], + default_visibility = ["//:gfxstream"], +) + +cc_library( + name = "gfxstream_common_build_info", + srcs = ["build_info.cpp"], + hdrs = glob(["include/**/*.h"]), + copts = GFXSTREAM_HOST_COPTS, + defines = GFXSTREAM_HOST_DEFINES, + includes = ["include"], + linkopts = GFXSTREAM_HOST_LINKOPTS, + local_defines = [ + "GFXSTREAM_BUILD_INFO_USE_CUSTOM_STRING=1", + "GFXSTREAM_BUILD_INFO_CUSTOM_STRING_VALUE=\"\\\"Bazel Build\\\"\"", + ], +) diff --git a/common/build_info/CMakeLists.txt b/common/build_info/CMakeLists.txt new file mode 100644 index 000000000..9b376abaa --- /dev/null +++ b/common/build_info/CMakeLists.txt @@ -0,0 +1,35 @@ +# Copyright 2026 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +add_library( + gfxstream_common_build_info_headers + INTERFACE) +target_include_directories( + gfxstream_common_build_info_headers + INTERFACE + include) + +add_library( + gfxstream_common_build_info + STATIC + build_info.cpp) +target_link_libraries( + gfxstream_common_build_info + PUBLIC + gfxstream_common_build_info_headers) +target_compile_definitions( + gfxstream_common_build_info + PRIVATE + GFXSTREAM_BUILD_INFO_USE_CUSTOM_STRING=1 + "GFXSTREAM_BUILD_INFO_CUSTOM_STRING_VALUE=\"CMake Build\"") \ No newline at end of file diff --git a/common/build_info/build_info.cpp b/common/build_info/build_info.cpp new file mode 100644 index 000000000..7eaeabf06 --- /dev/null +++ b/common/build_info/build_info.cpp @@ -0,0 +1,39 @@ +// Copyright 2026 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "gfxstream/common/build_info.h" + +#include + +#if defined(GFXSTREAM_BUILD_INFO_USE_ANDROID_LIBBUILDVERSION) +#include +#elif defined(GFXSTREAM_BUILD_INFO_USE_CUSTOM_LIBRARY) +GFXSTREAM_BUILD_INFO_USE_LIBRARY_INCLUDE_PLACEHOLDER +#endif + +namespace gfxstream { + +std::string GetGfxstreamBuildId() { +#if defined(GFXSTREAM_BUILD_INFO_USE_ANDROID_LIBBUILDVERSION) + return std::string("Android Build ") + android::build::GetBuildNumber(); +#elif defined(GFXSTREAM_BUILD_INFO_USE_CUSTOM_LIBRARY) + GFXSTREAM_BUILD_INFO_USE_LIBRARY_IMPL_PLACEHOLDER +#elif defined(GFXSTREAM_BUILD_INFO_USE_CUSTOM_STRING) + return GFXSTREAM_BUILD_INFO_CUSTOM_STRING_VALUE; +#else + return "UNKNOWN"; +#endif +} + +} // namespace gfxstream diff --git a/common/build_info/include/gfxstream/common/build_info.h b/common/build_info/include/gfxstream/common/build_info.h new file mode 100644 index 000000000..fee8983f5 --- /dev/null +++ b/common/build_info/include/gfxstream/common/build_info.h @@ -0,0 +1,23 @@ +// Copyright 2026 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include + +namespace gfxstream { + +std::string GetGfxstreamBuildId(); + +} // namespace gfxstream diff --git a/common/build_info/meson.build b/common/build_info/meson.build new file mode 100644 index 000000000..2d945f204 --- /dev/null +++ b/common/build_info/meson.build @@ -0,0 +1,18 @@ +# Copyright 2026 Android Open Source Project +# SPDX-License-Identifier: Apache-2.0 + +inc_common_build_info = include_directories('include') + +files_lib_common_build_info = files( + 'build_info.cpp', +) + +lib_common_build_info = static_library( + 'common_build_info', + files_lib_common_build_info, + include_directories: [inc_common_build_info], + cpp_args: [ + '-DGFXSTREAM_BUILD_INFO_USE_CUSTOM_STRING=1', + '-DGFXSTREAM_BUILD_INFO_CUSTOM_STRING_VALUE="Meson Build"', + ] +) diff --git a/common/detector/Vulkan.cpp b/common/detector/Vulkan.cpp index 06af36f82..ed634b4af 100644 --- a/common/detector/Vulkan.cpp +++ b/common/detector/Vulkan.cpp @@ -334,7 +334,7 @@ gfxstream::expected Vk::CreateImage( }; auto imageMemory = VK_EXPECT_RV(mDevice->allocateMemoryUnique(imageMemoryAllocateInfo)); - mDevice->bindImageMemory(*image, *imageMemory, 0); + VK_EXPECT_RESULT(mDevice->bindImageMemory(*image, *imageMemory, 0)); const vkhpp::ImageViewCreateInfo imageViewCreateInfo = { .image = *image, @@ -582,7 +582,7 @@ gfxstream::expected Vk::CreateYuvImage( }; auto imageMemory = VK_EXPECT_RV(mDevice->allocateMemoryUnique(imageMemoryAllocateInfo)); - mDevice->bindImageMemory(*image, *imageMemory, 0); + VK_EXPECT_RESULT(mDevice->bindImageMemory(*image, *imageMemory, 0)); const vkhpp::ImageViewCreateInfo imageViewCreateInfo = { .pNext = &samplerConversionInfo, @@ -954,9 +954,9 @@ vkhpp::Result Vk::DoCommandsImmediate( const vkhpp::CommandBufferBeginInfo commandBufferBeginInfo = { .flags = vkhpp::CommandBufferUsageFlagBits::eOneTimeSubmit, }; - commandBuffer->begin(commandBufferBeginInfo); + VK_TRY(commandBuffer->begin(commandBufferBeginInfo)); VK_TRY(func(commandBuffer)); - commandBuffer->end(); + VK_TRY(commandBuffer->end()); std::vector commandBufferHandles; commandBufferHandles.push_back(*commandBuffer); @@ -985,8 +985,8 @@ vkhpp::Result Vk::DoCommandsImmediate( submitInfo.signalSemaphoreCount = static_cast(semaphoreHandlesSignal.size()); submitInfo.pSignalSemaphores = semaphoreHandlesSignal.data(); } - mQueue.submit(submitInfo); - mQueue.waitIdle(); + VK_TRY(mQueue.submit(submitInfo)); + VK_TRY(mQueue.waitIdle()); return vkhpp::Result::eSuccess; } diff --git a/common/detector/Vulkan.h b/common/detector/Vulkan.h index 64ebea66f..2e36b6f8b 100644 --- a/common/detector/Vulkan.h +++ b/common/detector/Vulkan.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #define VULKAN_HPP_NAMESPACE vkhpp @@ -26,7 +27,7 @@ #define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1 #define VULKAN_HPP_NO_CONSTRUCTORS #define VULKAN_HPP_NO_EXCEPTIONS -#define VULKAN_HPP_ASSERT_ON_RESULT +#define VULKAN_HPP_ASSERT_ON_RESULT(x) (std::ignore = (x)) #include #include diff --git a/common/meson.build b/common/meson.build index d5bffc88b..bb6a97459 100644 --- a/common/meson.build +++ b/common/meson.build @@ -4,6 +4,7 @@ subdir('logging') subdir('base') +subdir('build_info') subdir('etc') subdir('testenv') subdir('utils') diff --git a/guest/GLESv2_enc/GL2Encoder.cpp b/guest/GLESv2_enc/GL2Encoder.cpp index 6fdeea0db..786bff3ad 100644 --- a/guest/GLESv2_enc/GL2Encoder.cpp +++ b/guest/GLESv2_enc/GL2Encoder.cpp @@ -4271,11 +4271,13 @@ void GL2Encoder::s_glFramebufferTextureLayer(void* self, GLenum target, GLenum a GL_INVALID_OPERATION); state->attachTextureObject(target, attachment, texture, level, layer); - GLint max3DTextureSize; - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max3DTextureSize); - SET_ERROR_IF( - layer >= max3DTextureSize, - GL_INVALID_VALUE); + if (lastBoundTarget == GL_TEXTURE_3D) { + GLint max3DTextureSize; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max3DTextureSize); + SET_ERROR_IF( + layer >= max3DTextureSize, + GL_INVALID_VALUE); + } ctx->m_glFramebufferTextureLayer_enc(self, target, attachment, texture, level, layer); } @@ -4412,26 +4414,25 @@ void GL2Encoder::s_glTexImage3D(void* self, GLenum target, GLint level, GLint in SET_ERROR_IF(ctx->isBufferTargetMapped(GL_PIXEL_UNPACK_BUFFER), GL_INVALID_OPERATION); GLint max_texture_size; - GLint max_3d_texture_size; ctx->glGetIntegerv(ctx, GL_MAX_TEXTURE_SIZE, &max_texture_size); - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); SET_ERROR_IF(level < 0, GL_INVALID_VALUE); SET_ERROR_IF(level > ilog2(max_texture_size), GL_INVALID_VALUE); - SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); SET_ERROR_IF(width < 0 || height < 0 || depth < 0, GL_INVALID_VALUE); SET_ERROR_IF(width > max_texture_size, GL_INVALID_VALUE); SET_ERROR_IF(height > max_texture_size, GL_INVALID_VALUE); if (target == GL_TEXTURE_3D) { - SET_ERROR_IF(depth > max_texture_size, GL_INVALID_VALUE); + GLint max_3d_texture_size; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); + SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + SET_ERROR_IF(width > max_3d_texture_size, GL_INVALID_VALUE); + SET_ERROR_IF(height > max_3d_texture_size, GL_INVALID_VALUE); + SET_ERROR_IF(depth > max_3d_texture_size, GL_INVALID_VALUE); } else { GLint maxArrayTextureLayers; ctx->glGetIntegerv(ctx, GL_MAX_ARRAY_TEXTURE_LAYERS, &maxArrayTextureLayers); SET_ERROR_IF(depth > maxArrayTextureLayers, GL_INVALID_VALUE); } - SET_ERROR_IF(width > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(height > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(depth > max_3d_texture_size, GL_INVALID_VALUE); SET_ERROR_IF(border != 0, GL_INVALID_VALUE); // If unpack buffer is nonzero, verify buffer data fits and is evenly divisible by the type. SET_ERROR_IF(ctx->boundBuffer(GL_PIXEL_UNPACK_BUFFER) && @@ -4476,12 +4477,14 @@ void GL2Encoder::s_glTexSubImage3D(void* self, GLenum target, GLint level, GLint // If unpack buffer is nonzero, verify unmapped state. SET_ERROR_IF(ctx->isBufferTargetMapped(GL_PIXEL_UNPACK_BUFFER), GL_INVALID_OPERATION); GLint max_texture_size; - GLint max_3d_texture_size; ctx->glGetIntegerv(ctx, GL_MAX_TEXTURE_SIZE, &max_texture_size); - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); SET_ERROR_IF(level < 0, GL_INVALID_VALUE); SET_ERROR_IF(level > ilog2(max_texture_size), GL_INVALID_VALUE); - SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + if (target == GL_TEXTURE_3D) { + GLint max_3d_texture_size; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); + SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + } SET_ERROR_IF(width < 0 || height < 0 || depth < 0, GL_INVALID_VALUE); SET_ERROR_IF(xoffset < 0 || yoffset < 0 || zoffset < 0, GL_INVALID_VALUE); GLuint tex = state->getBoundTexture(target); @@ -4538,26 +4541,25 @@ void GL2Encoder::s_glCompressedTexImage3D(void* self, GLenum target, GLint level SET_ERROR_IF(border, GL_INVALID_VALUE); GLint max_texture_size; - GLint max_3d_texture_size; ctx->glGetIntegerv(ctx, GL_MAX_TEXTURE_SIZE, &max_texture_size); - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); SET_ERROR_IF(level < 0, GL_INVALID_VALUE); SET_ERROR_IF(level > ilog2(max_texture_size), GL_INVALID_VALUE); - SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); SET_ERROR_IF(width < 0 || height < 0 || depth < 0, GL_INVALID_VALUE); SET_ERROR_IF(width > max_texture_size, GL_INVALID_VALUE); SET_ERROR_IF(height > max_texture_size, GL_INVALID_VALUE); if (target == GL_TEXTURE_3D) { - SET_ERROR_IF(depth > max_texture_size, GL_INVALID_VALUE); + GLint max_3d_texture_size; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); + SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + SET_ERROR_IF(width > max_3d_texture_size, GL_INVALID_VALUE); + SET_ERROR_IF(height > max_3d_texture_size, GL_INVALID_VALUE); + SET_ERROR_IF(depth > max_3d_texture_size, GL_INVALID_VALUE); } else { GLint maxArrayTextureLayers; ctx->glGetIntegerv(ctx, GL_MAX_ARRAY_TEXTURE_LAYERS, &maxArrayTextureLayers); SET_ERROR_IF(depth > maxArrayTextureLayers, GL_INVALID_VALUE); } - SET_ERROR_IF(width > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(height > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(depth > max_3d_texture_size, GL_INVALID_VALUE); SET_ERROR_IF(GLESTextureUtils::isAstcFormat(internalformat) && GL_TEXTURE_3D == target, GL_INVALID_OPERATION); // If unpack buffer is nonzero, verify buffer data fits. @@ -4598,12 +4600,14 @@ void GL2Encoder::s_glCompressedTexSubImage3D(void* self, GLenum target, GLint le SET_ERROR_IF(xoffset < 0 || yoffset < 0 || zoffset < 0, GL_INVALID_VALUE); GLint max_texture_size; - GLint max_3d_texture_size; ctx->glGetIntegerv(ctx, GL_MAX_TEXTURE_SIZE, &max_texture_size); - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); SET_ERROR_IF(level < 0, GL_INVALID_VALUE); SET_ERROR_IF(level > ilog2(max_texture_size), GL_INVALID_VALUE); - SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + if (target == GL_TEXTURE_3D) { + GLint max_3d_texture_size; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); + SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + } SET_ERROR_IF(width < 0 || height < 0 || depth < 0, GL_INVALID_VALUE); SET_ERROR_IF(xoffset < 0 || yoffset < 0 || zoffset < 0, GL_INVALID_VALUE); GLenum stateTarget = target; @@ -4669,23 +4673,21 @@ void GL2Encoder::s_glTexStorage3D(void* self, GLenum target, GLsizei levels, GLe SET_ERROR_IF(!state->getBoundTexture(target), GL_INVALID_OPERATION); SET_ERROR_IF(levels < 1 || width < 1 || height < 1 || depth < 1, GL_INVALID_VALUE); GLint max_texture_size; - GLint max_3d_texture_size; ctx->glGetIntegerv(ctx, GL_MAX_TEXTURE_SIZE, &max_texture_size); - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); SET_ERROR_IF(width > max_texture_size, GL_INVALID_VALUE); SET_ERROR_IF(height > max_texture_size, GL_INVALID_VALUE); if (target == GL_TEXTURE_3D) { - SET_ERROR_IF(depth > max_texture_size, GL_INVALID_VALUE); + GLint max_3d_texture_size; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); + SET_ERROR_IF(width > max_3d_texture_size, GL_INVALID_VALUE); + SET_ERROR_IF(height > max_3d_texture_size, GL_INVALID_VALUE); + SET_ERROR_IF(depth > max_3d_texture_size, GL_INVALID_VALUE); } else { GLint maxArrayTextureLayers; ctx->glGetIntegerv(ctx, GL_MAX_ARRAY_TEXTURE_LAYERS, &maxArrayTextureLayers); SET_ERROR_IF(depth > maxArrayTextureLayers, GL_INVALID_VALUE); } - SET_ERROR_IF(width > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(height > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(depth > max_3d_texture_size, GL_INVALID_VALUE); - SET_ERROR_IF(GLESTextureUtils::isAstcFormat(internalformat) && GL_TEXTURE_3D == target, GL_INVALID_OPERATION); SET_ERROR_IF(target == GL_TEXTURE_3D && (levels > ilog2((uint32_t)std::max(width, std::max(height, depth))) + 1), @@ -6418,12 +6420,14 @@ void GL2Encoder::s_glCopyTexSubImage3D(void *self , GLenum target, GLint level, target != GL_TEXTURE_2D_ARRAY, GL_INVALID_ENUM); GLint max_texture_size; - GLint max_3d_texture_size; ctx->glGetIntegerv(ctx, GL_MAX_TEXTURE_SIZE, &max_texture_size); - ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); SET_ERROR_IF(level < 0, GL_INVALID_VALUE); SET_ERROR_IF(level > ilog2(max_texture_size), GL_INVALID_VALUE); - SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + if (target == GL_TEXTURE_3D) { + GLint max_3d_texture_size; + ctx->glGetIntegerv(ctx, GL_MAX_3D_TEXTURE_SIZE, &max_3d_texture_size); + SET_ERROR_IF(level > ilog2(max_3d_texture_size), GL_INVALID_VALUE); + } SET_ERROR_IF(width < 0 || height < 0, GL_INVALID_VALUE); SET_ERROR_IF(xoffset < 0 || yoffset < 0 || zoffset < 0, GL_INVALID_VALUE); GLuint tex = ctx->m_state->getBoundTexture(target); diff --git a/guest/OpenglSystemCommon/HostConnection.cpp b/guest/OpenglSystemCommon/HostConnection.cpp index 18d472196..a912a75ba 100644 --- a/guest/OpenglSystemCommon/HostConnection.cpp +++ b/guest/OpenglSystemCommon/HostConnection.cpp @@ -353,6 +353,7 @@ ExtendedRCEncoderContext *HostConnection::rcEncoder() rcEnc->queryAndSetReadColorBufferDma(); rcEnc->queryAndSetHWCMultiConfigs(); rcEnc->queryAndSetHWCColorTransform(); + rcEnc->queryAndSetHWCPowerDisplayModeSupport(); rcEnc->queryAndSetVulkanAuxCommandBufferMemory(); rcEnc->queryVersion(); diff --git a/guest/egl/ClientAPIExts.cpp b/guest/egl/ClientAPIExts.cpp index 40644e74c..9fa31dad9 100644 --- a/guest/egl/ClientAPIExts.cpp +++ b/guest/egl/ClientAPIExts.cpp @@ -23,7 +23,7 @@ namespace ClientAPIExts { // -// define function pointer type for each extention function +// define function pointer type for each extension function // typename has the form __egl_{funcname}_t // #define FUNC_TYPE(fname) __egl_ ## fname ## _t @@ -60,7 +60,7 @@ static struct _ext_table // // This function initialized each entry in the s_client_extensions -// struct at the givven index using the givven client interface +// struct at the given index using the given client interface // void initClientFuncs(const EGLClient_glesInterface *iface, int idx) { @@ -112,7 +112,7 @@ void initClientFuncs(const EGLClient_glesInterface *iface, int idx) if (!thread->currentContext) { \ return (rtype)0; \ } \ - int idx = (int)thread->currentContext->majorVersion - 1; \ + int idx = thread->currentContext->majorVersion == 1 ? 0 : 1; \ if (!s_client_extensions[idx].fname) { \ return (rtype)0; \ } \ @@ -145,7 +145,7 @@ static const int numExtFuncs = sizeof(s_client_ext_funcs) / #undef API_ENTRY_RET // -// returns the __egl_ version of the givven extension function name. +// returns the __egl_ version of the given extension function name. // void* getProcAddress(const char *fname) { diff --git a/guest/egl/egl.cpp b/guest/egl/egl.cpp index a5f0a0e72..3909b95e3 100644 --- a/guest/egl/egl.cpp +++ b/guest/egl/egl.cpp @@ -654,10 +654,9 @@ static uint64_t createNativeSync_virtioGpu( GFXSTREAM_ERROR("Failed to execbuffer to create sync."); return 0; } - *fd_out = exec.handle.osHandle + *fd_out = exec.handle.osHandle; - DPRINT("virtio-gpu: got native fence fd=%d queue_work_err=%d", - *fd_out, queue_work_err); + DPRINT("virtio-gpu: got native fence fd=%d", *fd_out); } return sync_handle; @@ -1812,7 +1811,7 @@ EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_c } break; default: - GFXSTREAM_ERROR("%s:%d EGL_BAD_CONFIG: invalid major GLES version: %d", majorVersion); + GFXSTREAM_ERROR("EGL_BAD_CONFIG: invalid major GLES version: %d", majorVersion); setErrorReturn(EGL_BAD_CONFIG, EGL_NO_CONTEXT); } diff --git a/guest/egl/eglDisplay.cpp b/guest/egl/eglDisplay.cpp index 4607b10dc..c1cf1165c 100644 --- a/guest/egl/eglDisplay.cpp +++ b/guest/egl/eglDisplay.cpp @@ -139,7 +139,7 @@ bool eglDisplay::initialize(EGLClient_eglInterface *eglIface) } // - // Query host reneder and EGL version + // Query host renderer and EGL version // m_hostRendererVersion = rcEnc->rcGetRendererVersion(rcEnc); EGLint status = rcEnc->rcGetEGLVersion(rcEnc, &m_major, &m_minor); @@ -150,7 +150,7 @@ bool eglDisplay::initialize(EGLClient_eglInterface *eglIface) } // - // Take minimum version beween what we support and what the host support + // Take minimum version between what we support and what the host support // if (m_major > systemEGLVersionMajor) { m_major = systemEGLVersionMajor; @@ -495,7 +495,7 @@ EGLBoolean eglDisplay::getConfigAttrib(EGLConfig config, EGLint attrib, EGLint * *value = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT; return EGL_TRUE; } - //Though it seems that valueFor() is thread-safe, we don't take chanses + //Though it seems that valueFor() is thread-safe, we don't take chances pthread_mutex_lock(&m_lock); EGLBoolean ret = getAttribValue( @@ -531,7 +531,7 @@ EGLBoolean eglDisplay::setAttribValue(EGLConfig config, EGLint attribIdx, EGLint EGLBoolean eglDisplay::setConfigAttrib(EGLConfig config, EGLint attrib, EGLint value) { - //Though it seems that valueFor() is thread-safe, we don't take chanses + //Though it seems that valueFor() is thread-safe, we don't take chances pthread_mutex_lock(&m_lock); EGLBoolean ret = setAttribValue( diff --git a/guest/egl/eglDisplay.h b/guest/egl/eglDisplay.h index 953502747..1fc0dc82a 100644 --- a/guest/egl/eglDisplay.h +++ b/guest/egl/eglDisplay.h @@ -75,7 +75,7 @@ class eglDisplay void onDestroySurface(EGLSurface surface); bool isContext(EGLContext ctx); - bool isSurface(EGLSurface ctx); + bool isSurface(EGLSurface surface); // Needs a current context (put this near eglMakeCurrent) HostDriverCaps getHostDriverCaps(int majorVersion, int minorVersion); @@ -84,8 +84,8 @@ class eglDisplay EGLClient_glesInterface *loadGLESClientAPI(const char *libName, EGLClient_eglInterface *eglIface, void **libHandle); - EGLBoolean getAttribValue(EGLConfig config, EGLint attribIdxi, EGLint * value); - EGLBoolean setAttribValue(EGLConfig config, EGLint attribIdxi, EGLint value); + EGLBoolean getAttribValue(EGLConfig config, EGLint attribIdx, EGLint * value); + EGLBoolean setAttribValue(EGLConfig config, EGLint attribIdx, EGLint value); void processConfigs(); private: @@ -99,7 +99,7 @@ class eglDisplay /* This is the mapping between an attribute name to it's index in any given config */ std::map m_attribs; - /* This is an array of all config's attributes values stored in the following sequencial fasion (read: v[c,a] = the value of attribute of config ) + /* This is an array of all config's attributes values stored in the following sequential fashion (read: v[c,a] = the value of attribute of config ) * v[0,0],..,v[0,m_numConfigAttribs-1], *... * v[m_numConfigs-1,0],..,v[m_numConfigs-1,m_numConfigAttribs-1] diff --git a/guest/renderControl_enc/EmulatorFeatureInfo.h b/guest/renderControl_enc/EmulatorFeatureInfo.h index 3e3e098fb..07552ec49 100644 --- a/guest/renderControl_enc/EmulatorFeatureInfo.h +++ b/guest/renderControl_enc/EmulatorFeatureInfo.h @@ -144,6 +144,8 @@ static const char kHWCMultiConfigs[] = "ANDROID_EMU_hwc_multi_configs"; // HWC color transform support static const char kHWCColorTransform[] = "ANDROID_EMU_hwc_color_transform"; +static const char kHWCDisplayPowerMode[] = "ANDROID_EMU_hwc_display_power_mode"; + // Vulkan auxiliary command memory static const char kVulkanAuxCommandMemory[] = "ANDROID_EMU_vulkan_aux_command_memory"; @@ -178,6 +180,7 @@ struct EmulatorFeatureInfo { hasReadColorBufferDma(false), hasHWCMultiConfigs(false), hasHWCColorTransform(false), + hasHWCDisplayPowerMode(false), hasVulkanAuxCommandMemory(false) { } @@ -208,6 +211,7 @@ struct EmulatorFeatureInfo { bool hasReadColorBufferDma; bool hasHWCMultiConfigs; bool hasHWCColorTransform; + bool hasHWCDisplayPowerMode; bool hasVulkanAuxCommandMemory; // This feature tracks if vulkan command buffers should be stored in an auxiliary shared memory }; diff --git a/guest/renderControl_enc/ExtendedRenderControl.cpp b/guest/renderControl_enc/ExtendedRenderControl.cpp index 973384803..7089361a6 100644 --- a/guest/renderControl_enc/ExtendedRenderControl.cpp +++ b/guest/renderControl_enc/ExtendedRenderControl.cpp @@ -292,6 +292,13 @@ void ExtendedRCEncoderContext::queryAndSetHWCColorTransform() { } } +void ExtendedRCEncoderContext::queryAndSetHWCPowerDisplayModeSupport() { + std::string hostExtensions = queryHostExtensions(); + if (hostExtensions.find(kHWCDisplayPowerMode) != std::string::npos) { + this->featureInfo()->hasHWCDisplayPowerMode = true; + } +} + void ExtendedRCEncoderContext::queryAndSetVulkanAuxCommandBufferMemory() { std::string hostExtensions = queryHostExtensions(); this->featureInfo()->hasVulkanAuxCommandMemory = diff --git a/guest/renderControl_enc/ExtendedRenderControl.h b/guest/renderControl_enc/ExtendedRenderControl.h index 0063f82c1..53ef26f83 100644 --- a/guest/renderControl_enc/ExtendedRenderControl.h +++ b/guest/renderControl_enc/ExtendedRenderControl.h @@ -53,6 +53,7 @@ class ExtendedRCEncoderContext : public renderControl_encoder_context_t { bool hasSyncBufferData() const { return m_featureInfo.hasSyncBufferData; } bool hasHWCMultiConfigs() const { return m_featureInfo.hasHWCMultiConfigs; } bool hasHWCColorTransform() const { return m_featureInfo.hasHWCColorTransform; } + bool hasHWCDisplayPowerMode() const { return m_featureInfo.hasHWCDisplayPowerMode; } void bindDmaDirectly(void* dmaPtr, uint64_t dmaPhysAddr) { m_dmaPtr = dmaPtr; m_dmaPhysAddr = dmaPhysAddr; @@ -97,6 +98,7 @@ class ExtendedRCEncoderContext : public renderControl_encoder_context_t { void queryAndSetReadColorBufferDma(); void queryAndSetHWCMultiConfigs(); void queryAndSetHWCColorTransform(); + void queryAndSetHWCPowerDisplayModeSupport(); void queryAndSetVulkanAuxCommandBufferMemory(); GLint queryVersion(); void setVulkanFeatureInfo(void* info); diff --git a/guest/renderControl_enc/GfxStreamRenderControl.cpp b/guest/renderControl_enc/GfxStreamRenderControl.cpp index b85f1eac3..040823ff6 100644 --- a/guest/renderControl_enc/GfxStreamRenderControl.cpp +++ b/guest/renderControl_enc/GfxStreamRenderControl.cpp @@ -115,6 +115,7 @@ int32_t renderControlInit(GfxStreamConnectionManager* mgr, void* vkInfo) { rcEnc->queryAndSetReadColorBufferDma(); rcEnc->queryAndSetHWCMultiConfigs(); rcEnc->queryAndSetHWCColorTransform(); + rcEnc->queryAndSetHWCPowerDisplayModeSupport(); rcEnc->queryAndSetVulkanAuxCommandBufferMemory(); rcEnc->queryVersion(); diff --git a/guest/renderControl_enc/renderControl_client_context.cpp b/guest/renderControl_enc/renderControl_client_context.cpp index a6ed801db..7cfab5ae0 100644 --- a/guest/renderControl_enc/renderControl_client_context.cpp +++ b/guest/renderControl_enc/renderControl_client_context.cpp @@ -96,6 +96,8 @@ int renderControl_client_context_t::initDispatchByName(void *(*getProc)(const ch rcGetHostExtensionsString = (rcGetHostExtensionsString_client_proc_t) getProc("rcGetHostExtensionsString", userData); rcGetDisplayColorTransform = (rcGetDisplayColorTransform_client_proc_t) getProc("rcGetDisplayColorTransform", userData); rcSetDisplayColorTransform = (rcSetDisplayColorTransform_client_proc_t) getProc("rcSetDisplayColorTransform", userData); + rcSetDisplayPowerMode = (rcSetDisplayPowerMode_client_proc_t) getProc("rcSetDisplayPowerMode", userData); + rcGetDisplayPowerMode = (rcGetDisplayPowerMode_client_proc_t) getProc("rcGetDisplayPowerMode", userData); return 0; } diff --git a/guest/renderControl_enc/renderControl_client_context.h b/guest/renderControl_enc/renderControl_client_context.h index b47761d2f..aee079859 100644 --- a/guest/renderControl_enc/renderControl_client_context.h +++ b/guest/renderControl_enc/renderControl_client_context.h @@ -96,6 +96,8 @@ struct renderControl_client_context_t { rcGetHostExtensionsString_client_proc_t rcGetHostExtensionsString; rcGetDisplayColorTransform_client_proc_t rcGetDisplayColorTransform; rcSetDisplayColorTransform_client_proc_t rcSetDisplayColorTransform; + rcSetDisplayPowerMode_client_proc_t rcSetDisplayPowerMode; + rcGetDisplayPowerMode_client_proc_t rcGetDisplayPowerMode; virtual ~renderControl_client_context_t() {} typedef renderControl_client_context_t *CONTEXT_ACCESSOR_TYPE(void); diff --git a/guest/renderControl_enc/renderControl_client_proc.h b/guest/renderControl_enc/renderControl_client_proc.h index a01caa2a8..a4669180d 100644 --- a/guest/renderControl_enc/renderControl_client_proc.h +++ b/guest/renderControl_enc/renderControl_client_proc.h @@ -98,6 +98,8 @@ typedef void (renderControl_APIENTRY *rcSetProcessMetadata_client_proc_t) (void typedef int (renderControl_APIENTRY *rcGetHostExtensionsString_client_proc_t) (void * ctx, uint32_t, void*); typedef int (renderControl_APIENTRY *rcGetDisplayColorTransform_client_proc_t) (void * ctx, uint32_t, mat4x4_ptr); typedef int (renderControl_APIENTRY *rcSetDisplayColorTransform_client_proc_t) (void * ctx, uint32_t, const mat4x4_ptr); +typedef int (renderControl_APIENTRY *rcSetDisplayPowerMode_client_proc_t) (void * ctx, uint32_t, uint32_t); +typedef int (renderControl_APIENTRY *rcGetDisplayPowerMode_client_proc_t) (void * ctx, uint32_t, uint32_t*); #endif diff --git a/guest/renderControl_enc/renderControl_enc.cpp b/guest/renderControl_enc/renderControl_enc.cpp index a0171b83f..1f5053d59 100644 --- a/guest/renderControl_enc/renderControl_enc.cpp +++ b/guest/renderControl_enc/renderControl_enc.cpp @@ -2874,6 +2874,93 @@ int rcSetDisplayColorTransform_enc(void *self , uint32_t displayId, const mat4x4 return retval; } +int rcSetDisplayPowerMode_enc(void *self , uint32_t displayId, uint32_t mode) +{ + ENCODER_DEBUG_LOG("rcSetDisplayPowerMode(displayId:0x%08x, mode:0x%08x)", displayId, mode); + AEMU_SCOPED_TRACE("rcSetDisplayPowerMode encode"); + + renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self; + IOStream *stream = ctx->m_stream; + gfxstream::guest::ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator; + bool useChecksum = checksumCalculator->getVersion() > 0; + + unsigned char *ptr; + unsigned char *buf; + const size_t sizeWithoutChecksum = 8 + 4 + 4; + const size_t checksumSize = checksumCalculator->checksumByteSize(); + const size_t totalSize = sizeWithoutChecksum + checksumSize; + buf = stream->alloc(totalSize); + ptr = buf; + int tmp = OP_rcSetDisplayPowerMode;memcpy(ptr, &tmp, 4); ptr += 4; + memcpy(ptr, &totalSize, 4); ptr += 4; + + memcpy(ptr, &displayId, 4); ptr += 4; + memcpy(ptr, &mode, 4); ptr += 4; + + if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf); + if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize; + + + int retval; + stream->readback(&retval, 4); + if (useChecksum) checksumCalculator->addBuffer(&retval, 4); + if (useChecksum) { + unsigned char *checksumBufPtr = NULL; + unsigned char checksumBuf[gfxstream::guest::ChecksumCalculator::kMaxChecksumSize]; + if (checksumSize > 0) checksumBufPtr = &checksumBuf[0]; + stream->readback(checksumBufPtr, checksumSize); + if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) { + GFXSTREAM_FATAL("rcSetDisplayPowerMode: GL communication error, please report this issue to b.android.com.\n"); + } + } + return retval; +} + +int rcGetDisplayPowerMode_enc(void *self , uint32_t displayId, uint32_t* mode) +{ + ENCODER_DEBUG_LOG("rcGetDisplayPowerMode(displayId:0x%08x, mode:0x%08x)", displayId, mode); + AEMU_SCOPED_TRACE("rcGetDisplayPowerMode encode"); + + renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self; + IOStream *stream = ctx->m_stream; + gfxstream::guest::ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator; + bool useChecksum = checksumCalculator->getVersion() > 0; + + const unsigned int __size_mode = sizeof(uint32_t); + unsigned char *ptr; + unsigned char *buf; + const size_t sizeWithoutChecksum = 8 + 4 + 0 + 1*4; + const size_t checksumSize = checksumCalculator->checksumByteSize(); + const size_t totalSize = sizeWithoutChecksum + checksumSize; + buf = stream->alloc(totalSize); + ptr = buf; + int tmp = OP_rcGetDisplayPowerMode;memcpy(ptr, &tmp, 4); ptr += 4; + memcpy(ptr, &totalSize, 4); ptr += 4; + + memcpy(ptr, &displayId, 4); ptr += 4; + memcpy(ptr, &__size_mode, 4); ptr += 4; + + if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf); + if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize; + + stream->readback(mode, __size_mode); + if (useChecksum) checksumCalculator->addBuffer(mode, __size_mode); + + int retval; + stream->readback(&retval, 4); + if (useChecksum) checksumCalculator->addBuffer(&retval, 4); + if (useChecksum) { + unsigned char *checksumBufPtr = NULL; + unsigned char checksumBuf[gfxstream::guest::ChecksumCalculator::kMaxChecksumSize]; + if (checksumSize > 0) checksumBufPtr = &checksumBuf[0]; + stream->readback(checksumBufPtr, checksumSize); + if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) { + GFXSTREAM_FATAL("rcGetDisplayPowerMode: GL communication error, please report this issue to b.android.com.\n"); + } + } + return retval; +} + } // namespace renderControl_encoder_context_t::renderControl_encoder_context_t(IOStream *stream, ChecksumCalculator *checksumCalculator) @@ -2953,5 +3040,7 @@ renderControl_encoder_context_t::renderControl_encoder_context_t(IOStream *strea this->rcGetHostExtensionsString = &rcGetHostExtensionsString_enc; this->rcGetDisplayColorTransform = &rcGetDisplayColorTransform_enc; this->rcSetDisplayColorTransform = &rcSetDisplayColorTransform_enc; + this->rcSetDisplayPowerMode = &rcSetDisplayPowerMode_enc; + this->rcGetDisplayPowerMode = &rcGetDisplayPowerMode_enc; } diff --git a/guest/renderControl_enc/renderControl_entry.cpp b/guest/renderControl_enc/renderControl_entry.cpp index dd497c095..f10d685ec 100644 --- a/guest/renderControl_enc/renderControl_entry.cpp +++ b/guest/renderControl_enc/renderControl_entry.cpp @@ -91,6 +91,8 @@ extern "C" { int rcGetHostExtensionsString(uint32_t bufferSize, void* buffer); int rcGetDisplayColorTransform(uint32_t displayId, mat4x4_ptr outColorTransformMatrix); int rcSetDisplayColorTransform(uint32_t displayId, const mat4x4_ptr colorTransformMatrix); + int rcSetDisplayPowerMode(uint32_t displayId, uint32_t mode); + int rcGetDisplayPowerMode(uint32_t displayId, uint32_t* mode); }; #ifndef GET_CONTEXT @@ -531,3 +533,15 @@ int rcSetDisplayColorTransform(uint32_t displayId, const mat4x4_ptr colorTransfo return ctx->rcSetDisplayColorTransform(ctx, displayId, colorTransformMatrix); } +int rcSetDisplayPowerMode(uint32_t displayId, uint32_t mode) +{ + GET_CONTEXT; + return ctx->rcSetDisplayPowerMode(ctx, displayId, mode); +} + +int rcGetDisplayPowerMode(uint32_t displayId, uint32_t* mode) +{ + GET_CONTEXT; + return ctx->rcGetDisplayPowerMode(ctx, displayId, mode); +} + diff --git a/guest/renderControl_enc/renderControl_ftable.h b/guest/renderControl_enc/renderControl_ftable.h index 630fc2e27..04e8be6a4 100644 --- a/guest/renderControl_enc/renderControl_ftable.h +++ b/guest/renderControl_enc/renderControl_ftable.h @@ -94,6 +94,8 @@ static const struct _renderControl_funcs_by_name { {"rcGetHostExtensionsString", (void*)rcGetHostExtensionsString}, {"rcGetDisplayColorTransform", (void*)rcGetDisplayColorTransform}, {"rcSetDisplayColorTransform", (void*)rcSetDisplayColorTransform}, + {"rcSetDisplayPowerMode", (void*)rcSetDisplayPowerMode}, + {"rcGetDisplayPowerMode", (void*)rcGetDisplayPowerMode}, }; static const int renderControl_num_funcs = sizeof(renderControl_funcs_by_name) / sizeof(struct _renderControl_funcs_by_name); diff --git a/guest/renderControl_enc/renderControl_opcodes.h b/guest/renderControl_enc/renderControl_opcodes.h index bd92ee239..2f8a8a419 100644 --- a/guest/renderControl_enc/renderControl_opcodes.h +++ b/guest/renderControl_enc/renderControl_opcodes.h @@ -89,7 +89,9 @@ #define OP_rcGetHostExtensionsString 10069 #define OP_rcGetDisplayColorTransform 10070 #define OP_rcSetDisplayColorTransform 10071 -#define OP_last 10072 +#define OP_rcSetDisplayPowerMode 10072 +#define OP_rcGetDisplayPowerMode 10073 +#define OP_last 10074 #endif diff --git a/host/Android.bp b/host/Android.bp index e1a9a2861..cd766a72c 100644 --- a/host/Android.bp +++ b/host/Android.bp @@ -45,6 +45,7 @@ cc_library_host_static { gfxstream_backend_static_deps = [ "libgfxstream_common_base", + "libgfxstream_common_build_info", "libgfxstream_common_logging", "libgfxstream_common_utils", "libgfxstream_etc", @@ -167,6 +168,7 @@ cc_defaults { ], }, }, + use_version_lib: true, } cc_library { @@ -230,3 +232,25 @@ cc_test_host { "general-tests", ], } + +// Run with `atest GfxstreamVirtioGpuResourceTests` +cc_test_host { + name: "GfxstreamVirtioGpuResourceTests", + defaults: ["gfxstream_host_cc_defaults"], + srcs: [ + "virtio_gpu_resource_unittest.cpp", + ], + shared_libs: [ + "libbase", + "libgfxstream_backend", + ], + static_libs: [ + "libgmock", + ], + test_options: { + unit_test: true, + }, + test_suites: [ + "general-tests", + ], +} diff --git a/host/BUILD.bazel b/host/BUILD.bazel index 16cd20819..af79ea644 100644 --- a/host/BUILD.bazel +++ b/host/BUILD.bazel @@ -182,6 +182,7 @@ cc_library( ":gfxstream_backend_headers", ":gfxstream_backend_static", "//common/base:gfxstream_common_base", + "//common/build_info:gfxstream_common_build_info", "//common/logging:gfxstream_common_logging", "//common/utils:gfxstream_common_utils", "//host/address_space:gfxstream_host_address_space", @@ -207,6 +208,7 @@ cc_binary( ":gfxstream_backend_headers", ":gfxstream_backend_static", "//common/base:gfxstream_common_base", + "//common/build_info:gfxstream_common_build_info", "//common/logging:gfxstream_common_logging", "//common/utils:gfxstream_common_utils", "//host/address_space:gfxstream_host_address_space", @@ -251,3 +253,48 @@ cc_test( "@com_google_googletest//:gtest_main", ], ) + +cc_test( + name = "gfxstream_virtio_gpu_timelines_tests", + srcs = [ + "virtio_gpu_timelines_tests.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_backend_static", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_virtio_gpu_resource_tests", + srcs = [ + "virtio_gpu_resource_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_backend_headers", + ":gfxstream_backend_static", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_unittest", + srcs = [ + "gfxstream_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_backend_headers", + ":gfxstream_backend_shared", + ":gfxstream_backend_static", + "//common/base:gfxstream_common_base", + "//host/testlibs/oswindow:gfxstream_oswindow_test_support", + "//host/testlibs/support:gfxstream_host_testing_support", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 6b61ae52d..9925454b1 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -115,6 +115,7 @@ target_link_libraries( ${GFXSTREAM_HOST_COMMON_LIB} gfxstream_backend.headers gfxstream_common_base + gfxstream_common_build_info gfxstream_common_logging gfxstream_drm_headers gfxstream_features @@ -184,6 +185,7 @@ add_library( target_link_libraries( gfxstream_backend PUBLIC + gfxstream_common_build_info gfxstream_common_utils gfxstream_features gfxstream_host_common @@ -315,9 +317,10 @@ endfunction() Vulkan_unittests virtio_gpu_timelines_tests.cpp vulkan/compositor_vk_unittest.cpp + vulkan/device_op_tracker_unittest.cpp vulkan/display_vk_unittest.cpp vulkan/swap_chain_state_vk_unittest.cpp - vulkan/vk_decoder_global_state_unittest.cpp + vulkan/vk_decoder_internal_structs_tests.cpp vulkan/vk_emulated_physical_device_memory_tests.cpp vulkan/vk_emulated_physical_device_queue_tests.cpp vulkan/vk_format_utils_unittest.cpp diff --git a/host/address_space/ring_buffer.cpp b/host/address_space/ring_buffer.cpp index 6644c8c24..b41c885f0 100644 --- a/host/address_space/ring_buffer.cpp +++ b/host/address_space/ring_buffer.cpp @@ -53,16 +53,22 @@ static uint32_t get_ring_pos(uint32_t index) { return index & RING_BUFFER_MASK; } +// NOTE: write_pos and read_pos are atomically updated from the producer and +// consumer threads respectively. All reads must go through __atomic_load_n +// to avoid mixing atomic and non-atomic accesses on the same location, which +// is UB in C11 and miscompiles at -O3 (producer/consumer deadlock on certain +// step sizes). + bool ring_buffer_can_write(const struct ring_buffer* r, uint32_t bytes) { - uint32_t read_view; - __atomic_load(&r->read_pos, &read_view, __ATOMIC_SEQ_CST); - return get_ring_pos(read_view - r->write_pos - 1) >= bytes; + uint32_t read_view = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); + uint32_t write_view = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); + return get_ring_pos(read_view - write_view - 1) >= bytes; } bool ring_buffer_can_read(const struct ring_buffer* r, uint32_t bytes) { - uint32_t write_view; - __atomic_load(&r->write_pos, &write_view, __ATOMIC_SEQ_CST); - return get_ring_pos(write_view - r->read_pos) >= bytes; + uint32_t write_view = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); + uint32_t read_view = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); + return get_ring_pos(write_view - read_view) >= bytes; } long ring_buffer_write( @@ -76,23 +82,25 @@ long ring_buffer_write( return (long)i; } + uint32_t write_pos = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); + // Needs to be split up into 2 writes for the edge case. uint32_t available_at_end = - RING_BUFFER_SIZE - get_ring_pos(r->write_pos); + RING_BUFFER_SIZE - get_ring_pos(write_pos); if (step_size > available_at_end) { uint32_t remaining = step_size - available_at_end; memcpy( - &r->buf[get_ring_pos(r->write_pos)], + &r->buf[get_ring_pos(write_pos)], data_bytes + i * step_size, available_at_end); memcpy( - &r->buf[get_ring_pos(r->write_pos + available_at_end)], + &r->buf[get_ring_pos(write_pos + available_at_end)], data_bytes + i * step_size + available_at_end, remaining); } else { memcpy( - &r->buf[get_ring_pos(r->write_pos)], + &r->buf[get_ring_pos(write_pos)], data_bytes + i * step_size, step_size); } @@ -115,24 +123,26 @@ long ring_buffer_read( return (long)i; } + uint32_t read_pos = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); + // Needs to be split up into 2 reads for the edge case. uint32_t available_at_end = - RING_BUFFER_SIZE - get_ring_pos(r->read_pos); + RING_BUFFER_SIZE - get_ring_pos(read_pos); if (step_size > available_at_end) { uint32_t remaining = step_size - available_at_end; memcpy( data_bytes + i * step_size, - &r->buf[get_ring_pos(r->read_pos)], + &r->buf[get_ring_pos(read_pos)], available_at_end); memcpy( data_bytes + i * step_size + available_at_end, - &r->buf[get_ring_pos(r->read_pos + available_at_end)], + &r->buf[get_ring_pos(read_pos + available_at_end)], remaining); } else { memcpy( data_bytes + i * step_size, - &r->buf[get_ring_pos(r->read_pos)], + &r->buf[get_ring_pos(read_pos)], step_size); } @@ -227,45 +237,45 @@ bool ring_buffer_view_can_write( const struct ring_buffer* r, const struct ring_buffer_view* v, uint32_t bytes) { - uint32_t read_view; - __atomic_load(&r->read_pos, &read_view, __ATOMIC_SEQ_CST); + uint32_t read_view = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); + uint32_t write_view = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); return ring_buffer_view_get_ring_pos( - v, read_view - r->write_pos - 1) >= bytes; + v, read_view - write_view - 1) >= bytes; } bool ring_buffer_view_can_read( const struct ring_buffer* r, const struct ring_buffer_view* v, uint32_t bytes) { - uint32_t write_view; - __atomic_load(&r->write_pos, &write_view, __ATOMIC_SEQ_CST); + uint32_t write_view = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); + uint32_t read_view = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); return ring_buffer_view_get_ring_pos( - v, write_view - r->read_pos) >= bytes; + v, write_view - read_view) >= bytes; } uint32_t ring_buffer_available_read( const struct ring_buffer* r, const struct ring_buffer_view* v) { - uint32_t write_view; - __atomic_load(&r->write_pos, &write_view, __ATOMIC_SEQ_CST); + uint32_t write_view = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); + uint32_t read_view = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); if (v) { return ring_buffer_view_get_ring_pos( - v, write_view - r->read_pos); + v, write_view - read_view); } else { - return get_ring_pos(write_view - r->read_pos); + return get_ring_pos(write_view - read_view); } } uint32_t ring_buffer_available_write( const struct ring_buffer* r, const struct ring_buffer_view* v) { - uint32_t read_view; - __atomic_load(&r->read_pos, &read_view, __ATOMIC_SEQ_CST); + uint32_t read_view = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); + uint32_t write_view = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); if (v) { return ring_buffer_view_get_ring_pos( - v, read_view - r->write_pos - 1); + v, read_view - write_view - 1); } else { - return get_ring_pos(read_view - r->write_pos - 1); + return get_ring_pos(read_view - write_view - 1); } } @@ -277,14 +287,15 @@ int ring_buffer_copy_contents( uint32_t total_available = ring_buffer_available_read(r, v); + uint32_t read_pos = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); uint32_t available_at_end = 0; if (v) { available_at_end = - v->size - ring_buffer_view_get_ring_pos(v, r->read_pos); + v->size - ring_buffer_view_get_ring_pos(v, read_pos); } else { available_at_end = - RING_BUFFER_SIZE - get_ring_pos(r->write_pos); + RING_BUFFER_SIZE - get_ring_pos(read_pos); } if (total_available < wanted_bytes) { @@ -295,28 +306,28 @@ int ring_buffer_copy_contents( if (wanted_bytes > available_at_end) { uint32_t remaining = wanted_bytes - available_at_end; memcpy(res, - &v->buf[ring_buffer_view_get_ring_pos(v, r->read_pos)], + &v->buf[ring_buffer_view_get_ring_pos(v, read_pos)], available_at_end); memcpy(res + available_at_end, - &v->buf[ring_buffer_view_get_ring_pos(v, r->read_pos + available_at_end)], + &v->buf[ring_buffer_view_get_ring_pos(v, read_pos + available_at_end)], remaining); } else { memcpy(res, - &v->buf[ring_buffer_view_get_ring_pos(v, r->read_pos)], + &v->buf[ring_buffer_view_get_ring_pos(v, read_pos)], wanted_bytes); } } else { if (wanted_bytes > available_at_end) { uint32_t remaining = wanted_bytes - available_at_end; memcpy(res, - &r->buf[get_ring_pos(r->read_pos)], + &r->buf[get_ring_pos(read_pos)], available_at_end); memcpy(res + available_at_end, - &r->buf[get_ring_pos(r->read_pos + available_at_end)], + &r->buf[get_ring_pos(read_pos + available_at_end)], remaining); } else { memcpy(res, - &r->buf[get_ring_pos(r->read_pos)], + &r->buf[get_ring_pos(read_pos)], wanted_bytes); } } @@ -337,23 +348,25 @@ long ring_buffer_view_write( return (long)i; } + uint32_t write_pos = __atomic_load_n(&r->write_pos, __ATOMIC_SEQ_CST); + // Needs to be split up into 2 writes for the edge case. uint32_t available_at_end = - v->size - ring_buffer_view_get_ring_pos(v, r->write_pos); + v->size - ring_buffer_view_get_ring_pos(v, write_pos); if (step_size > available_at_end) { uint32_t remaining = step_size - available_at_end; memcpy( - &v->buf[ring_buffer_view_get_ring_pos(v, r->write_pos)], + &v->buf[ring_buffer_view_get_ring_pos(v, write_pos)], data_bytes + i * step_size, available_at_end); memcpy( - &v->buf[ring_buffer_view_get_ring_pos(v, r->write_pos + available_at_end)], + &v->buf[ring_buffer_view_get_ring_pos(v, write_pos + available_at_end)], data_bytes + i * step_size + available_at_end, remaining); } else { memcpy( - &v->buf[ring_buffer_view_get_ring_pos(v, r->write_pos)], + &v->buf[ring_buffer_view_get_ring_pos(v, write_pos)], data_bytes + i * step_size, step_size); } @@ -379,23 +392,25 @@ long ring_buffer_view_read( return (long)i; } + uint32_t read_pos = __atomic_load_n(&r->read_pos, __ATOMIC_SEQ_CST); + // Needs to be split up into 2 reads for the edge case. uint32_t available_at_end = - v->size - ring_buffer_view_get_ring_pos(v, r->read_pos); + v->size - ring_buffer_view_get_ring_pos(v, read_pos); if (step_size > available_at_end) { uint32_t remaining = step_size - available_at_end; memcpy( data_bytes + i * step_size, - &v->buf[ring_buffer_view_get_ring_pos(v, r->read_pos)], + &v->buf[ring_buffer_view_get_ring_pos(v, read_pos)], available_at_end); memcpy( data_bytes + i * step_size + available_at_end, - &v->buf[ring_buffer_view_get_ring_pos(v, r->read_pos + available_at_end)], + &v->buf[ring_buffer_view_get_ring_pos(v, read_pos + available_at_end)], remaining); } else { memcpy(data_bytes + i * step_size, - &v->buf[ring_buffer_view_get_ring_pos(v, r->read_pos)], + &v->buf[ring_buffer_view_get_ring_pos(v, read_pos)], step_size); } __atomic_add_fetch(&r->read_pos, step_size, __ATOMIC_SEQ_CST); @@ -407,7 +422,7 @@ long ring_buffer_view_read( void ring_buffer_yield() { #ifdef _WIN32 - _mm_pause(); + YieldProcessor(); #else sched_yield(); #endif diff --git a/host/color_buffer.cpp b/host/color_buffer.cpp index 60f36e2e2..e64172b20 100644 --- a/host/color_buffer.cpp +++ b/host/color_buffer.cpp @@ -22,6 +22,7 @@ #include "gfxstream/host/gfxstream_format.h" #include "vulkan/color_buffer_vk.h" #include "vulkan/vk_common_operations.h" +#include namespace gfxstream { namespace host { @@ -41,18 +42,31 @@ bool shouldAttemptExternalMemorySharing(GfxstreamFormat format) { return !gfxstream::host::IsYuvFormat(format); } +GfxstreamFormat GfxstreamFormatFromUint32(uint32_t value) { + if (!IsValidGfxstreamFormat(value)) { + GFXSTREAM_ERROR("Unsupported gfxstream format: %u", value); + return GfxstreamFormat::UNKNOWN; + } + return static_cast(value); +} + +uint32_t GfxstreamFormatToUint32(GfxstreamFormat format) { + return static_cast(format); +} + } // namespace class ColorBuffer::Impl : public LazySnapshotObj { public: static std::unique_ptr create(gl::EmulationGl* emulationGl, vk::VkEmulation* emulationVk, uint32_t width, uint32_t height, GfxstreamFormat format, - HandleType handle, gfxstream::Stream* stream = nullptr); + HandleType handle, gfxstream::Stream* stream = nullptr, + bool linear = false); static std::unique_ptr onLoad(gl::EmulationGl* emulationGl, vk::VkEmulation* emulationVk, gfxstream::Stream* stream); - void onSave(gfxstream::Stream* stream); + bool onSave(gfxstream::Stream* stream); void restore(); HandleType getHndl() const { return mHandle; } @@ -111,6 +125,8 @@ class ColorBuffer::Impl : public LazySnapshotObj { bool mGlAndVkAreSharingExternalMemory = false; bool mGlTexDirty = false; + + static constexpr uint32_t kSnapshotMagicNumber = 0xCAFEFACE; }; ColorBuffer::Impl::Impl(HandleType handle, uint32_t width, uint32_t height, GfxstreamFormat format) @@ -119,7 +135,12 @@ ColorBuffer::Impl::Impl(HandleType handle, uint32_t width, uint32_t height, Gfxs /*static*/ std::unique_ptr ColorBuffer::Impl::create( gl::EmulationGl* emulationGl, vk::VkEmulation* emulationVk, uint32_t width, uint32_t height, - GfxstreamFormat format, HandleType handle, gfxstream::Stream* stream) { + GfxstreamFormat format, HandleType handle, gfxstream::Stream* stream, bool linear) { + if (format == GfxstreamFormat::UNKNOWN) { + GFXSTREAM_ERROR("Invalid format for color buffer %u, with size %ux%u", handle, width, + height); + return nullptr; + } std::unique_ptr colorBuffer(new Impl(handle, width, height, format)); if (stream) { @@ -148,7 +169,8 @@ std::unique_ptr ColorBuffer::Impl::create( #else const bool vulkanOnly = true; #endif - const uint32_t memoryProperty = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + const uint32_t memoryProperty = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | + (linear ? VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT : 0); const uint32_t mipLevels = 1; colorBuffer->mColorBufferVk = vk::ColorBufferVk::create( *emulationVk, handle, width, height, format, vulkanOnly, memoryProperty, mipLevels); @@ -186,7 +208,10 @@ std::unique_ptr ColorBuffer::Impl::create( auto behavior = colorBuffer->mGlAndVkAreSharingExternalMemory ? vk::LoadImageBehavior::SkipImageContent : vk::LoadImageBehavior::LoadImageContent; - colorBuffer->mColorBufferVk->onLoad(stream, behavior); + if (!colorBuffer->mColorBufferVk->onLoad(stream, behavior)) { + GFXSTREAM_ERROR("ColorBufferVk could not be loaded"); + return nullptr; + } } return colorBuffer; @@ -196,33 +221,61 @@ std::unique_ptr ColorBuffer::Impl::create( std::unique_ptr ColorBuffer::Impl::onLoad(gl::EmulationGl* emulationGl, vk::VkEmulation* emulationVk, gfxstream::Stream* stream) { + const uint32_t magic = stream->getBe32(); + if (magic != kSnapshotMagicNumber) { + GFXSTREAM_ERROR("Invalid color buffer snapshot magic number: 0x%x", magic); + return nullptr; + } const auto handle = static_cast(stream->getBe32()); const auto width = static_cast(stream->getBe32()); const auto height = static_cast(stream->getBe32()); - const auto format = static_cast(stream->getBe32()); + const auto format = GfxstreamFormatFromUint32(stream->getBe32()); + GFXSTREAM_DEBUG("snapshot load: color buffer %u, (%ux%u %s)", handle, width, height, + ToString(format).c_str()); std::unique_ptr colorBuffer = Impl::create(emulationGl, emulationVk, width, height, format, handle, stream); + if (stream->hasErrors()) { + GFXSTREAM_ERROR("ColorBuffer::Impl::onLoad failed due to stream errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return nullptr; + } + return colorBuffer; } -void ColorBuffer::Impl::onSave(gfxstream::Stream* stream) { +bool ColorBuffer::Impl::onSave(gfxstream::Stream* stream) { + GFXSTREAM_DEBUG("snapshot save: color buffer %u, (%ux%u %s)", getHndl(), mWidth, mHeight, + ToString(mFormat).c_str()); + + stream->putBe32(kSnapshotMagicNumber); stream->putBe32(getHndl()); stream->putBe32(mWidth); stream->putBe32(mHeight); - stream->putBe32(static_cast(mFormat)); + stream->putBe32(GfxstreamFormatToUint32(mFormat)); + + if (mFormat == GfxstreamFormat::UNKNOWN) { + GFXSTREAM_ERROR("Colorbuffer save failed, unknown format"); + return false; + } #if GFXSTREAM_ENABLE_HOST_GLES if (mColorBufferGl) { - mColorBufferGl->onSave(stream); + if (!mColorBufferGl->onSave(stream)) { + return false; + } } #endif if (mColorBufferVk) { auto behavior = mGlAndVkAreSharingExternalMemory ? vk::SaveImageBehavior::SkipImageContent : vk::SaveImageBehavior::SaveImageContent; - mColorBufferVk->onSave(stream, behavior); + if (!mColorBufferVk->onSave(stream, behavior)) { + return false; + } } + + return true; } void ColorBuffer::Impl::restore() { @@ -467,14 +520,20 @@ std::optional ColorBuffer::Impl::exportBlob() { std::shared_ptr ColorBuffer::create(gl::EmulationGl* emulationGl, vk::VkEmulation* emulationVk, uint32_t width, uint32_t height, GfxstreamFormat format, - HandleType handle, gfxstream::Stream* stream) { + HandleType handle, gfxstream::Stream* stream, + bool linear) { std::shared_ptr colorbuffer(new ColorBuffer()); - colorbuffer->mImpl = - ColorBuffer::Impl::create(emulationGl, emulationVk, width, height, format, handle, stream); + colorbuffer->mImpl = ColorBuffer::Impl::create(emulationGl, emulationVk, width, height, format, + handle, stream, linear); if (!colorbuffer->mImpl) { return nullptr; } + if (stream && stream->hasErrors()) { + GFXSTREAM_ERROR("ColorBuffer::create failed due to stream errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return nullptr; + } return colorbuffer; } @@ -489,12 +548,21 @@ std::shared_ptr ColorBuffer::onLoad(gl::EmulationGl* emulationGl, if (!colorbuffer->mImpl) { return nullptr; } + if (stream && stream->hasErrors()) { + GFXSTREAM_ERROR("ColorBuffer::onLoad failed due to stream errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return nullptr; + } colorbuffer->mNeedRestore = true; return colorbuffer; } -void ColorBuffer::onSave(gfxstream::Stream* stream) { mImpl->onSave(stream); } +ColorBuffer::~ColorBuffer() = default; + +bool ColorBuffer::onSave(gfxstream::Stream* stream) { + return mImpl->onSave(stream); +} void ColorBuffer::restore() { mImpl->touch(); } diff --git a/host/color_buffer.h b/host/color_buffer.h index e130e7360..17d305c03 100644 --- a/host/color_buffer.h +++ b/host/color_buffer.h @@ -50,13 +50,18 @@ namespace host { class ColorBuffer : public IColorBuffer, public LazySnapshotObj { public: static std::shared_ptr create(gl::EmulationGl* emulationGl, - vk::VkEmulation* emulationVk, uint32_t width, - uint32_t height, GfxstreamFormat format, - HandleType handle, Stream* stream = nullptr); + vk::VkEmulation* emulationVk, + uint32_t width, + uint32_t height, + GfxstreamFormat format, + HandleType handle, + Stream* stream = nullptr, + bool linear = false); static std::shared_ptr onLoad(gl::EmulationGl* emulationGl, vk::VkEmulation* emulationVk, Stream* stream); - void onSave(Stream* stream); + ~ColorBuffer() override; + bool onSave(Stream* stream); void restore(); void touch() override; diff --git a/host/common/display_operations.cpp b/host/common/display_operations.cpp index c71c706de..5ad3300cf 100644 --- a/host/common/display_operations.cpp +++ b/host/common/display_operations.cpp @@ -36,6 +36,15 @@ struct DisplayColorTransform { DisplayColorTransform() : mat{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1} {} }; +// Must match ComposerClient::PowerMode +enum class PowerMode : uint32_t { + OFF = 0, + DOZE = 1, + ON = 2, + DOZE_SUSPEND = 3, + ON_SUSPEND = 4, +}; + struct DisplayInfo { int32_t pos_x = 0 ; int32_t pos_y = 0; @@ -49,6 +58,7 @@ struct DisplayInfo { int32_t rotation = 0; bool enabled = false; DisplayColorTransform colorTransform; + PowerMode powerMode = PowerMode::ON; }; std::map sDisplayInfos; @@ -292,6 +302,34 @@ int DefaultGfxstreamWindowSetColorTransform(uint32_t id, const float colorMatrix return 0; } +int DefaultGfxstreamMultiDisplayGetDisplayPowerMode(uint32_t id, uint32_t* powerMode) { + auto it = sDisplayInfos.find(id); + if (it == sDisplayInfos.end()) { + GFXSTREAM_ERROR("Failed to get display power mode: cannot find display %u", id); + return -1; + } + const DisplayInfo& info = it->second; + if (powerMode) { + *powerMode = static_cast(info.powerMode); + } + return 0; +} + +int DefaultGfxstreamMultiDisplaySetDisplayPowerMode(uint32_t id, uint32_t powerMode) { + if (powerMode > static_cast(PowerMode::ON_SUSPEND)) { + GFXSTREAM_ERROR("Failed to set display power mode: invalid mode %u", powerMode); + return -1; + } + auto it = sDisplayInfos.find(id); + if (it == sDisplayInfos.end()) { + GFXSTREAM_ERROR("Failed to set display power mode: cannot find display %u", id); + return -1; + } + DisplayInfo& info = it->second; + info.powerMode = static_cast(powerMode); + return 0; +} + gfxstream_multi_display_ops sGfxstreamMultiDisplayOps = { .is_multi_display_enabled = DefaultGfxstreamMultiDisplayIsMultiDisplayEnabled, .is_multi_window = DefaultGfxstreamMultiDisplayIsMultiDisplayWindow, @@ -308,6 +346,8 @@ gfxstream_multi_display_ops sGfxstreamMultiDisplayOps = { .set_display_pose = DefaultGfxstreamMultiDisplaySetDisplayPose, .get_color_transform_matrix = DefaultGfxstreamWindowGetColorTransform, .set_color_transform_matrix = DefaultGfxstreamWindowSetColorTransform, + .get_display_power_mode = DefaultGfxstreamMultiDisplayGetDisplayPowerMode, + .set_display_power_mode = DefaultGfxstreamMultiDisplaySetDisplayPowerMode, }; } // namespace diff --git a/host/common/include/gfxstream/host/compositor.h b/host/common/include/gfxstream/host/compositor.h index 07b6e5d4e..aa2331def 100644 --- a/host/common/include/gfxstream/host/compositor.h +++ b/host/common/include/gfxstream/host/compositor.h @@ -56,7 +56,7 @@ class Compositor { }; std::optional getDisplayLayout() const { return m_displayLayout; } void setDisplayLayout(int screenWidth, int screenHeight, const Rect& displayRect) { - if (displayRect.size.w > 0 && displayRect.size.h > 0) { + if (screenWidth > 0 && screenHeight > 0) { DisplayLayout layout; layout.screenWidth = screenWidth; layout.screenHeight = screenHeight; diff --git a/host/common/include/gfxstream/host/file_stream.h b/host/common/include/gfxstream/host/file_stream.h index 4075bba51..37abbfb7b 100644 --- a/host/common/include/gfxstream/host/file_stream.h +++ b/host/common/include/gfxstream/host/file_stream.h @@ -24,7 +24,7 @@ namespace host { // An implementation of the Stream interface on top of a // stdio FILE* instance. -class StdioStream : public gfxstream::Stream { +class StdioStream : public gfxstream::StreamWithErrorLogger { public: enum Ownership { kNotOwner, kOwner }; diff --git a/host/common/include/gfxstream/host/gfxstream_format.h b/host/common/include/gfxstream/host/gfxstream_format.h index a612fa966..b2539455a 100644 --- a/host/common/include/gfxstream/host/gfxstream_format.h +++ b/host/common/include/gfxstream/host/gfxstream_format.h @@ -283,8 +283,17 @@ enum class GfxstreamFormat : uint32_t { * Vulkan: VK_FORMAT_A8_UNORM_KHR */ A8_UNORM, + + /** + * Indicates the last valid format for validity checks. + */ + LAST = A8_UNORM, }; +inline bool IsValidGfxstreamFormat(uint32_t value) { + return value <= static_cast(GfxstreamFormat::LAST); +} + inline bool IsYuvFormat(GfxstreamFormat format) { switch (format) { case GfxstreamFormat::NV12: diff --git a/host/common/include/gfxstream/host/mem_stream.h b/host/common/include/gfxstream/host/mem_stream.h index a60d72c48..89e455285 100644 --- a/host/common/include/gfxstream/host/mem_stream.h +++ b/host/common/include/gfxstream/host/mem_stream.h @@ -22,12 +22,12 @@ namespace gfxstream { namespace host { // An implementation of the Stream interface on top of a vector. -class MemStream : public Stream { +class MemStream : public StreamWithErrorLogger { public: using Buffer = std::vector; - MemStream(int reserveSize = 512); - MemStream(Buffer&& data); + explicit MemStream(size_t reserveSize = 512); + explicit MemStream(Buffer&& data); MemStream(const MemStream&) = delete; MemStream& operator=(const MemStream&) = delete; @@ -35,9 +35,9 @@ class MemStream : public Stream { MemStream(MemStream&& other) = default; MemStream& operator=(MemStream&& other) = default; - int writtenSize() const; - int readPos() const; - int readSize() const; + size_t writtenSize() const; + size_t readPos() const; + size_t readSize() const; // Stream interface implementation. ssize_t read(void* buffer, size_t size) override; @@ -53,7 +53,7 @@ class MemStream : public Stream { private: Buffer mData; - int mReadPos = 0; + size_t mReadPos = 0; void* mPb = nullptr; }; diff --git a/host/common/include/gfxstream/host/process_resources.h b/host/common/include/gfxstream/host/process_resources.h index 7964db018..04ef4fb33 100644 --- a/host/common/include/gfxstream/host/process_resources.h +++ b/host/common/include/gfxstream/host/process_resources.h @@ -40,6 +40,10 @@ class ProcessResources { mutable std::atomic mSequenceNumber; }; +// Alias to help make it clear this is the representative place for +// resources associated with a guest process. +using GuestProcessResources = ProcessResources; + } // namespace host } // namespace gfxstream #endif diff --git a/host/common/include/gfxstream/host/stream_utils.h b/host/common/include/gfxstream/host/stream_utils.h index 017ea9ce2..50c7864e8 100644 --- a/host/common/include/gfxstream/host/stream_utils.h +++ b/host/common/include/gfxstream/host/stream_utils.h @@ -14,10 +14,13 @@ #pragma once +#include +#include #include #include #include "gfxstream/TypeTraits.h" +#include "gfxstream/common/logging.h" #include "render-utils/stream.h" namespace gfxstream { @@ -27,93 +30,182 @@ namespace host { // Save/load operations for different types. // -void saveBufferRaw(Stream* stream, char* buffer, uint32_t len); +bool saveBufferRaw(Stream* stream, char* buffer, uint32_t len); bool loadBufferRaw(Stream* stream, char* buffer); template >> -void saveBuffer(Stream* stream, const std::vector& buffer) { - stream->putBe32(buffer.size()); - stream->write(buffer.data(), sizeof(T) * buffer.size()); +bool saveBuffer(Stream* stream, const std::vector& buffer) { + if (buffer.size() > std::numeric_limits::max()) { + GFXSTREAM_ERROR("%s: buffer size %zu exceeds uint32_t max", __FUNCTION__, buffer.size()); + return false; + } + stream->putBe32(static_cast(buffer.size())); + const size_t bytesToWrite = sizeof(T) * buffer.size(); + ssize_t written = stream->write(buffer.data(), bytesToWrite); + if (written < 0 || static_cast(written) != bytesToWrite) { + GFXSTREAM_ERROR("%s: saveBuffer failed to write %zu bytes from stream, got %zd", + __FUNCTION__, bytesToWrite, written); + return false; + } + return true; } template >> bool loadBuffer(Stream* stream, std::vector* buffer) { - uint32_t len = stream->getBe32(); + const uint32_t len = stream->getBe32(); + const size_t bytesToRead = size_t(len) * sizeof(T); buffer->resize(len); - ssize_t ret = stream->read(buffer->data(), len * sizeof(T)); - if (ret < 0) { + ssize_t ret = stream->read(buffer->data(), bytesToRead); + if (ret < 0 || static_cast(ret) != bytesToRead) { + GFXSTREAM_ERROR("%s: loadBuffer failed to read %zu bytes from stream, got %zd", + __FUNCTION__, bytesToRead, ret); return false; } - return static_cast(ret) == static_cast(len * sizeof(T)); + return true; } template >> -void saveBuffer(Stream* stream, const Container& buffer) { - stream->putBe32(buffer.size()); - stream->write(buffer.data(), sizeof(typename Container::value_type) * buffer.size()); +bool saveBuffer(Stream* stream, const Container& buffer) { + if (buffer.size() > std::numeric_limits::max()) { + GFXSTREAM_ERROR("%s: buffer size %zu exceeds uint32_t max", __FUNCTION__, buffer.size()); + return false; + } + stream->putBe32(static_cast(buffer.size())); + const size_t bytesToWrite = sizeof(typename Container::value_type) * buffer.size(); + ssize_t written = stream->write(buffer.data(), bytesToWrite); + if (written < 0 || static_cast(written) != bytesToWrite) { + GFXSTREAM_ERROR("%s: saveBuffer failed to write %zu bytes from stream, got %zd", + __FUNCTION__, bytesToWrite, written); + return false; + } + return true; } template >> bool loadBuffer(Stream* stream, Container* buffer) { - uint32_t len = stream->getBe32(); + const uint32_t len = stream->getBe32(); + const size_t bytesToRead = size_t(len) * sizeof(typename Container::value_type); buffer->clear(); buffer->resize_noinit(len); - ssize_t ret = stream->read(buffer->data(), len * sizeof(typename Container::value_type)); - if (ret < 0) { + ssize_t ret = stream->read(buffer->data(), bytesToRead); + if (ret < 0 || static_cast(ret) != bytesToRead) { + GFXSTREAM_ERROR("%s: loadBuffer failed to read %zu bytes from stream, got %zd", + __FUNCTION__, bytesToRead, ret); return false; } - return static_cast(ret) == static_cast(len * sizeof(typename Container::value_type)); + return true; } template -void saveBuffer(Stream* stream, const std::vector& buffer, SaveFunc&& saver) { - stream->putBe32(buffer.size()); +bool saveBuffer(Stream* stream, const std::vector& buffer, SaveFunc&& saver) { + if (buffer.size() > std::numeric_limits::max()) { + GFXSTREAM_ERROR("%s: buffer size %zu exceeds uint32_t max", __FUNCTION__, buffer.size()); + return false; + } + stream->putBe32(static_cast(buffer.size())); for (const auto& val : buffer) { saver(stream, val); } + return true; } template -void saveBuffer(Stream* stream, const T* buffer, size_t numElts) { - stream->putBe32(numElts); - stream->write(buffer, sizeof(T) * numElts); +bool saveBuffer(Stream* stream, const T* buffer, size_t numElts) { + if (numElts > std::numeric_limits::max()) { + GFXSTREAM_ERROR("%s: buffer size %zu exceeds uint32_t max", __FUNCTION__, numElts); + return false; + } + stream->putBe32(static_cast(numElts)); + const size_t bytesToWrite = sizeof(T) * numElts; + ssize_t written = stream->write(buffer, bytesToWrite); + if (written < 0 || static_cast(written) != bytesToWrite) { + GFXSTREAM_ERROR("%s: saveBuffer failed to write %zu bytes from stream, got %zd", + __FUNCTION__, bytesToWrite, written); + return false; + } + return true; } template -void loadBufferPtr(Stream* stream, T* out) { - uint32_t len = stream->getBe32(); - stream->read(out, len * sizeof(T)); +bool loadBufferPtr(Stream* stream, T* out) { + auto len = stream->getBe32(); + const size_t bytesToRead = len * sizeof(T); + ssize_t ret = stream->read(out, bytesToRead); + if (ret < 0 || static_cast(ret) != bytesToRead) { + GFXSTREAM_ERROR("%s: loadBufferPtr failed to read %zu bytes from stream, got %zd", + __FUNCTION__, bytesToRead, ret); + return false; + } + return true; } template -void loadBuffer(Stream* stream, std::vector* buffer, LoadFunc&& loader) { - uint32_t len = stream->getBe32(); +bool loadBuffer(Stream* stream, std::vector* buffer, LoadFunc&& loader) { + const uint32_t len = stream->getBe32(); buffer->clear(); buffer->reserve(len); for (uint32_t i = 0; i < len; i++) { buffer->emplace_back(loader(stream)); } + return true; } template -void saveCollection(Stream* stream, const Collection& c, SaveFunc&& saver) { - stream->putBe32(c.size()); +bool saveCollection(Stream* stream, const Collection& c, SaveFunc&& saver) { + if (c.size() > std::numeric_limits::max()) { + GFXSTREAM_ERROR("%s: buffer size %zu exceeds uint32_t max", __FUNCTION__, c.size()); + return false; + } + stream->putBe32(static_cast(c.size())); for (const auto& val : c) { saver(stream, val); } + return true; +} + +template +bool trySaveCollection(Stream* stream, const Collection& c, const size_t maxSize, SaveFunc&& saver) { + if (c.size() > maxSize) { + return false; + } + stream->putBe32(c.size()); + for (const auto& val : c) { + bool savedOk = saver(stream, val); + if (!savedOk) { + return false; + } + } + return true; } template -void loadCollection(Stream* stream, Collection* c, LoadFunc&& loader) { +bool loadCollection(Stream* stream, Collection* c, LoadFunc&& loader) { const uint32_t size = stream->getBe32(); for (uint32_t i = 0; i < size; ++i) { c->emplace(loader(stream)); } + return true; +} + +template +bool tryLoadCollection(Stream* stream, Collection* c, const size_t maxSize, LoadFunc&& loader) { + const uint32_t size = stream->getBe32(); + if (size > maxSize) { + return false; + } + for (uint32_t i = 0; i < size; ++i) { + auto loadedVal = loader(stream); + if (!loadedVal.has_value()) { + return false; + } + c->emplace(std::move(*loadedVal)); + } + return true; } -void saveStringArray(Stream* stream, const char* const* strings, uint32_t count); +bool saveStringArray(Stream* stream, const char* const* strings, uint32_t count); std::vector loadStringArray(Stream* stream); } // namespace host diff --git a/host/common/mem_stream.cpp b/host/common/mem_stream.cpp index 4885c1c17..5f098c3ff 100644 --- a/host/common/mem_stream.cpp +++ b/host/common/mem_stream.cpp @@ -23,39 +23,59 @@ namespace gfxstream { namespace host { -MemStream::MemStream(int reserveSize) { +MemStream::MemStream(size_t reserveSize) { mData.reserve(reserveSize); } MemStream::MemStream(Buffer&& data) : mData(std::move(data)) {} ssize_t MemStream::read(void* buffer, size_t size) { - if (!buffer) { + if (!size) { return 0; } - const auto sizeToRead = std::min(size, readSize()); - memcpy(buffer, mData.data() + mReadPos, sizeToRead); - mReadPos += sizeToRead; - return sizeToRead; + if (!buffer) { + addError("%s: no buffer", __func__); + return -1; + } + const size_t readableSize = readSize(); + if (size > readableSize) { + addError("Memory stream requested read size %zu is bigger than readable size %zu", size, + readableSize); + if (!readableSize) { + return 0; + } + size = readableSize; + } + memcpy(buffer, mData.data() + mReadPos, size); + mReadPos += size; + return size; } ssize_t MemStream::write(const void* buffer, size_t size) { - if (!buffer) { + if (!size) { return 0; } + if (!buffer) { + addError("%s: no buffer", __func__); + return -1; + } mData.insert(mData.end(), (const char*)buffer, (const char*)buffer + size); return size; } -int MemStream::writtenSize() const { - return (int)mData.size(); +size_t MemStream::writtenSize() const { + return mData.size(); } -int MemStream::readPos() const { +size_t MemStream::readPos() const { return mReadPos; } -int MemStream::readSize() const { +size_t MemStream::readSize() const { + if (mData.size() < mReadPos) { + addError("Invalid state: size %zu < readPos %zu", mData.size(), mReadPos); + return 0; + } return mData.size() - mReadPos; } diff --git a/host/common/stream_utils.cpp b/host/common/stream_utils.cpp index 1c40628fa..703fa02f0 100644 --- a/host/common/stream_utils.cpp +++ b/host/common/stream_utils.cpp @@ -14,25 +14,41 @@ #include "gfxstream/host/stream_utils.h" +#include +#include + namespace gfxstream { namespace host { -void saveBufferRaw(Stream* stream, char* buffer, uint32_t len) { +bool saveBufferRaw(Stream* stream, char* buffer, uint32_t len) { stream->putBe32(len); - stream->write(buffer, len); + ssize_t written = stream->write(buffer, len); + if (written < 0 || static_cast(written) != static_cast(len)) { + fprintf(stderr, "%s: saveBufferRaw failed to write %u bytes from stream, got %zd\n", + __FUNCTION__, len, written); + return false; + } + return true; } bool loadBufferRaw(Stream* stream, char* buffer) { - auto len = stream->getBe32(); - int ret = (int)stream->read(buffer, len); - return ret == (int)len; + const uint32_t len = stream->getBe32(); + const size_t bytesToRead = size_t(len); + ssize_t ret = stream->read(buffer, bytesToRead); + if (ret < 0 || static_cast(ret) != bytesToRead) { + fprintf(stderr, "%s: loadBufferRaw failed to read %zu bytes from stream, got %zd\n", + __FUNCTION__, bytesToRead, ret); + return false; + } + return true; } -void saveStringArray(Stream* stream, const char* const* strings, uint32_t count) { +bool saveStringArray(Stream* stream, const char* const* strings, uint32_t count) { stream->putBe32(count); for (uint32_t i = 0; i < count; ++i) { stream->putString(strings[i]); } + return true; } std::vector loadStringArray(Stream* stream) { diff --git a/host/features/include/gfxstream/host/features.h b/host/features/include/gfxstream/host/features.h index 98d00e589..cdfa4e41c 100644 --- a/host/features/include/gfxstream/host/features.h +++ b/host/features/include/gfxstream/host/features.h @@ -438,11 +438,36 @@ struct FeatureSet { "and the available Vulkan driver extensions.", &map, }; + StringFeatureInfo VulkanValidation = { + "VulkanValidation", + "If set, configures Vulkan validation behavior (off|print|fail|crash).", + &map, + }; + StringFeatureInfo VulkanValidationIncludeFilter = { + "VulkanValidationIncludeFilter", + "Comma-separated, case-insensitive list of exact string filters to include for Vulkan validation. Matches against guest application name or engine name. If empty, all applications are included by default.", + &map, + }; + StringFeatureInfo VulkanValidationExcludeFilter = { + "VulkanValidationExcludeFilter", + "Comma-separated, case-insensitive list of exact string filters to exclude from Vulkan validation. Matches against guest application name or engine name.", + &map, + }; BoolFeatureInfo VulkanProtectedMemoryEmulation = { "VulkanProtectedMemoryEmulation", "If enabled, enables protected memory emulation for the guest.", &map, }; + BoolFeatureInfo VulkanAstcEmulation = { + "VulkanAstcEmulation", + "If enabled, enables ASTC texture compression emulation for the guest.", + &map, + }; + BoolFeatureInfo VulkanEtc2Emulation = { + "VulkanEtc2Emulation", + "If enabled, enables ETC2 texture compression emulation for the guest.", + &map, + }; VulkanVersionFeatureInfo GuestVulkanMaxApiVersion = { "GuestVulkanMaxApiVersion", "Represents the maximum vulkan api version that should be reported to the guest and is" diff --git a/host/frame_buffer.cpp b/host/frame_buffer.cpp index 59f6b8de4..99ea875f0 100644 --- a/host/frame_buffer.cpp +++ b/host/frame_buffer.cpp @@ -24,8 +24,11 @@ #include #include +#include +#include #include #include +#include #if GFXSTREAM_ENABLE_HOST_GLES #include "host/gl/gles_version_detector.h" @@ -40,6 +43,7 @@ #endif #include "color_buffer.h" +#include "gfxstream/ThreadAnnotations.h" #include "gfxstream/Tracing.h" #include "gfxstream/common/logging.h" #include "gfxstream/containers/Lookup.h" @@ -122,6 +126,16 @@ bool postOnlyOnMainThread() { static FrameBuffer* sFrameBuffer = NULL; +// Limit number of resources for validation and consistency checks +static constexpr uint32_t kNumMaxProcessResources = 5000; +static constexpr uint32_t kNumMaxColorBuffers = 16000; + +// Version and magic numbers for framebuffer stream for validity checks. +// The global snapshot version (e.g. kVersionBase for AEMU) should be updated when changing +// the framebuffer version to avoid getting errors when loading old, unsupported snapshots. +static constexpr uint32_t kFramebufferSnapshotVersionNumber = 3; +static constexpr uint32_t kFramebufferSnapshotMagicNumber = 0xC0FFEEEE; + // A condition variable needed to wait for framebuffer initialization. struct InitializedGlobals { gfxstream::base::Lock lock; @@ -367,7 +381,8 @@ class FrameBuffer::Impl : public gfxstream::base::EventNotificationSupport removeGraphicsProcessResources(uint64_t puid); - void cleanupProcGLObjects(uint64_t puid); + void signalGuestProcessDead(uint64_t puid); + void waitForProcessCleanup(); void readBuffer(HandleType p_buffer, uint64_t offset, uint64_t size, void* bytes); @@ -569,6 +585,8 @@ class FrameBuffer::Impl : public gfxstream::base::EventNotificationSupport cleanupProcGLObjects_locked(uint64_t puid, bool forced = false); @@ -813,7 +832,8 @@ class FrameBuffer::Impl : public gfxstream::base::EventNotificationSupportfireEvent({FrameBufferChange::FrameReady, mFrameNumber++}); } bool createColorBufferWithResourceHandleLocked(int p_width, int p_height, - GfxstreamFormat format, HandleType handle); + GfxstreamFormat format, HandleType handle, + bool linear = false); bool createBufferWithResourceHandleLocked(uint64_t p_size, HandleType handle, uint32_t memoryProperty); @@ -918,8 +938,57 @@ class FrameBuffer::Impl : public gfxstream::base::EventNotificationSupport> m_procOwnedResources; + std::mutex m_guestProcessResourcesLock; + std::unordered_map> m_guestProcessResources + GUARDED_BY(m_guestProcessResourcesLock); + + // This object manages the cleanup of guest process resources when the process + // exits. It runs the cleanup in a separate thread to never block the main + // render thread for a low-priority task. + class ProcessCleanupThread { + public: + using GenericCleanup = std::function; + + ProcessCleanupThread() + : mCleanupWorker( + []() { GFXSTREAM_TRACE_NAME_THREAD("Gfxstream Process Cleanup Worker"); }, + [](Cmd cmd) { + using gfxstream::base::WorkerProcessingResult; + struct { + WorkerProcessingResult operator()(GenericCleanup work) { + work(); + return WorkerProcessingResult::Continue; + } + WorkerProcessingResult operator()(Exit) { + return WorkerProcessingResult::Stop; + } + } visitor; + return std::visit(visitor, std::move(cmd)); + }) { + mCleanupWorker.start(); + } + + ~ProcessCleanupThread() { stop(); } + + void enqueueCleanup(GenericCleanup command) { + mCleanupWorker.enqueue(std::move(command)); + } + + void stop() { + mCleanupWorker.enqueue(Exit{}); + mCleanupWorker.join(); + } + + void waitForCleanup() { mCleanupWorker.waitQueuedItems(); } + + private: + struct Exit {}; + using Cmd = std::variant; + DISALLOW_COPY_AND_ASSIGN(ProcessCleanupThread); + + gfxstream::base::WorkerThread mCleanupWorker; + }; + ProcessCleanupThread m_processCleanupThread; // Flag set when emulator is shutting down. bool m_shuttingDown = false; @@ -1205,6 +1274,12 @@ std::unique_ptr FrameBuffer::Impl::Create(FrameBuffer* frameb // used by underlying EGL driver might become invalid, // preventing new contexts from being created that share // against those contexts. + if (impl->m_features.VulkanValidation.getValue().has_value() || + impl->m_features.VulkanValidationIncludeFilter.getValue().has_value() || + impl->m_features.VulkanValidationExcludeFilter.getValue().has_value()) { + vk::ensureVulkanValidationLayersEnabled(); + } + vk::VulkanDispatch* vkDispatch = nullptr; if (impl->m_features.Vulkan.enabled()) { vkDispatch = vk::vkDispatch(false /* not for testing */); @@ -1315,8 +1390,6 @@ std::unique_ptr FrameBuffer::Impl::Create(FrameBuffer* frameb .useVulkanComposition = impl->m_useVulkanComposition, .useVulkanNativeSwapchain = impl->m_features.VulkanNativeSwapchain.enabled(), .guestRenderDoc = std::move(renderDocMultipleVkInstances), - .astcLdrEmulationMode = AstcEmulationMode::Gpu, - .enableEtc2Emulation = true, .enableYcbcrEmulation = false, .guestVulkanOnly = impl->m_features.GuestVulkanOnly.enabled(), .useDedicatedAllocations = false, // Set later. @@ -1466,6 +1539,14 @@ std::unique_ptr FrameBuffer::Impl::Create(FrameBuffer* frameb const uint64_t kOneSecondNs = 1000000000ULL; impl->m_vsyncThread.reset(new VsyncThread((uint64_t)kOneSecondNs / (uint64_t)impl->m_vsyncHz)); + if (width == 0 && height == 0) { + impl->m_lastPostedColorBuffer = + impl->createColorBuffer(1, 1, GfxstreamFormat::R8G8B8A8_UNORM); + if (impl->m_lastPostedColorBuffer) { + impl->openColorBuffer(impl->m_lastPostedColorBuffer); + } + } + // Nothing else to do - we're ready to rock! return impl; } @@ -1508,6 +1589,8 @@ FrameBuffer::Impl::Impl(FrameBuffer* framebuffer, int p_width, int p_height, } FrameBuffer::Impl::~Impl() { + m_processCleanupThread.stop(); + AutoLock fbLock(m_lock); m_postThread.enqueue({PostCmd::Exit}); @@ -1757,7 +1840,7 @@ bool FrameBuffer::Impl::setupSubWindow(FBNativeWindowType p_window, int wx, int // emulator. const bool shouldMoveSubWindow = !shouldCreateSubWindow && - !(m_x == wx && m_y == wy && m_windowWidth == ww && m_windowHeight == wh + !(m_x == wx && m_y == wy && m_windowWidth == ww && m_windowHeight == wh && m_dpr == dpr #if defined(__APPLE__) && m_zRot == zRot #endif @@ -2031,7 +2114,8 @@ HandleType FrameBuffer::Impl::createColorBufferDeprecated(int width, int height, bool FrameBuffer::Impl::createColorBufferWithResourceHandle(int p_width, int p_height, GfxstreamFormat format, - HandleType handle) { + HandleType handle, + bool linear) { { AutoLock mutex(m_lock); sweepColorBuffersLocked(); @@ -2044,7 +2128,7 @@ bool FrameBuffer::Impl::createColorBufferWithResourceHandle(int p_width, int p_h return false; } - if (!createColorBufferWithResourceHandleLocked(p_width, p_height, format, handle)) { + if (!createColorBufferWithResourceHandleLocked(p_width, p_height, format, handle, linear)) { GFXSTREAM_ERROR("Could not create color buffer"); return false; } @@ -2068,9 +2152,10 @@ bool FrameBuffer::Impl::createColorBufferWithResourceHandleDeprecated( bool FrameBuffer::Impl::createColorBufferWithResourceHandleLocked(int p_width, int p_height, GfxstreamFormat format, - HandleType handle) { + HandleType handle, + bool linear) { ColorBufferPtr cb = ColorBuffer::create(m_emulationGl.get(), m_emulationVk.get(), p_width, - p_height, format, handle, nullptr /*stream*/); + p_height, format, handle, nullptr /*stream*/, linear); if (cb.get() == nullptr) { GFXSTREAM_ERROR("Failed to create ColorBuffer:%d format:%d with:%d height:%d", handle, format, p_width, p_height); @@ -2319,8 +2404,8 @@ void FrameBuffer::Impl::eraseDelayedCloseColorBufferLocked(HandleType cb, uint64 void FrameBuffer::Impl::createGraphicsProcessResources(uint64_t puid) { bool inserted = false; { - AutoLock mutex(m_procOwnedResourcesLock); - inserted = m_procOwnedResources.try_emplace(puid, ProcessResources::create()).second; + std::lock_guard lock(m_guestProcessResourcesLock); + inserted = m_guestProcessResources.try_emplace(puid, GuestProcessResources::create()).second; } if (!inserted) { GFXSTREAM_WARNING("Failed to create process resource for puid %" PRIu64 ".", puid); @@ -2328,20 +2413,33 @@ void FrameBuffer::Impl::createGraphicsProcessResources(uint64_t puid) { } std::unique_ptr FrameBuffer::Impl::removeGraphicsProcessResources(uint64_t puid) { - std::unordered_map>::node_type node; + std::unique_ptr res; { - AutoLock mutex(m_procOwnedResourcesLock); - node = m_procOwnedResources.extract(puid); + std::lock_guard lock(m_guestProcessResourcesLock); + if (auto node = m_guestProcessResources.extract(puid)) { + res = std::move(node.mapped()); + } } - if (node.empty()) { + if (!res) { GFXSTREAM_WARNING("Failed to find process resource for puid %" PRIu64 ".", puid); return nullptr; } - std::unique_ptr res = std::move(node.mapped()); return res; } -void FrameBuffer::Impl::cleanupProcGLObjects(uint64_t puid) { +void FrameBuffer::Impl::signalGuestProcessDead(uint64_t puid) { + std::shared_ptr processResources = removeGraphicsProcessResources(puid); + m_processCleanupThread.enqueueCleanup( + [this, puid, processResources = std::move(processResources)]() { + this->cleanupGuestProcess(puid); + }); +} + +void FrameBuffer::Impl::waitForProcessCleanup() { + m_processCleanupThread.waitForCleanup(); +} + +void FrameBuffer::Impl::cleanupGuestProcess(uint64_t puid) { bool renderThreadWithThisPuidExists = false; do { @@ -2383,6 +2481,7 @@ void FrameBuffer::Impl::cleanupProcGLObjects(uint64_t puid) { std::vector FrameBuffer::Impl::cleanupProcGLObjects_locked(uint64_t puid, bool forced) NO_THREAD_SAFETY_ANALYSIS { + sweepColorBuffersLocked(); std::vector colorBuffersToCleanup; { std::unique_ptr bind = nullptr; @@ -2777,20 +2876,19 @@ Renderer::FlushReadPixelPipeline FrameBuffer::Impl::getFlushReadPixelPipeline() bool FrameBuffer::Impl::repost(bool needLockAndBind) { GFXSTREAM_DEBUG("Reposting framebuffer."); - if (m_displayVk) { - setGuestPostedAFrame(); - return true; - } if (m_lastPostedColorBuffer && sInitialized.load(std::memory_order_relaxed)) { GFXSTREAM_DEBUG("Has last posted colorbuffer and is initialized; post."); auto res = postImplSync(m_lastPostedColorBuffer, needLockAndBind, true); if (res) setGuestPostedAFrame(); return res; - } else { - GFXSTREAM_DEBUG("No repost: no last posted color buffer"); - if (!sInitialized.load(std::memory_order_relaxed)) { - GFXSTREAM_DEBUG("No repost: initialization is not finished."); - } + } + if (m_displayVk) { + setGuestPostedAFrame(); + return true; + } + GFXSTREAM_DEBUG("No repost: no last posted color buffer"); + if (!sInitialized.load(std::memory_order_relaxed)) { + GFXSTREAM_DEBUG("No repost: initialization is not finished."); } return false; } @@ -2983,9 +3081,11 @@ int FrameBuffer::Impl::getColorBufferScreenshot( if (m_compositor->getScaledDisplayRect(scaledDisplayRect, targetWidth, targetHeight)) { // Read the color buffer into a temporary storage std::vector tempBuffer; - tempBuffer.resize(scaledDisplayRect.size.w * scaledDisplayRect.size.h * numChannels); - cb->readToBytesScaled(scaledDisplayRect.size.w, scaledDisplayRect.size.h, skinRotation, - rect, pixelsFormat, tempBuffer.data(), colorTransform); + if (scaledDisplayRect.size.w > 0 && scaledDisplayRect.size.h > 0) { + tempBuffer.resize(scaledDisplayRect.size.w * scaledDisplayRect.size.h * numChannels); + cb->readToBytesScaled(scaledDisplayRect.size.w, scaledDisplayRect.size.h, skinRotation, + rect, pixelsFormat, tempBuffer.data(), colorTransform); + } // Copy color buffer into solid black background, based on display layout parameters // TODO(b/485981055): optimize this @@ -3131,16 +3231,13 @@ AsyncResult FrameBuffer::Impl::composeWithCallback(uint32_t bufferSize, void* bu bool FrameBuffer::Impl::onSave(Stream* stream, const ITextureSaverPtr& textureSaver) NO_THREAD_SAFETY_ANALYSIS { - // Things we do not need to snapshot: - // m_eglSurface - // m_eglContext - // m_pbufSurface - // m_pbufContext - // m_prevContext - // m_prevReadSurf - // m_prevDrawSurf + waitForProcessCleanup(); + AutoLock mutex(m_lock); + GFXSTREAM_DEBUG("snapshot save: save framebuffer"); + stream->putBe32(kFramebufferSnapshotVersionNumber); + std::unique_ptr bind; #if GFXSTREAM_ENABLE_HOST_GLES if (m_emulationGl) { @@ -3164,6 +3261,7 @@ bool FrameBuffer::Impl::onSave(Stream* stream, stream->putBe32(m_framebufferHeight); stream->putFloat(m_dpr); stream->putBe32(mDisplayActiveConfigId); + GFXSTREAM_DEBUG("snapshot save: saving %zu display configs", mDisplayConfigs.size()); saveCollection(stream, mDisplayConfigs, [](Stream* s, const std::map::value_type& pair) { s->putBe32(pair.first); @@ -3183,6 +3281,7 @@ bool FrameBuffer::Impl::onSave(Stream* stream, currentId = nextId; } + GFXSTREAM_DEBUG("snapshot save: saving %zu displays", displayIds.size()); stream->putBe32(displayIds.size()); for (uint32_t id : displayIds) { stream->putBe32(id); @@ -3200,7 +3299,6 @@ bool FrameBuffer::Impl::onSave(Stream* stream, // we skip reading from GPU (for non-texture objects) or force a restore in // previous eglPreSaveContext and eglSaveAllImages calls (for texture // objects). - // TODO: skip reading from GPU even for texture objects. #if GFXSTREAM_ENABLE_HOST_GLES if (m_emulationGl) { m_emulationGl->saveContexts(stream); @@ -3213,15 +3311,29 @@ bool FrameBuffer::Impl::onSave(Stream* stream, { AutoLock colorBufferMapLock(m_colorBufferMapLock); + const size_t colorBufferCount = m_colorbuffers.size(); + if (colorBufferCount > kNumMaxColorBuffers) { + GFXSTREAM_ERROR("snapshot save: too many color buffers: %zu", colorBufferCount); + return false; + } + GFXSTREAM_DEBUG("snapshot save: save %zu color buffers", colorBufferCount); stream->putByte(m_guestManagedColorBufferLifetime); - saveCollection(stream, m_colorbuffers, [now](Stream* s, const auto& pair) { - auto cb = pair.second.cb; - assert(cb); - cb->onSave(s); - s->putBe32(pair.second.refcount); - s->putByte(pair.second.opened); - s->putBe32(std::max(0, now - pair.second.closedTs)); - }); + bool colorBuffersSaved = + trySaveCollection(stream, m_colorbuffers, kNumMaxColorBuffers, + [now](Stream* s, const auto& pair) { + if (!pair.second.cb->onSave(s)) { + return false; + } + s->putBe32(pair.second.refcount); + s->putByte(pair.second.opened); + s->putBe32(std::max(0, now - pair.second.closedTs)); + return true; + }); + + if (!colorBuffersSaved) { + GFXSTREAM_ERROR("snapshot save: could not save %zu color buffers", colorBufferCount); + return false; + } } stream->putBe32(m_lastPostedColorBuffer); #if GFXSTREAM_ENABLE_HOST_GLES @@ -3243,11 +3355,18 @@ bool FrameBuffer::Impl::onSave(Stream* stream, } #endif - // TODO(b/309858017): remove if when ready to bump snapshot version - if (m_features.VulkanSnapshots.enabled()) { - AutoLock procResourceLock(m_procOwnedResourcesLock); - stream->putBe64(m_procOwnedResources.size()); - for (const auto& element : m_procOwnedResources) { + // save process owned resources + { + std::lock_guard lock(m_guestProcessResourcesLock); + size_t procResourceCount = m_guestProcessResources.size(); + if (procResourceCount > kNumMaxProcessResources) { + GFXSTREAM_ERROR("snapshot save: too many process owned resources: %zu", + procResourceCount); + return false; + } + GFXSTREAM_DEBUG("snapshot save: save %zu process owned resources", procResourceCount); + stream->putBe64(procResourceCount); + for (const auto& element : m_guestProcessResources) { stream->putBe64(element.first); stream->putBe32(element.second->getSequenceNumberPtr()->load()); } @@ -3255,6 +3374,7 @@ bool FrameBuffer::Impl::onSave(Stream* stream, // Save Vulkan state if (m_features.VulkanSnapshots.enabled() && vk::VkDecoderGlobalState::get()) { + GFXSTREAM_DEBUG("snapshot save: save decoder global state"); bool res = vk::VkDecoderGlobalState::get()->save(stream); if (!res) { return false; @@ -3267,12 +3387,32 @@ bool FrameBuffer::Impl::onSave(Stream* stream, EmulatedEglFenceSync::onSave(stream); } #endif + + // Finish with a magic number to be able to verify load later on. + stream->putBe32(kFramebufferSnapshotMagicNumber); + + if (stream->hasErrors()) { + GFXSTREAM_ERROR("snapshot save: stream has errors: %s", stream->getErrors().value_or("unknown error").c_str()); + return false; + } + return true; } bool FrameBuffer::Impl::onLoad(Stream* stream, const ITextureLoaderPtr& textureLoader) NO_THREAD_SAFETY_ANALYSIS { AutoLock lock(m_lock); + + GFXSTREAM_DEBUG("snapshot load: load framebuffer"); + const uint32_t versionSaved = stream->getBe32(); + if (versionSaved != kFramebufferSnapshotVersionNumber) { + // The global snapshot version should be updated when changing the version for the + // framebuffer here in order to avoid this situation. + GFXSTREAM_ERROR("Unsupported snapshot version: 0x%x (Version supported: 0x%x)", + versionSaved, kFramebufferSnapshotVersionNumber); + return false; + } + // cleanups { sweepColorBuffersLocked(); @@ -3344,8 +3484,8 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, } { - AutoLock mutex(m_procOwnedResourcesLock); - m_procOwnedResources.clear(); + std::lock_guard lockGuestProcessResources(m_guestProcessResourcesLock); + m_guestProcessResources.clear(); } performDelayedColorBufferCloseLocked(true); @@ -3371,7 +3511,6 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, GFXSTREAM_ERROR("warning: on load, stale colorbuffers: %zu", m_colorbuffers.size()); m_colorbuffers.clear(); } - assert(m_colorbuffers.empty()); } #if GFXSTREAM_ENABLE_HOST_GLES if (m_emulationGl) { @@ -3393,12 +3532,14 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, int dpiY = static_cast(s->getBe32()); return {idx, {w, h, dpiX, dpiY}}; }); + GFXSTREAM_DEBUG("snapshot load: loaded %zu display configs", mDisplayConfigs.size()); uint32_t numDisplays = stream->getBe32(); for (uint32_t i = 0; i < numDisplays; ++i) { uint32_t displayId = stream->getBe32(); get_gfxstream_multi_display_operations().create_display(&displayId); } + GFXSTREAM_DEBUG("snapshot load: loaded %u displays", numDisplays); // TODO: resize the window // @@ -3420,15 +3561,18 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, auto now = gfxstream::base::getUnixTimeUs(); { + GFXSTREAM_DEBUG("snapshot load: load color buffers"); AutoLock colorBufferMapLock(m_colorBufferMapLock); m_guestManagedColorBufferLifetime = stream->getByte(); - loadCollection( - stream, &m_colorbuffers, - [this, now](Stream* stream) -> std::pair { + bool colorBuffersLoaded = tryLoadCollection( + stream, &m_colorbuffers, kNumMaxColorBuffers, + [this, now](Stream* stream) + -> std::optional> { ColorBufferPtr cb = ColorBuffer::onLoad(m_emulationGl.get(), m_emulationVk.get(), stream); if (!cb) { - GFXSTREAM_FATAL("Cannot load color buffer for the snapshot!"); + GFXSTREAM_ERROR("Cannot load color buffer for the snapshot!"); + return std::nullopt; } const HandleType handle = cb->getHndl(); const unsigned refCount = stream->getBe32(); @@ -3437,9 +3581,16 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, if (refCount == 0) { m_colorBufferDelayedCloseList.push_back({closedTs, handle}); } - return {handle, - ReferenceCountedColorBuffer{std::move(cb), refCount, opened, closedTs}}; + return std::make_optional(std::make_pair( + handle, + ReferenceCountedColorBuffer{std::move(cb), refCount, opened, closedTs})); }); + + if (!colorBuffersLoaded) { + GFXSTREAM_ERROR("snapshot load: could not load color buffers"); + return false; + } + GFXSTREAM_DEBUG("snapshot load: %zu color buffers loaded", m_colorbuffers.size()); } m_lastPostedColorBuffer = static_cast(stream->getBe32()); GFXSTREAM_DEBUG("Got lasted posted color buffer from snapshot"); @@ -3474,19 +3625,26 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, m_emulationGl->loadProcOwnedContexts(stream); } #endif - // TODO(b/309858017): remove if when ready to bump snapshot version - if (m_features.VulkanSnapshots.enabled()) { - size_t resourceCount = stream->getBe64(); - for (size_t i = 0; i < resourceCount; i++) { + + // load process owned resources + { + uint64_t resourceCount = stream->getBe64(); + if (resourceCount > kNumMaxProcessResources) { + GFXSTREAM_ERROR("%s:%d - too many process resources in snapshot: %" PRIu64, __func__, + __LINE__, resourceCount); + return false; + } + for (uint64_t i = 0; i < resourceCount; i++) { uint64_t puid = stream->getBe64(); uint32_t sequenceNumber = stream->getBe32(); - std::unique_ptr processResources = ProcessResources::create(); + std::unique_ptr processResources = GuestProcessResources::create(); processResources->getSequenceNumberPtr()->store(sequenceNumber); { - AutoLock mutex(m_procOwnedResourcesLock); - m_procOwnedResources.emplace(puid, std::move(processResources)); + std::lock_guard lockGuestProcessResources(m_guestProcessResourcesLock); + m_guestProcessResources.emplace(puid, std::move(processResources)); } } + GFXSTREAM_DEBUG("snapshot load: loaded %zu process resources", resourceCount); } #if GFXSTREAM_ENABLE_HOST_GLES @@ -3519,10 +3677,18 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, // Restore Vulkan state if (m_features.VulkanSnapshots.enabled() && vk::VkDecoderGlobalState::get()) { + GFXSTREAM_DEBUG("snapshot load: load decoder global state"); lock.unlock(); GfxApiLogger gfxLogger; - vk::VkDecoderGlobalState::get()->load(stream, gfxLogger); + const bool vkLoaded = vk::VkDecoderGlobalState::get()->load(stream, gfxLogger); lock.lock(); + if (!vkLoaded) { + // The stream position is undefined after a failed load, so any further reads + // (including the trailing magic number check) would be meaningless. + GFXSTREAM_ERROR("%s:%d - failed to load Vulkan decoder global state.", __func__, + __LINE__); + return false; + } } repost(false); @@ -3533,6 +3699,21 @@ bool FrameBuffer::Impl::onLoad(Stream* stream, } #endif + // Check if the stream is read correctly by checking a magic number at the end of the stream. + uint32_t magicNumberLoaded = stream->getBe32(); + if (magicNumberLoaded != kFramebufferSnapshotMagicNumber) { + GFXSTREAM_ERROR("%s:%d - framebuffer snapshot magic number mismatch: 0x%x", __func__, + __LINE__, magicNumberLoaded); + return false; + } + + if (stream->hasErrors()) { + GFXSTREAM_ERROR("%s:%d - stream has errors: %s", __func__, __LINE__, stream->getErrors().value_or("unknown error").c_str()); + return false; + } + + GFXSTREAM_DEBUG("snapshot load: framebuffer loaded successfully"); + return true; // TODO: restore memory management } @@ -3640,9 +3821,9 @@ CancelableFuture FrameBuffer::Impl::scheduleAsyncWork(std::function work const ProcessResources* FrameBuffer::Impl::getProcessResources(uint64_t puid) { { - AutoLock mutex(m_procOwnedResourcesLock); - auto i = m_procOwnedResources.find(puid); - if (i != m_procOwnedResources.end()) { + std::lock_guard lock(m_guestProcessResourcesLock); + auto i = m_guestProcessResources.find(puid); + if (i != m_guestProcessResources.end()) { return i->second.get(); } } @@ -3698,6 +3879,15 @@ int FrameBuffer::Impl::setDisplayColorTransform(uint32_t displayId, colorTransform); } +int FrameBuffer::Impl::getDisplayPowerMode(uint32_t displayId, uint32_t* powerMode) { + return get_gfxstream_multi_display_operations().get_display_power_mode(displayId, powerMode); +} + +int FrameBuffer::Impl::setDisplayPowerMode(uint32_t displayId, uint32_t powerMode) { + return get_gfxstream_multi_display_operations().set_display_power_mode(displayId, powerMode); +} + + void FrameBuffer::Impl::sweepColorBuffersLocked() { HandleType handleToDestroy = 0; while (mOutstandingColorBufferDestroys.tryReceive(&handleToDestroy)) { @@ -3930,10 +4120,11 @@ void FrameBuffer::Impl::setScreenBackground(int width, int height, const uint8_t // Try to update the display at least 30 times a second, in case the guest is not // updating the display - if (m_guestPostedAFrameTime && m_lastPostedColorBuffer) { + if (m_lastPostedColorBuffer) { const std::chrono::milliseconds maxUpdateLatency(1000 / 30); const auto nowTime = std::chrono::steady_clock::now(); - bool shouldRepost = (nowTime - m_guestPostedAFrameTime.value()) > maxUpdateLatency; + bool shouldRepost = !m_guestPostedAFrameTime || + (nowTime - m_guestPostedAFrameTime.value()) > maxUpdateLatency; if (prevImageSize != mScreenBackgroundImage.m_rgbaData.size()) { // Always repost if the image size has changed, e.g. disabling background image shouldRepost = true; @@ -4516,8 +4707,8 @@ HandleType FrameBuffer::createColorBufferDeprecated(int width, int height, GLenu } bool FrameBuffer::createColorBufferWithResourceHandle(int width, int height, GfxstreamFormat format, - HandleType handle) { - return mImpl->createColorBufferWithResourceHandle(width, height, format, handle); + HandleType handle, bool linear) { + return mImpl->createColorBufferWithResourceHandle(width, height, format, handle, linear); } bool FrameBuffer::createColorBufferWithResourceHandleDeprecated(int width, int height, @@ -4554,7 +4745,9 @@ std::unique_ptr FrameBuffer::removeGraphicsProcessResources(ui return mImpl->removeGraphicsProcessResources(puid); } -void FrameBuffer::cleanupProcGLObjects(uint64_t puid) { mImpl->cleanupProcGLObjects(puid); } +void FrameBuffer::signalGuestProcessDead(uint64_t puid) { mImpl->signalGuestProcessDead(puid); } + +void FrameBuffer::waitForProcessCleanup() { mImpl->waitForProcessCleanup(); } void FrameBuffer::readBuffer(HandleType p_buffer, uint64_t offset, uint64_t size, void* bytes) { mImpl->readBuffer(p_buffer, offset, size, bytes); @@ -4786,6 +4979,15 @@ int FrameBuffer::setDisplayColorTransform(uint32_t displayId, const float colorT return mImpl->setDisplayColorTransform(displayId, colorTransform); } +int FrameBuffer::getDisplayPowerMode(uint32_t displayId, uint32_t* powerMode) { + return mImpl->getDisplayPowerMode(displayId, powerMode); +} + +int FrameBuffer::setDisplayPowerMode(uint32_t displayId, uint32_t powerMode) { + return mImpl->setDisplayPowerMode(displayId, powerMode); +} + + HandleType FrameBuffer::getLastPostedColorBuffer() { return mImpl->getLastPostedColorBuffer(); } void FrameBuffer::asyncWaitForGpuVulkanWithCb(uint64_t deviceHandle, uint64_t fenceHandle, diff --git a/host/frame_buffer.h b/host/frame_buffer.h index 2c1586b2b..27c1f0a5e 100644 --- a/host/frame_buffer.h +++ b/host/frame_buffer.h @@ -154,7 +154,7 @@ class FrameBuffer : public gfxstream::base::EventNotificationSupport removeGraphicsProcessResources(uint64_t puid); - // TODO(kaiyili): retire cleanupProcGLObjects in favor of removeGraphicsProcessResources. - void cleanupProcGLObjects(uint64_t puid); + void signalGuestProcessDead(uint64_t puid); + void waitForProcessCleanup(); // Read the content of a given Buffer into client memory. // |p_buffer| is the Buffer's handle value. @@ -393,6 +393,8 @@ class FrameBuffer : public gfxstream::base::EventNotificationSupportremoveGraphicsProcessResources(contextId); } +TEST_F(FrameBufferTest, CleanupProcGLObjects) { + if (!mFb->hasEmulationGl()) { + GTEST_SKIP() << "GL emulation not enabled."; + } + + const uint64_t testPuid = 42; + mRenderThreadInfo->setPuid(testPuid); + EXPECT_EQ(testPuid, mRenderThreadInfo->m_glInfo->m_puid); + + HandleType context = mFb->createEmulatedEglContext(0, 0, gl::GLESApi_2); + EXPECT_NE((HandleType)0, context); + HandleType surface = mFb->createEmulatedEglWindowSurface(0, mWidth, mHeight); + EXPECT_NE((HandleType)0, surface); + EXPECT_TRUE(mFb->getEmulationGl()->hasContextsOrWindowSurfaces()); + EXPECT_TRUE(mFb->getEmulationGl()->hasProcOwnedResources()); + + // Simulate render thread exit for this process before cleanupProcGLObjects + mRenderThreadInfo->setPuid(0); + mFb->signalGuestProcessDead(testPuid); + mFb->waitForProcessCleanup(); + + EXPECT_FALSE(mFb->getEmulationGl()->hasProcOwnedResources()); + EXPECT_FALSE(mFb->getEmulationGl()->hasContextsOrWindowSurfaces()); + + // Verify fallback thread context tracking when puid == 0 + HandleType threadContext = mFb->createEmulatedEglContext(0, 0, gl::GLESApi_2); + EXPECT_NE((HandleType)0, threadContext); + EXPECT_TRUE(mFb->getEmulationGl()->hasContextsOrWindowSurfaces()); + mFb->getEmulationGl()->drainRenderThreadContexts(); + EXPECT_FALSE(mFb->getEmulationGl()->hasContextsOrWindowSurfaces()); +} + } // namespace } // namespace host } // namespace gfxstream diff --git a/host/gfxstream_unittest.cpp b/host/gfxstream_unittest.cpp index 7b43856f0..788e92baa 100644 --- a/host/gfxstream_unittest.cpp +++ b/host/gfxstream_unittest.cpp @@ -20,18 +20,19 @@ #include "gfxstream/system/System.h" #include "gfxstream/virtio-gpu-gfxstream-renderer-unstable.h" #include "gfxstream/virtio-gpu-gfxstream-renderer.h" +#include "virtgpu_gfxstream_protocol.h" #include "virtio_gpu_format_utils.h" using gfxstream::base::sleepMs; class GfxStreamBackendTest : public ::testing::Test { -private: - static void sWriteFence(void* cookie, struct stream_renderer_fence* fence) { - uint32_t current = *(uint32_t*)cookie; - if (current < fence->fence_id) *(uint64_t*)(cookie) = fence->fence_id; - } + private: + static void sWriteFence(void* cookie, struct stream_renderer_fence* fence) { + uint32_t current = *(uint32_t*)cookie; + if (current < fence->fence_id) *(uint64_t*)(cookie) = fence->fence_id; + } -protected: + protected: uint32_t cookie; static const bool useWindow; std::vector streamRendererParams; @@ -87,7 +88,7 @@ class GfxStreamBackendTest : public ::testing::Test { std::unique_ptr GfxStreamBackendTest::window = nullptr; const bool GfxStreamBackendTest::useWindow = - gfxstream::base::getEnvironmentVariable("ANDROID_EMU_TEST_WITH_WINDOW") == "1"; + gfxstream::base::getEnvironmentVariable("ANDROID_EMU_TEST_WITH_WINDOW") == "1"; TEST_F(GfxStreamBackendTest, Init) { stream_renderer_init(streamRendererParams.data(), streamRendererParams.size()); @@ -99,14 +100,14 @@ TEST_F(GfxStreamBackendTest, InitOpenGLWindow) { } std::vector glParams = streamRendererParams; - for (auto& param: glParams) { + for (auto& param : glParams) { if (param.key == STREAM_RENDERER_PARAM_RENDERER_FLAGS) { param.value = rendererFlags; } } stream_renderer_init(glParams.data(), glParams.size()); - gfxstream_backend_setup_window(window->getFramebufferNativeWindow(), 0, 0, - width, height, width, height); + gfxstream_backend_setup_window(window->getFramebufferNativeWindow(), 0, 0, width, height, width, + height); } TEST_F(GfxStreamBackendTest, SimpleFlush) { @@ -203,3 +204,55 @@ TEST_F(GfxStreamBackendTest, MissingRequiredParameter) { int initResult = stream_renderer_init(streamRendererParams.data(), streamRendererParams.size()); EXPECT_EQ(initResult, 0); } + +TEST_F(GfxStreamBackendTest, RenderThreadTracking) { + int initResult = stream_renderer_init(streamRendererParams.data(), streamRendererParams.size()); + EXPECT_EQ(initResult, 0); + struct GfxstreamMetrics metrics = {}; + EXPECT_EQ(stream_renderer_get_metrics(&metrics), 0); + const uint32_t initialRenderThreads = metrics.render_thread_count; + EXPECT_GT(initialRenderThreads, 0); + + { + const uint32_t context_id = 1; + EXPECT_EQ(stream_renderer_context_create(context_id, 0, nullptr, 0), 0); + + // When `blob_id` is 0, creating a pipe resource which is just for communication: + const uint32_t blob_resource_id = 1; + const struct stream_renderer_create_blob create_blob = { + .blob_mem = STREAM_BLOB_MEM_HOST3D, + .blob_flags = STREAM_BLOB_FLAG_USE_MAPPABLE, + .blob_id = 0, + .size = 2 * 1024 * 1024, + }; + EXPECT_EQ(stream_renderer_create_blob(context_id, blob_resource_id, &create_blob, nullptr, + 0, nullptr), + 0); + + const struct gfxstream::gfxstreamContextCreate contextCreate = { + .hdr = + { + .opCode = GFXSTREAM_CONTEXT_CREATE, + }, + .resourceId = blob_resource_id, + }; + struct stream_renderer_command cmd = { + .ctx_id = context_id, + .cmd_size = sizeof(contextCreate), + .cmd = reinterpret_cast( + const_cast(&contextCreate)), + .num_in_fences = 0, + .fences = nullptr, + }; + EXPECT_EQ(stream_renderer_submit_cmd(&cmd), 0); + + EXPECT_EQ(stream_renderer_get_metrics(&metrics), 0); + EXPECT_EQ(metrics.render_thread_count, initialRenderThreads + 1); + + stream_renderer_context_destroy(context_id); + stream_renderer_resource_unref(blob_resource_id); + } + + EXPECT_EQ(stream_renderer_get_metrics(&metrics), 0); + EXPECT_EQ(metrics.render_thread_count, initialRenderThreads); +} diff --git a/host/gl/color_buffer_gl.cpp b/host/gl/color_buffer_gl.cpp index a7fa337aa..7a4be59e9 100644 --- a/host/gl/color_buffer_gl.cpp +++ b/host/gl/color_buffer_gl.cpp @@ -599,7 +599,7 @@ bool ColorBufferGl::readPixelsScaled(int width, int height, int rotation, const GFXSTREAM_ERROR( "readPixelsScaled failed. Out-of-bound rectangle: (%d, %d) [%d x %d]" " with screen [%d x %d]", - rect.pos.x, rect.pos.y, rect.size.w, rect.size.h); + rect.pos.x, rect.pos.y, rect.size.w, rect.size.h, width, height); return false; } @@ -620,6 +620,10 @@ bool ColorBufferGl::readPixelsScaled(int width, int height, int rotation, const const GLenum pixelDataType = *pixelDataTypeOpt; waitSync(); + if (!m_resizer) { + GFXSTREAM_ERROR("Failed to readPixelsScaled: m_resizer is null."); + return false; + } GLuint tex = m_resizer->update(m_tex, width, height, rotation); if (bindFbo(&m_scaleRotationFbo, tex, m_needFboReattach)) { m_needFboReattach = false; @@ -1059,7 +1063,12 @@ bool ColorBufferGl::bindToRenderbuffer() { return true; } -GLuint ColorBufferGl::getViewportScaledTexture() { return m_resizer->update(m_tex); } +GLuint ColorBufferGl::getViewportScaledTexture() { + if (!m_resizer) { + return m_tex; + } + return m_resizer->update(m_tex); +} void ColorBufferGl::setSync(bool debug) { m_sync = (GLsync)s_egl.eglSetImageFenceANDROID(m_display, m_eglImage); @@ -1132,7 +1141,7 @@ bool ColorBufferGl::readbackAsync(GLuint buffer, bool readbackBgra) { HandleType ColorBufferGl::getHndl() const { return mHndl; } -void ColorBufferGl::onSave(gfxstream::Stream* stream) { +bool ColorBufferGl::onSave(gfxstream::Stream* stream) { stream->putBe32(getHndl()); stream->putBe32(static_cast(m_width)); stream->putBe32(static_cast(m_height)); @@ -1142,6 +1151,13 @@ void ColorBufferGl::onSave(gfxstream::Stream* stream) { stream->putBe32(reinterpret_cast(m_eglImage)); stream->putBe32(reinterpret_cast(m_blitEGLImage)); stream->putBe32(m_needFormatCheck); + + if (stream->hasErrors()) { + GFXSTREAM_ERROR("ColorBufferGl::onSave failed with errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return false; + } + return true; } std::unique_ptr ColorBufferGl::onLoad(gfxstream::Stream* stream, @@ -1187,6 +1203,10 @@ std::unique_ptr ColorBufferGl::onLoad(gfxstream::Stream* stream, void ColorBufferGl::restore() { RecursiveScopedContextBind context(m_helper); + if (!context.isOk()) { + GFXSTREAM_ERROR("Failed to bind context in ColorBufferGl::restore()"); + return; + } s_gles2.glGenTextures(1, &m_tex); s_gles2.glBindTexture(GL_TEXTURE_2D, m_tex); s_gles2.glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, m_eglImage); @@ -1211,6 +1231,10 @@ void ColorBufferGl::postLayer(const ComposeLayer& l, int frameWidth, int frameHe bool ColorBufferGl::importMemory(ManagedDescriptor externalDescriptor, uint64_t size, bool dedicated, bool linearTiling) { RecursiveScopedContextBind context(m_helper); + if (!context.isOk()) { + GFXSTREAM_ERROR("Failed to bind context in ColorBufferGl::importMemory()"); + return false; + } s_gles2.glCreateMemoryObjectsEXT(1, &m_memoryObject); if (dedicated) { static const GLint DEDICATED_FLAG = GL_TRUE; diff --git a/host/gl/color_buffer_gl.h b/host/gl/color_buffer_gl.h index 937434b63..ac20fac96 100644 --- a/host/gl/color_buffer_gl.h +++ b/host/gl/color_buffer_gl.h @@ -188,7 +188,7 @@ class ColorBufferGl { // readback() but async (to the specified |buffer|) bool readbackAsync(GLuint buffer, bool readbackBgra = false); - void onSave(gfxstream::Stream* stream); + bool onSave(gfxstream::Stream* stream); static std::unique_ptr onLoad(gfxstream::Stream* stream, EGLDisplay p_display, ContextHelper* helper, TextureDraw* textureDraw, bool fastBlitSupported, diff --git a/host/gl/display_surface_gl.cpp b/host/gl/display_surface_gl.cpp index 3ad225bc8..d801d171f 100644 --- a/host/gl/display_surface_gl.cpp +++ b/host/gl/display_surface_gl.cpp @@ -16,6 +16,9 @@ #include +#include +#include +#include #include #include "OpenGLESDispatch/DispatchTables.h" @@ -33,12 +36,20 @@ struct PreviousContextInfo { EGLSurface drawSurface = EGL_NO_SURFACE; }; -struct ThreadState { - std::vector previousContexts; -}; - -static thread_local ThreadState sThreadState; - +// Permanently wraps a single (mDisplay, mSurface, mContext) triple and manages +// temporary scoped binds via setupContext() / teardownContext(). +// +// This addresses two requirements (b/320319509, b/561516389): +// 1. Cross-thread safety: EGL only allows mContext/mSurface to be current on +// ONE thread at a time (concurrent eglMakeCurrent on another thread fails +// with EGL_BAD_ACCESS). mMutex serializes threads so a second thread waits +// until the owning thread finishes its outermost teardownContext() and +// unbinds mContext. +// 2. Same-thread recursion: Because mMutex is a std::recursive_mutex, the +// owning thread can nest multiple setupContext() calls without deadlocking. +// Each setupContext() pushes the active context onto this helper's +// mPreviousContexts stack, and the original context is restored when the +// outermost teardownContext() pops the last entry. class DisplaySurfaceGlContextHelper : public ContextHelper { public: DisplaySurfaceGlContextHelper(EGLDisplay display, @@ -58,8 +69,24 @@ class DisplaySurfaceGlContextHelper : public ContextHelper { } } + ~DisplaySurfaceGlContextHelper() override { + const std::thread::id owner = mOwnerThread.load(std::memory_order_relaxed); + if (owner != std::thread::id()) { + GFXSTREAM_ERROR("DisplaySurfaceGlContextHelper context=%p destroyed while still bound.", + mContext); + if (owner == std::this_thread::get_id()) { + while (!mPreviousContexts.empty()) { + mPreviousContexts.pop_back(); + mMutex.unlock(); + } + releaseOwnership(); + } + } + } + bool setupContext() override { - auto& previousContexts = sThreadState.previousContexts; + mMutex.lock(); + mOwnerThread.store(std::this_thread::get_id(), std::memory_order_relaxed); EGLContext currentContext = s_egl.eglGetCurrentContext(); EGLSurface currentDrawSurface = s_egl.eglGetCurrentSurface(EGL_DRAW); @@ -70,12 +97,15 @@ class DisplaySurfaceGlContextHelper : public ContextHelper { currentReadSurface != mSurface); if (needsUpdate) { - if (!previousContexts.empty()) { + // If mPreviousContexts is non-empty, an outer setupContext() on this + // thread already bound mContext, so currentContext != mContext means + // some code in between switched the thread's EGL context behind this + // helper's back. Log and re-bind mContext to recover. + if (!mPreviousContexts.empty()) { GFXSTREAM_ERROR( "DisplaySurfaceGlContextHelper context was preempted by others, " - "current=%p, needed=%p, thread=%p", - currentContext, mContext, &sThreadState); - // Fall through to attempt to recover from error. + "current=%p, needed=%p", + currentContext, mContext); } if (!s_egl.eglMakeCurrent(mDisplay, mSurface, mSurface, mContext)) { @@ -83,11 +113,15 @@ class DisplaySurfaceGlContextHelper : public ContextHelper { // Legacy swiftshader logspam on exit with this line. GFXSTREAM_DEBUG("Failed to make display surface context current: %d", s_egl.eglGetError()); - // Fall through to allow adding previous context to stack. + if (mPreviousContexts.empty()) { + releaseOwnership(); + } + mMutex.unlock(); + return false; } } - previousContexts.push_back( + mPreviousContexts.push_back( {.context = currentContext, .readSurface = currentReadSurface, .drawSurface = currentDrawSurface}); @@ -95,40 +129,75 @@ class DisplaySurfaceGlContextHelper : public ContextHelper { } void teardownContext() override { - auto& previousContexts = sThreadState.previousContexts; + if (mOwnerThread.load(std::memory_order_relaxed) != std::this_thread::get_id()) { + GFXSTREAM_ERROR( + "DisplaySurfaceGlContextHelper context=%p teardown from a thread that did not " + "bind it, ignoring.", + mContext); + return; + } + if (mPreviousContexts.empty()) { + GFXSTREAM_ERROR( + "DisplaySurfaceGlContextHelper context=%p teardown without a matching setup.", + mContext); + releaseOwnership(); + return; + } + + const PreviousContextInfo previous = mPreviousContexts.back(); + mPreviousContexts.pop_back(); + // True only when unwinding the very first (outermost) setupContext() + // call on this thread; false when unwinding a nested inner bind. + const bool outermost = mPreviousContexts.empty(); EGLContext currentContext = s_egl.eglGetCurrentContext(); EGLSurface currentDrawSurface = s_egl.eglGetCurrentSurface(EGL_DRAW); EGLSurface currentReadSurface = s_egl.eglGetCurrentSurface(EGL_READ); - PreviousContextInfo newContext; - if (!previousContexts.empty()) { - newContext = previousContexts.back(); - previousContexts.pop_back(); - } + bool needsUpdate = (currentContext != previous.context || + currentDrawSurface != previous.drawSurface || + currentReadSurface != previous.readSurface); - bool needsUpdate = (currentContext != newContext.context || - currentDrawSurface != newContext.drawSurface || - currentReadSurface != newContext.readSurface); - - if (!needsUpdate) { - return; + if (needsUpdate) { + if (!s_egl.eglMakeCurrent(mDisplay, + previous.drawSurface, + previous.readSurface, + previous.context)) { + GFXSTREAM_ERROR("Failed to restore previous context: %d", s_egl.eglGetError()); + if (outermost) { + // Ensure mContext/mSurface are not left stranded on this thread, + // otherwise subsequent threads will fail with EGL_BAD_ACCESS (12290). + s_egl.eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); + } + } } - if (!s_egl.eglMakeCurrent(mDisplay, - newContext.drawSurface, - newContext.readSurface, - newContext.context)) { - GFXSTREAM_ERROR("Failed to restore previous context: %d", s_egl.eglGetError()); + // Release ownership and unlock only after the previous context is restored + // so another waiting thread can safely bind mContext. + if (outermost) { + releaseOwnership(); } + mMutex.unlock(); } - bool isBound() const override { return !sThreadState.previousContexts.empty(); } + // Whether this helper is currently bound on the calling thread. + bool isBound() const override { + return mOwnerThread.load(std::memory_order_relaxed) == std::this_thread::get_id(); + } private: + void releaseOwnership() { mOwnerThread.store(std::thread::id(), std::memory_order_relaxed); } + EGLDisplay mDisplay = EGL_NO_DISPLAY; EGLSurface mSurface = EGL_NO_SURFACE; EGLContext mContext = EGL_NO_CONTEXT; + + // Serializes cross-thread access to mContext/mSurface while permitting + // nested setupContext() calls on the owning thread. + std::recursive_mutex mMutex; + std::atomic mOwnerThread{}; + // Per-helper LIFO stack of saved contexts for nested binds on mOwnerThread. + std::vector mPreviousContexts; }; } // namespace diff --git a/host/gl/emulated_egl_window_surface.cpp b/host/gl/emulated_egl_window_surface.cpp index 34ed7cfc3..451a91a6d 100644 --- a/host/gl/emulated_egl_window_surface.cpp +++ b/host/gl/emulated_egl_window_surface.cpp @@ -244,11 +244,17 @@ std::unique_ptr EmulatedEglWindowSurface::onLoad( } auto surface = create(display, config, width, height, hndl); - assert(surface); + if (!surface) { + GFXSTREAM_ERROR("Could not create Egl window surface for handle: %u", hndl); + return nullptr; + } // fb is already locked by its caller if (colorBufferHndl) { surface->mAttachedColorBuffer = colorBufferLookup(colorBufferHndl); - assert(surface->mAttachedColorBuffer); + if (!surface->mAttachedColorBuffer) { + GFXSTREAM_ERROR("Could not find color buffer for handle: %u", colorBufferHndl); + return nullptr; + } } surface->mReadContext = gfxstream::base::findOrDefault(contexts, readCtx); surface->mDrawContext = gfxstream::base::findOrDefault(contexts, drawCtx); diff --git a/host/gl/emulation_gl.cpp b/host/gl/emulation_gl.cpp index d6c04efe2..feb719abf 100644 --- a/host/gl/emulation_gl.cpp +++ b/host/gl/emulation_gl.cpp @@ -999,6 +999,8 @@ HandleType EmulationGl::createEmulatedEglContext(uint32_t emulatedConfigIndex, uint64_t puid = tinfo->m_puid; if (puid) { mProcOwnedEmulatedEglContexts[puid].insert(handle); + } else { + tinfo->m_contextSet.insert(handle); } return handle; } @@ -1244,26 +1246,43 @@ void EmulationGl::saveProcOwnedImages(Stream* stream) { } bool EmulationGl::loadContexts(Stream* stream) { - loadCollection(stream, &mContexts, [this](Stream* stream) -> EmulatedEglContextMap::value_type { + bool loadOk = true; + loadCollection(stream, &mContexts, [this, &loadOk](Stream* stream) -> EmulatedEglContextMap::value_type { auto context = loadEmulatedEglContext(stream); auto contextHandle = context ? context->getHndl() : 0; + if (!context) { + // Do not return, keep reading the stream + loadOk = false; + } return {contextHandle, std::move(context)}; }); - assert(!gfxstream::base::find(mContexts, 0)); + if (!loadOk) { + GFXSTREAM_ERROR("Could not load contexts"); + return false; + } return true; } bool EmulationGl::loadWindowSurfaces( Stream* stream, const std::function& colorBufferLookup) { + bool loadOk = true; loadCollection( stream, &mWindows, - [this, &colorBufferLookup](Stream* stream) -> EmulatedEglWindowSurfaceMap::value_type { + [this, &colorBufferLookup, &loadOk](Stream* stream) -> EmulatedEglWindowSurfaceMap::value_type { auto window = loadEmulatedEglWindowSurface(stream, colorBufferLookup, mContexts); - - HandleType handle = window->getHndl(); HandleType colorBufferHandle = stream->getBe32(); + if (!window) { + // Do not return, keep reading the stream + loadOk = false; + } + + HandleType handle = window ? window->getHndl() : 0; return {handle, {std::move(window), colorBufferHandle}}; }); + if (!loadOk) { + GFXSTREAM_ERROR("Could not load window surfaces"); + return false; + } return true; } @@ -1323,40 +1342,46 @@ HandleType EmulationGl::getWindowSurfaceColorBufferHandle(HandleType surfaceHand } std::vector EmulationGl::cleanupProcGLObjects(uint64_t puid) { - RecursiveScopedContextBind bind(getColorBufferContextHelper()); std::vector colorBuffersToCleanUp; + { + RecursiveScopedContextBind bind(getColorBufferContextHelper()); - // Clean up window surfaces - auto procWindowsIt = mProcOwnedEmulatedEglWindowSurfaces.find(puid); - if (procWindowsIt != mProcOwnedEmulatedEglWindowSurfaces.end()) { - for (auto whndl : procWindowsIt->second) { - auto w = mWindows.find(whndl); - if (w != mWindows.end()) { - if (w->second.second != 0) { - colorBuffersToCleanUp.push_back(w->second.second); + // Clean up window surfaces + auto procWindowsIt = mProcOwnedEmulatedEglWindowSurfaces.find(puid); + if (procWindowsIt != mProcOwnedEmulatedEglWindowSurfaces.end()) { + for (auto whndl : procWindowsIt->second) { + auto w = mWindows.find(whndl); + if (w != mWindows.end()) { + if (w->second.second != 0) { + colorBuffersToCleanUp.push_back(w->second.second); + } + mWindows.erase(w); } - mWindows.erase(w); } + mProcOwnedEmulatedEglWindowSurfaces.erase(procWindowsIt); } - mProcOwnedEmulatedEglWindowSurfaces.erase(procWindowsIt); - } - // Cleanup render contexts - auto procContextsIt = mProcOwnedEmulatedEglContexts.find(puid); - if (procContextsIt != mProcOwnedEmulatedEglContexts.end()) { - for (auto ctx : procContextsIt->second) { - mContexts.erase(ctx); + // Cleanup EGLImages + auto procImagesIt = mProcOwnedEmulatedEglImages.find(puid); + if (procImagesIt != mProcOwnedEmulatedEglImages.end()) { + for (auto image : procImagesIt->second) { + mImages.erase(image); + } + mProcOwnedEmulatedEglImages.erase(procImagesIt); } - mProcOwnedEmulatedEglContexts.erase(procContextsIt); } - // Cleanup EGLImages - auto procImagesIt = mProcOwnedEmulatedEglImages.find(puid); - if (procImagesIt != mProcOwnedEmulatedEglImages.end()) { - for (auto image : procImagesIt->second) { - mImages.erase(image); + // Unbind before cleaning up contexts + // Cleanup render contexts + { + gfxstream::base::AutoWriteLock contextLock(mContextStructureLock); + auto procContextsIt = mProcOwnedEmulatedEglContexts.find(puid); + if (procContextsIt != mProcOwnedEmulatedEglContexts.end()) { + for (auto ctx : procContextsIt->second) { + mContexts.erase(ctx); + } + mProcOwnedEmulatedEglContexts.erase(procContextsIt); } - mProcOwnedEmulatedEglImages.erase(procImagesIt); } return colorBuffersToCleanUp; } diff --git a/host/gl/glestranslator/common/gl_background_loader.cpp b/host/gl/glestranslator/common/gl_background_loader.cpp index 69a36f81e..8cc205fc2 100644 --- a/host/gl/glestranslator/common/gl_background_loader.cpp +++ b/host/gl/glestranslator/common/gl_background_loader.cpp @@ -28,11 +28,6 @@ EGLContext s_context = EGL_NO_CONTEXT; EGLSurface s_surface = EGL_NO_SURFACE; intptr_t GLBackgroundLoader::main() { -#if SNAPSHOT_PROFILE > 1 - const auto start = get_uptime_ms(); - GFXSTREAM_INFO("Starting GL background loading at %" PRIu64 " ms\n", start); -#endif - if (s_context == EGL_NO_CONTEXT) { if (!m_eglIface.createAndBindAuxiliaryContext(&s_context, &s_surface)) { return 0; @@ -70,12 +65,6 @@ intptr_t GLBackgroundLoader::main() { m_eglIface.unbindAuxiliaryContext(); -#if SNAPSHOT_PROFILE > 1 - const auto end = get_uptime_ms(); - GFXSTREAM_INFO("Finished GL background loading at %" PRIu64 " ms (%d ms total)\n", - end, int(end - start)); -#endif - return 0; } diff --git a/host/gl/glestranslator/common/object_name_space.cpp b/host/gl/glestranslator/common/object_name_space.cpp index 0d8391bbc..2dfc4ff28 100644 --- a/host/gl/glestranslator/common/object_name_space.cpp +++ b/host/gl/glestranslator/common/object_name_space.cpp @@ -328,28 +328,14 @@ void GlobalNameSpace::preSaveAddTex(TextureData* texture) { void GlobalNameSpace::onSave(gfxstream::Stream* stream, const gfxstream::ITextureSaverPtr& textureSaver, SaveableTexture::saver_t saver) { -#if SNAPSHOT_PROFILE > 1 - int cleanTexs = 0; - int dirtyTexs = 0; -#endif // SNAPSHOT_PROFILE > 1 gfxstream::host::saveCollection( stream, m_textureMap, [saver, &textureSaver -#if SNAPSHOT_PROFILE > 1 - , &cleanTexs, &dirtyTexs -#endif // SNAPSHOT_PROFILE > 1 ]( gfxstream::Stream* stream, const std::pair& tex) { stream->putBe32(tex.first); -#if SNAPSHOT_PROFILE > 1 - if (tex.second.get() && tex.second->isDirty()) { - dirtyTexs ++; - } else { - cleanTexs ++; - } -#endif // SNAPSHOT_PROFILE > 1 textureSaver->saveTexture( tex.first, [saver, &tex](gfxstream::Stream* stream, @@ -359,9 +345,6 @@ void GlobalNameSpace::onSave(gfxstream::Stream* stream, }); }); clearTextureMap(); -#if SNAPSHOT_PROFILE > 1 - GFXSTREAM_INFO("Dirty texture saved %d, clean texture saved %d\n", dirtyTexs, cleanTexs); -#endif // SNAPSHOT_PROFILE > 1 } void GlobalNameSpace::onLoad(gfxstream::Stream* stream, diff --git a/host/gl/glestranslator/egl/egl_context.cpp b/host/gl/glestranslator/egl/egl_context.cpp index e80eb78b8..814a08c14 100644 --- a/host/gl/glestranslator/egl/egl_context.cpp +++ b/host/gl/glestranslator/egl/egl_context.cpp @@ -154,8 +154,8 @@ EglContext::~EglContext() // restore the previous context // if (rebindCtx) { - m_dpy->nativeType()->makeCurrent(rebindRead->native(), - rebindDraw->native(), + m_dpy->nativeType()->makeCurrent(rebindRead.get() ? rebindRead->native() : nullptr, + rebindDraw.get() ? rebindDraw->native() : nullptr, rebindCtx->nativeType()); } else { m_dpy->nativeType()->makeCurrent(nullptr, nullptr, nullptr); diff --git a/host/gl/post_worker_gl.cpp b/host/gl/post_worker_gl.cpp index 711bff5d2..1ac773b31 100644 --- a/host/gl/post_worker_gl.cpp +++ b/host/gl/post_worker_gl.cpp @@ -63,6 +63,7 @@ std::shared_future PostWorkerGl::postImpl( setupContext(); } DisplayGl::Post post = {}; + std::vector colorBufferRefs; ComposeLayer postLayerOptions = { .composeMode = HWC2_COMPOSITION_DEVICE, @@ -131,10 +132,13 @@ std::shared_future PostWorkerGl::postImpl( continue; } - IColorBuffer* currentCb = - currentDisplayId == 0 - ? cb - : m_globalState->findColorBuffer(currentDisplayColorBufferHandle).get(); + IColorBuffer* currentCb = nullptr; + if (currentDisplayId == 0) { + currentCb = cb; + } else if (auto ref = m_globalState->findColorBuffer(currentDisplayColorBufferHandle)) { + currentCb = ref.get(); + colorBufferRefs.push_back(std::move(ref)); + } if (!currentCb) { continue; } diff --git a/host/gl/readback_worker_gl.cpp b/host/gl/readback_worker_gl.cpp index e771f4384..748a9979a 100644 --- a/host/gl/readback_worker_gl.cpp +++ b/host/gl/readback_worker_gl.cpp @@ -41,7 +41,10 @@ ReadbackWorkerGl::ReadbackWorkerGl(std::unique_ptr surface, mFlushSurface(std::move(flushSurface)) {} void ReadbackWorkerGl::init() { - if (!mFlushSurface->getContextHelper()->setupContext()) { + // Use bindContext() instead of setupContext(): setupContext() is for temporary + // scoped binds that must be paired with teardownContext(), whereas this context + // stays permanently bound to the readback thread. + if (!mFlushSurface->bindContext()) { GFXSTREAM_ERROR("Failed to make ReadbackWorkerGl flush surface current."); } } diff --git a/host/gl/texture_draw.cpp b/host/gl/texture_draw.cpp index f8e2c4602..b2ea99514 100644 --- a/host/gl/texture_draw.cpp +++ b/host/gl/texture_draw.cpp @@ -420,32 +420,37 @@ bool TextureDraw::drawImpl(GLuint texture, float rotation, float dx, float dy, f s_gles2.glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); } - // setup the |texture| and uniform values. - s_gles2.glActiveTexture(GL_TEXTURE0); - s_gles2.glBindTexture(GL_TEXTURE_2D, texture); - s_gles2.glUniform1i(mTextureSlot, 0); - s_gles2.glUniform1i(mComposeMode, HWC2_COMPOSITION_DEVICE); - s_gles2.glUniform2f(mTranslationSlot, dx, dy); - s_gles2.glUniform2f(mScaleSlot, scaleX, scaleY); + const bool hasGuestDisplay = (scaleX > 0.0f && scaleY > 0.0f); + if (hasGuestDisplay) { + // setup the |texture| and uniform values. + s_gles2.glActiveTexture(GL_TEXTURE0); + s_gles2.glBindTexture(GL_TEXTURE_2D, texture); + s_gles2.glUniform1i(mTextureSlot, 0); + s_gles2.glUniform1i(mComposeMode, HWC2_COMPOSITION_DEVICE); + s_gles2.glUniform2f(mTranslationSlot, dx, dy); + s_gles2.glUniform2f(mScaleSlot, scaleX, scaleY); - if (colorTransform.has_value()) { - s_gles2.glUniformMatrix4fv(mColorTransform, 1, GL_FALSE, &(colorTransform.value()[0])); - } else { - s_gles2.glUniformMatrix4fv(mColorTransform, 1, GL_FALSE, kIdentityMatrix); - } + if (colorTransform.has_value()) { + s_gles2.glUniformMatrix4fv(mColorTransform, 1, GL_FALSE, &(colorTransform.value()[0])); + } else { + s_gles2.glUniformMatrix4fv(mColorTransform, 1, GL_FALSE, kIdentityMatrix); + } - s_gles2.glDrawElements(GL_TRIANGLES, kIndicesPerDraw, GL_UNSIGNED_BYTE, - (const GLvoid*)indexShift); + s_gles2.glDrawElements(GL_TRIANGLES, kIndicesPerDraw, GL_UNSIGNED_BYTE, + (const GLvoid*)indexShift); - if (colorTransform.has_value()) { - // Reset color transform to identity, if set - s_gles2.glUniformMatrix4fv(mColorTransform, 1, GL_FALSE, kIdentityMatrix); + if (colorTransform.has_value()) { + // Reset color transform to identity, if set + s_gles2.glUniformMatrix4fv(mColorTransform, 1, GL_FALSE, kIdentityMatrix); + } } if (wantOverlay) { mMaskLayer.draw(mProgram, mScaleSlot, indexShift); // Reset to the "normal" texture - s_gles2.glBindTexture(GL_TEXTURE_2D, texture); + if (hasGuestDisplay) { + s_gles2.glBindTexture(GL_TEXTURE_2D, texture); + } } #ifdef DEBUG_TEXTURE_DRAW diff --git a/host/gl/texture_resize.cpp b/host/gl/texture_resize.cpp index 002bd72bf..8a5ddb3a1 100644 --- a/host/gl/texture_resize.cpp +++ b/host/gl/texture_resize.cpp @@ -226,6 +226,10 @@ TextureResize::TextureResize(GLuint width, GLuint height) : // Fix color banding by trying to use a texture type with a high precision. const char* exts = (const char*)s_gles2.glGetString(GL_EXTENSIONS); + if (!exts) { + GFXSTREAM_ERROR("Failed to initialize TextureResize: no GLES context bound."); + return; + } bool hasColorBufferFloat = get_gfxstream_renderer() == SELECTED_RENDERER_HOST || @@ -271,9 +275,13 @@ TextureResize::TextureResize(GLuint width, GLuint height) : // Clear bindings. s_gles2.glBindTexture(GL_TEXTURE_2D, 0); s_gles2.glBindBuffer(GL_ARRAY_BUFFER, 0); + mIsInitialized = true; } TextureResize::~TextureResize() { + if (!mIsInitialized) { + return; + } GLuint tex[2] = {mFBWidth.texture, mFBHeight.texture}; s_gles2.glDeleteTextures(2, tex); s_gles2.glDeleteBuffers(1, &mVertexBuffer); @@ -291,6 +299,9 @@ TextureResize::~TextureResize() { } GLuint TextureResize::update(GLuint texture) { + if (!mIsInitialized) { + return texture; + } // Store the viewport. The viewport is clobbered due to the framebuffers. GLint vport[4] = { 0, }; s_gles2.glGetIntegerv(GL_VIEWPORT, vport); @@ -330,6 +341,9 @@ GLuint TextureResize::update(GLuint texture) { } GLuint TextureResize::update(GLuint texture, int width, int height, int rotation) { + if (!mIsInitialized) { + return texture; + } if (mGenericResizer.get() == nullptr) { mGenericResizer.reset(new TextureResize::GenericResizer()); } @@ -337,6 +351,9 @@ GLuint TextureResize::update(GLuint texture, int width, int height, int rotation } void TextureResize::setupFramebuffers(unsigned int factor) { + if (!mIsInitialized) { + return; + } if (factor == mFactor) { // The factor hasn't changed, no need to update the framebuffers. return; @@ -368,6 +385,9 @@ void TextureResize::setupFramebuffers(unsigned int factor) { } void TextureResize::resize(GLuint texture) { + if (!mIsInitialized) { + return; + } s_gles2.glBindBuffer(GL_ARRAY_BUFFER, mVertexBuffer); s_gles2.glActiveTexture(GL_TEXTURE0); diff --git a/host/gl/texture_resize.h b/host/gl/texture_resize.h index 4bb386d8a..a2bbcbeb5 100644 --- a/host/gl/texture_resize.h +++ b/host/gl/texture_resize.h @@ -72,10 +72,11 @@ class TextureResize { unsigned int mFactor; Framebuffer mFBWidth; Framebuffer mFBHeight; - GLuint mVertexBuffer; + GLuint mVertexBuffer = 0; GLenum mTextureDataType; GLenum mTextureFilteringMode = GL_LINEAR; std::unique_ptr mGenericResizer; + bool mIsInitialized = false; }; } // namespace gl diff --git a/host/include/gfxstream/virtio-gpu-gfxstream-renderer-unstable.h b/host/include/gfxstream/virtio-gpu-gfxstream-renderer-unstable.h index 5f5eae0a7..7d8d43146 100644 --- a/host/include/gfxstream/virtio-gpu-gfxstream-renderer-unstable.h +++ b/host/include/gfxstream/virtio-gpu-gfxstream-renderer-unstable.h @@ -111,6 +111,12 @@ VG_EXPORT int stream_renderer_import_resource( uint32_t res_handle, const struct stream_renderer_handle* import_handle, const struct stream_renderer_import_data* import_data); +struct GfxstreamMetrics { + uint32_t render_thread_count; +}; + +VG_EXPORT int stream_renderer_get_metrics(struct GfxstreamMetrics* metrics); + #ifdef __cplusplus } // extern "C" #endif diff --git a/host/include/render-utils/display_operations.h b/host/include/render-utils/display_operations.h index 961f702ae..ffbae7d19 100644 --- a/host/include/render-utils/display_operations.h +++ b/host/include/render-utils/display_operations.h @@ -54,6 +54,11 @@ typedef int (*gfxstream_multi_display_set_color_transform_matrix_t)(uint32_t dis typedef int (*gfxstream_multi_display_get_color_transform_matrix_t)(uint32_t displayId, float outColorMatrix[16]); +typedef int (*gfxstream_multi_display_get_display_power_mode_t)(uint32_t displayId, + uint32_t* outPowerMode); +typedef int (*gfxstream_multi_display_set_display_power_mode_t)(uint32_t displayId, + uint32_t powerMode); + typedef struct gfxstream_multi_display_ops { gfxstream_multi_display_is_multi_display_enabled_t is_multi_display_enabled; gfxstream_multi_display_is_multi_display_window_t is_multi_window; @@ -78,4 +83,8 @@ typedef struct gfxstream_multi_display_ops { gfxstream_multi_display_get_color_transform_matrix_t get_color_transform_matrix; gfxstream_multi_display_set_color_transform_matrix_t set_color_transform_matrix; + + gfxstream_multi_display_get_display_power_mode_t get_display_power_mode; + gfxstream_multi_display_set_display_power_mode_t set_display_power_mode; } gfxstream_multi_display_ops; + diff --git a/host/include/render-utils/stream.h b/host/include/render-utils/stream.h index 422d95900..e01f72243 100644 --- a/host/include/render-utils/stream.h +++ b/host/include/render-utils/stream.h @@ -14,7 +14,11 @@ #pragma once +#include #include +#include +#include +#include #include #include @@ -48,9 +52,24 @@ class Stream { // error. virtual ssize_t write(const void* buffer, size_t size) = 0; + // Error handling interface. + virtual bool hasErrors() const = 0; + virtual const std::optional& getErrors() const = 0; + virtual void addErrorV(const char* fmt, va_list args) const = 0; + + void addError(const char* fmt, ...) const { + va_list args; + va_start(args, fmt); + addErrorV(fmt, args); + va_end(args); + } + // Write a single byte |value| into the stream. Ignore errors. void putByte(uint8_t value) { - write(&value, 1U); + ssize_t ret = write(&value, 1U); + if (ret != 1) { + addError("%s: expected 1, got %zd", __func__, ret); + } } // Write a 16-bit |value| as big-endian into the stream. Ignore errors. @@ -59,7 +78,10 @@ class Stream { (uint8_t)(value >> 8), (uint8_t) value }; - write(b, 2U); + ssize_t ret = write(b, 2U); + if (ret != 2) { + addError("%s: expected 2, got %zd", __func__, ret); + } } // Write a 32-bit |value| as big-endian into the stream. Ignore errors. @@ -70,7 +92,10 @@ class Stream { (uint8_t)(value >> 8), (uint8_t) value, }; - write(b, 4U); + ssize_t ret = write(b, 4U); + if (ret != 4) { + addError("%s: expected 4, got %zd", __func__, ret); + } } // Write a 64-bit |value| as big-endian into the stream. Ignore errors. @@ -85,13 +110,19 @@ class Stream { (uint8_t)(value >> 8), (uint8_t )value, }; - write(b, 8U); + ssize_t ret = write(b, 8U); + if (ret != 8) { + addError("%s: expected 8, got %zd", __func__, ret); + } } // Read a single byte from the stream. Return 0 on error. uint8_t getByte() { uint8_t value[1] = { 0 }; - read(value, 1U); + ssize_t ret = read(value, 1U); + if (ret != 1) { + addError("%s: expected 1, got %zd", __func__, ret); + } return value[0]; } @@ -99,34 +130,46 @@ class Stream { // Return 0 on error. uint16_t getBe16() { uint8_t b[2] = { 0, 0 }; - read(b, 2U); - return ((uint16_t)b[0] << 8) | (uint16_t)b[1]; + ssize_t ret = read(b, 2U); + uint16_t v = ((uint16_t)b[0] << 8) | (uint16_t)b[1]; + if (ret != 2) { + addError("%s: expected 2, got %zd", __func__, ret); + } + return v; } // Read a single big-endian 32-bit value from the stream. // Return 0 on error. uint32_t getBe32() { uint8_t b[4] = { 0, 0, 0, 0 }; - read(b, 4U); - return ((uint32_t)b[0] << 24) | - ((uint32_t)b[1] << 16) | - ((uint32_t)b[2] << 8) | - (uint32_t)b[3]; + ssize_t ret = read(b, 4U); + uint32_t v = ((uint32_t)b[0] << 24) | + ((uint32_t)b[1] << 16) | + ((uint32_t)b[2] << 8) | + (uint32_t)b[3]; + if (ret != 4) { + addError("%s: expected 4, got %zd", __func__, ret); + } + return v; } // Read a single big-endian 64-bit value from the stream. // Return 0 on error. uint64_t getBe64() { uint8_t b[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; - read(b, 8U); - return ((uint64_t)b[0] << 56) | - ((uint64_t)b[1] << 48) | - ((uint64_t)b[2] << 40) | - ((uint64_t)b[3] << 32) | - ((uint64_t)b[4] << 24) | - ((uint64_t)b[5] << 16) | - ((uint64_t)b[6] << 8) | - (uint64_t)b[7]; + ssize_t ret = read(b, 8U); + uint64_t v = ((uint64_t)b[0] << 56) | + ((uint64_t)b[1] << 48) | + ((uint64_t)b[2] << 40) | + ((uint64_t)b[3] << 32) | + ((uint64_t)b[4] << 24) | + ((uint64_t)b[5] << 16) | + ((uint64_t)b[6] << 8) | + (uint64_t)b[7]; + if (ret != 8) { + addError("%s: expected 8, got %zd", __func__, ret); + } + return v; } // Write a 32-bit float |value| to the stream. @@ -136,7 +179,10 @@ class Stream { uint8_t bytes[sizeof(float)]; } u; u.f = v; - this->write(u.bytes, sizeof(u.bytes)); + ssize_t ret = this->write(u.bytes, sizeof(u.bytes)); + if (ret != sizeof(float)) { + addError("%s: expected %zu, got %zd", __func__, sizeof(float), ret); + } } // Read a single 32-bit float value from the stream. @@ -145,7 +191,10 @@ class Stream { float f; uint8_t bytes[sizeof(float)]; } u; - this->read(u.bytes, sizeof(u.bytes)); + ssize_t ret = this->read(u.bytes, sizeof(u.bytes)); + if (ret != sizeof(float)) { + addError("%s: expected %zu, got %zd", __func__, sizeof(float), ret); + } return u.f; } @@ -153,12 +202,15 @@ class Stream { // Ignore errors. void putString(const char* str, size_t len) { this->putBe32(len); - this->write(str, len); + ssize_t ret = this->write(str, len); + if (ret != static_cast(len)) { + addError("%s: expected %zu, got %zd", __func__, len, ret); + } } // Write a 0-terminated C string |str| into the stream. Ignore error. void putString(const char* str) { - putString(str, strlen(str)); + putString(str, str ? strlen(str) : 0); } void putString(const std::string& str) { @@ -173,7 +225,9 @@ class Stream { size_t len = this->getBe32(); if (len > 0) { result.resize(len); - if (this->read(&result[0], len) != static_cast(len)) { + ssize_t ret = this->read(&result[0], len); + if (ret != static_cast(len)) { + addError("%s: expected %zu, got %zd", __func__, len, ret); result.clear(); } } @@ -278,4 +332,41 @@ class Stream { } }; +// Mix-in class that implements the error logging interface for Stream. +class StreamWithErrorLogger : public Stream { + public: + bool hasErrors() const override { return mError.has_value(); } + const std::optional& getErrors() const override { return mError; } + + void addErrorV(const char* fmt, va_list args) const override { + char stackBuf[256]; + va_list argsCopy; + va_copy(argsCopy, args); + int len = vsnprintf(stackBuf, sizeof(stackBuf), fmt, argsCopy); + va_end(argsCopy); + + if (len < 0) { + return; + } + + if (!mError.has_value()) { + mError.emplace(); + } else if (!mError->empty()) { + mError->push_back('\n'); + } + + if (static_cast(len) < sizeof(stackBuf)) { + mError->append(stackBuf, static_cast(len)); + } else { + size_t oldSize = mError->size(); + mError->resize(oldSize + len + 1); + vsnprintf(mError->data() + oldSize, len + 1, fmt, args); + mError->resize(oldSize + len); + } + } + + protected: // mutable, to support logging within 'const' functions + mutable std::optional mError; +}; + } // namespace gfxstream diff --git a/host/meson.build b/host/meson.build index 1e8875a3f..0bd599ef9 100644 --- a/host/meson.build +++ b/host/meson.build @@ -23,6 +23,7 @@ subdir('native_window') inc_gfxstream_backend = [ inc_common_base, + inc_common_build_info, inc_common_logging, inc_common_utils, inc_drm_headers, @@ -44,6 +45,7 @@ inc_gfxstream_backend = [ link_gfxstream_backend = [ lib_common_base, + lib_common_build_info, lib_common_logging, lib_common_utils, lib_host_address_space, diff --git a/host/renderControl_dec/renderControl_dec.cpp b/host/renderControl_dec/renderControl_dec.cpp index f6b70af02..6985c403a 100644 --- a/host/renderControl_dec/renderControl_dec.cpp +++ b/host/renderControl_dec/renderControl_dec.cpp @@ -525,11 +525,9 @@ size_t renderControl_decoder_context_t::decode(void *buf, size_t len, IOStream * unsigned char *tmpBuf = stream->alloc(totalTmpSize); OutputBuffer outptr_pixels(&tmpBuf[0], size_pixels); DECODER_DEBUG_LOG("renderControl(%p): rcReadColorBuffer(colorbuffer:0x%08x x:0x%08x y:0x%08x width:0x%08x height:0x%08x format:0x%08x type:0x%08x pixels:%p(%u) )", stream, var_colorbuffer, var_x, var_y, var_width, var_height, var_format, var_type, (void*)(outptr_pixels.get()), size_pixels); - this->rcReadColorBuffer(var_colorbuffer, var_x, var_y, var_width, - var_height, var_format, var_type, - (void*)(outptr_pixels.get()), size_pixels); - outptr_pixels.flush(); - if (useChecksum) { + this->rcReadColorBuffer(var_colorbuffer, var_x, var_y, var_width, var_height, var_format, var_type, (void*)(outptr_pixels.get()), size_pixels); + outptr_pixels.flush(); + if (useChecksum) { ChecksumCalculatorThreadInfo::writeChecksum(checksumCalc, &tmpBuf[0], totalTmpSize - checksumSize, &tmpBuf[totalTmpSize - checksumSize], checksumSize); } stream->flush(); @@ -1535,10 +1533,8 @@ size_t renderControl_decoder_context_t::decode(void *buf, size_t len, IOStream * totalTmpSize += checksumSize; unsigned char *tmpBuf = stream->alloc(totalTmpSize); DECODER_DEBUG_LOG("renderControl(%p): rcGetDisplayColorTransform(displayId:0x%08x outColorTransformMatrix:%p(%u) )", stream, var_displayId, (mat4x4_ptr)(inptr_outColorTransformMatrix.get()), size_outColorTransformMatrix); - int function_call_retval = this->rcGetDisplayColorTransform( - var_displayId, (mat4x4_ptr)(inptr_outColorTransformMatrix.get()), - size_outColorTransformMatrix); - std::memcpy(&tmpBuf[0], &function_call_retval, sizeof(int)); + int function_call_retval = this->rcGetDisplayColorTransform(var_displayId, (mat4x4_ptr)(inptr_outColorTransformMatrix.get()), size_outColorTransformMatrix); + std::memcpy(&tmpBuf[0], &function_call_retval, sizeof(int)); if (useChecksum) { ChecksumCalculatorThreadInfo::writeChecksum(checksumCalc, &tmpBuf[0], totalTmpSize - checksumSize, &tmpBuf[totalTmpSize - checksumSize], checksumSize); } @@ -1560,10 +1556,8 @@ size_t renderControl_decoder_context_t::decode(void *buf, size_t len, IOStream * totalTmpSize += checksumSize; unsigned char *tmpBuf = stream->alloc(totalTmpSize); DECODER_DEBUG_LOG("renderControl(%p): rcSetDisplayColorTransform(displayId:0x%08x colorTransformMatrix:%p(%u) )", stream, var_displayId, (const mat4x4_ptr)(inptr_colorTransformMatrix.get()), size_colorTransformMatrix); - int function_call_retval = this->rcSetDisplayColorTransform( - var_displayId, (const mat4x4_ptr)(inptr_colorTransformMatrix.get()), - size_colorTransformMatrix); - std::memcpy(&tmpBuf[0], &function_call_retval, sizeof(int)); + int function_call_retval = this->rcSetDisplayColorTransform(var_displayId, (const mat4x4_ptr)(inptr_colorTransformMatrix.get()), size_colorTransformMatrix); + std::memcpy(&tmpBuf[0], &function_call_retval, sizeof(int)); if (useChecksum) { ChecksumCalculatorThreadInfo::writeChecksum(checksumCalc, &tmpBuf[0], totalTmpSize - checksumSize, &tmpBuf[totalTmpSize - checksumSize], checksumSize); } @@ -1572,6 +1566,53 @@ size_t renderControl_decoder_context_t::decode(void *buf, size_t len, IOStream * gfxstream::base::endTrace(); break; } + case OP_rcSetDisplayPowerMode: { + gfxstream::base::beginTrace("rcSetDisplayPowerMode decode"); + uint32_t var_displayId = Unpack(ptr + 8); + uint32_t var_mode = Unpack(ptr + 8 + 4); + if (useChecksum) { + ChecksumCalculatorThreadInfo::validOrDie(checksumCalc, ptr, 8 + 4 + 4, ptr + 8 + 4 + 4, checksumSize, + "renderControl_decoder_context_t::decode, OP_rcSetDisplayPowerMode: GL checksumCalculator failure\n"); + } + size_t totalTmpSize = sizeof(int); + totalTmpSize += checksumSize; + unsigned char *tmpBuf = stream->alloc(totalTmpSize); + DECODER_DEBUG_LOG("renderControl(%p): rcSetDisplayPowerMode(displayId:0x%08x mode:0x%08x )", stream, var_displayId, var_mode); + int function_call_retval = this->rcSetDisplayPowerMode(var_displayId, var_mode); + std::memcpy(&tmpBuf[0], &function_call_retval, sizeof(int)); + if (useChecksum) { + ChecksumCalculatorThreadInfo::writeChecksum(checksumCalc, &tmpBuf[0], totalTmpSize - checksumSize, &tmpBuf[totalTmpSize - checksumSize], checksumSize); + } + stream->flush(); + SET_LASTCALL("rcSetDisplayPowerMode"); + gfxstream::base::endTrace(); + break; + } + case OP_rcGetDisplayPowerMode: { + gfxstream::base::beginTrace("rcGetDisplayPowerMode decode"); + uint32_t var_displayId = Unpack(ptr + 8); + uint32_t size_mode __attribute__((unused)) = Unpack(ptr + 8 + 4); + if (useChecksum) { + ChecksumCalculatorThreadInfo::validOrDie(checksumCalc, ptr, 8 + 4 + 4, ptr + 8 + 4 + 4, checksumSize, + "renderControl_decoder_context_t::decode, OP_rcGetDisplayPowerMode: GL checksumCalculator failure\n"); + } + size_t totalTmpSize = size_mode; + totalTmpSize += sizeof(int); + totalTmpSize += checksumSize; + unsigned char *tmpBuf = stream->alloc(totalTmpSize); + OutputBuffer outptr_mode(&tmpBuf[0], size_mode); + DECODER_DEBUG_LOG("renderControl(%p): rcGetDisplayPowerMode(displayId:0x%08x mode:%p(%u) )", stream, var_displayId, (uint32_t*)(outptr_mode.get()), size_mode); + int function_call_retval = this->rcGetDisplayPowerMode(var_displayId, (uint32_t*)(outptr_mode.get())); + std::memcpy(&tmpBuf[0 + size_mode], &function_call_retval, sizeof(int)); + outptr_mode.flush(); + if (useChecksum) { + ChecksumCalculatorThreadInfo::writeChecksum(checksumCalc, &tmpBuf[0], totalTmpSize - checksumSize, &tmpBuf[totalTmpSize - checksumSize], checksumSize); + } + stream->flush(); + SET_LASTCALL("rcGetDisplayPowerMode"); + gfxstream::base::endTrace(); + break; + } default: return ptr - (unsigned char*)buf; } //switch diff --git a/host/renderControl_dec/renderControl_opcodes.h b/host/renderControl_dec/renderControl_opcodes.h index bd92ee239..2f8a8a419 100644 --- a/host/renderControl_dec/renderControl_opcodes.h +++ b/host/renderControl_dec/renderControl_opcodes.h @@ -89,7 +89,9 @@ #define OP_rcGetHostExtensionsString 10069 #define OP_rcGetDisplayColorTransform 10070 #define OP_rcSetDisplayColorTransform 10071 -#define OP_last 10072 +#define OP_rcSetDisplayPowerMode 10072 +#define OP_rcGetDisplayPowerMode 10073 +#define OP_last 10074 #endif diff --git a/host/renderControl_dec/renderControl_server_context.cpp b/host/renderControl_dec/renderControl_server_context.cpp index 3c34e5133..c55f6c508 100644 --- a/host/renderControl_dec/renderControl_server_context.cpp +++ b/host/renderControl_dec/renderControl_server_context.cpp @@ -96,6 +96,8 @@ int renderControl_server_context_t::initDispatchByName(void *(*getProc)(const ch rcGetHostExtensionsString = (rcGetHostExtensionsString_server_proc_t) getProc("rcGetHostExtensionsString", userData); rcGetDisplayColorTransform = (rcGetDisplayColorTransform_server_proc_t) getProc("rcGetDisplayColorTransform", userData); rcSetDisplayColorTransform = (rcSetDisplayColorTransform_server_proc_t) getProc("rcSetDisplayColorTransform", userData); + rcSetDisplayPowerMode = (rcSetDisplayPowerMode_server_proc_t) getProc("rcSetDisplayPowerMode", userData); + rcGetDisplayPowerMode = (rcGetDisplayPowerMode_server_proc_t) getProc("rcGetDisplayPowerMode", userData); return 0; } diff --git a/host/renderControl_dec/renderControl_server_context.h b/host/renderControl_dec/renderControl_server_context.h index 2cb745bd8..93b31dfb0 100644 --- a/host/renderControl_dec/renderControl_server_context.h +++ b/host/renderControl_dec/renderControl_server_context.h @@ -96,6 +96,8 @@ struct renderControl_server_context_t { rcGetHostExtensionsString_server_proc_t rcGetHostExtensionsString; rcGetDisplayColorTransform_server_proc_t rcGetDisplayColorTransform; rcSetDisplayColorTransform_server_proc_t rcSetDisplayColorTransform; + rcSetDisplayPowerMode_server_proc_t rcSetDisplayPowerMode; + rcGetDisplayPowerMode_server_proc_t rcGetDisplayPowerMode; virtual ~renderControl_server_context_t() {} int initDispatchByName( void *(*getProc)(const char *name, void *userData), void *userData); }; diff --git a/host/renderControl_dec/renderControl_server_proc.h b/host/renderControl_dec/renderControl_server_proc.h index b40c056ff..a9d908c01 100644 --- a/host/renderControl_dec/renderControl_server_proc.h +++ b/host/renderControl_dec/renderControl_server_proc.h @@ -49,9 +49,7 @@ typedef void (renderControl_APIENTRY *rcFBSetSwapInterval_server_proc_t) (EGLint typedef void (renderControl_APIENTRY *rcBindTexture_server_proc_t) (uint32_t); typedef void (renderControl_APIENTRY *rcBindRenderbuffer_server_proc_t) (uint32_t); typedef EGLint (renderControl_APIENTRY *rcColorBufferCacheFlush_server_proc_t) (uint32_t, EGLint, int); -typedef void(renderControl_APIENTRY* rcReadColorBuffer_server_proc_t)(uint32_t, GLint, GLint, GLint, - GLint, GLenum, GLenum, void*, - uint32_t); +typedef void (renderControl_APIENTRY *rcReadColorBuffer_server_proc_t) (uint32_t, GLint, GLint, GLint, GLint, GLenum, GLenum, void*, uint32_t); typedef int (renderControl_APIENTRY *rcUpdateColorBuffer_server_proc_t) (uint32_t, GLint, GLint, GLint, GLint, GLenum, GLenum, void*); typedef int (renderControl_APIENTRY *rcOpenColorBuffer2_server_proc_t) (uint32_t); typedef uint32_t (renderControl_APIENTRY *rcCreateClientImage_server_proc_t) (uint32_t, EGLenum, GLuint); @@ -98,10 +96,10 @@ typedef int (renderControl_APIENTRY *rcGetFBDisplayConfigsParam_server_proc_t) ( typedef int (renderControl_APIENTRY *rcGetFBDisplayActiveConfig_server_proc_t) (); typedef void (renderControl_APIENTRY *rcSetProcessMetadata_server_proc_t) (char*, RenderControlByte*, uint32_t); typedef int (renderControl_APIENTRY *rcGetHostExtensionsString_server_proc_t) (uint32_t, void*); -typedef int(renderControl_APIENTRY* rcGetDisplayColorTransform_server_proc_t)(uint32_t, mat4x4_ptr, - uint32_t); -typedef int(renderControl_APIENTRY* rcSetDisplayColorTransform_server_proc_t)(uint32_t, - const mat4x4_ptr, - uint32_t); +typedef int (renderControl_APIENTRY *rcGetDisplayColorTransform_server_proc_t) (uint32_t, mat4x4_ptr, uint32_t); +typedef int (renderControl_APIENTRY *rcSetDisplayColorTransform_server_proc_t) (uint32_t, const mat4x4_ptr, uint32_t); +typedef int (renderControl_APIENTRY *rcSetDisplayPowerMode_server_proc_t) (uint32_t, uint32_t); +typedef int (renderControl_APIENTRY *rcGetDisplayPowerMode_server_proc_t) (uint32_t, uint32_t*); + #endif diff --git a/host/render_channel_impl.cpp b/host/render_channel_impl.cpp index 8df3f6e5f..2e209ed4f 100644 --- a/host/render_channel_impl.cpp +++ b/host/render_channel_impl.cpp @@ -49,25 +49,6 @@ ToIoResult(BufferQueueResult result) { } } - -// TODO: Delete after fully migrating Gfxstream interface to gfxstream::base::Stream. -class AemuStreamToGfxstreamStreamWrapper : public Stream { - public: - AemuStreamToGfxstreamStreamWrapper(Stream* stream) - : mStream(stream) {} - - ssize_t read(void* buffer, size_t size) override { - return mStream->read(buffer, size); - } - - ssize_t write(const void* buffer, size_t size) override { - return mStream->write(buffer, size); - } - - private: - Stream* const mStream = nullptr; -}; - } // namespace @@ -88,9 +69,8 @@ RenderChannelImpl::RenderChannelImpl(Stream* loadStream, uint32_t contextId) : mFromGuest(kGuestToHostQueueCapacity, mLock), mToGuest(kHostToGuestQueueCapacity, mLock) { if (loadStream) { - AemuStreamToGfxstreamStreamWrapper loadStreamWrapped(loadStream); - mFromGuest.onLoadLocked(&loadStreamWrapped); - mToGuest.onLoadLocked(&loadStreamWrapped); + mFromGuest.onLoadLocked(loadStream); + mToGuest.onLoadLocked(loadStream); mState = (State)loadStream->getBe32(); mWantedEvents = (State)loadStream->getBe32(); #ifndef NDEBUG @@ -251,10 +231,8 @@ void RenderChannelImpl::notifyStateChangeLocked() { void RenderChannelImpl::onSave(gfxstream::Stream* stream) { AutoLock lock(mLock); - - AemuStreamToGfxstreamStreamWrapper saveStreamWrapped(stream); - mFromGuest.onSaveLocked(&saveStreamWrapped); - mToGuest.onSaveLocked(&saveStreamWrapped); + mFromGuest.onSaveLocked(stream); + mToGuest.onSaveLocked(stream); stream->putBe32(static_cast(mState)); stream->putBe32(static_cast(mWantedEvents)); lock.unlock(); diff --git a/host/render_control.cpp b/host/render_control.cpp index 603fa40ca..9b9589260 100644 --- a/host/render_control.cpp +++ b/host/render_control.cpp @@ -265,6 +265,9 @@ static const char* kHWCMultiConfigs= "ANDROID_EMU_hwc_multi_configs"; // HWC color transform support static const char kHWCColorTransform[] = "ANDROID_EMU_hwc_color_transform"; +// Display Power Mode support +static const char* kHWCDisplayPowerMode = "ANDROID_EMU_hwc_display_power_mode"; + static constexpr const uint64_t kInvalidPUID = std::numeric_limits::max(); static void rcTriggerWait(uint64_t glsync_ptr, @@ -473,6 +476,7 @@ static EGLint rcGetGLString(EGLenum name, void* buffer, EGLint bufferSize) { bool readColorBufferDma = directMemEnabled && hasSharedSlotsHostMemoryAllocatorEnabled; bool hwcMultiConfigs = features.HwcMultiConfigs.enabled(); bool hwcColorTransform = true; // To ensure old host emulators won't advertise the support + bool hwcDisplayPowerMode = true; if (isChecksumEnabled && name == GL_EXTENSIONS) { glStr += ChecksumCalculator::getMaxVersionStr(); @@ -621,6 +625,11 @@ static EGLint rcGetGLString(EGLenum name, void* buffer, EGLint bufferSize) { glStr += " "; } + if (hwcDisplayPowerMode && name == GL_EXTENSIONS) { + glStr += kHWCDisplayPowerMode; + glStr += " "; + } + if (name == GL_EXTENSIONS) { GLESDispatchMaxVersion guestExtVer = GLES_DISPATCH_MAX_VERSION_2; if (fb->hasEmulationGl()) { @@ -1234,7 +1243,9 @@ static void rcSetPuid(uint64_t puid) { } RenderThreadInfo *tInfo = RenderThreadInfo::get(); - tInfo->m_puid = puid; + tInfo->setPuid(puid); + + // TODO(b/560140165): remove RenderThreadInfoVk::get and separate thread local storage auto* renderThreadInfoVk = vk::RenderThreadInfoVk::get(); if (renderThreadInfoVk) { renderThreadInfoVk->ctx_id = puid; @@ -1363,7 +1374,10 @@ static int rcGetDisplayColorTransform(uint32_t displayId, mat4x4_ptr outColorTra return -1; } - if (outColorTransformSize != (16 * sizeof(float))) { + // Due to a bug in guest side codegenerator (codegen/generic-apigen/entry_point.cpp), + // the size for the color transform matrices are passed as 512, not 16 * sizeof(float). + // So, doing a less than check here to accommodate the wrong size. + if (outColorTransformSize < (16 * sizeof(float))) { GFXSTREAM_ERROR("Invalid color transform size: %" PRIu32, outColorTransformSize); return -1; } @@ -1379,7 +1393,10 @@ static int rcSetDisplayColorTransform(uint32_t displayId, const mat4x4_ptr color return -1; } - if (colorTransformSize != (16 * sizeof(float))) { + // Due to a bug in guest side codegenerator (codegen/generic-apigen/entry_point.cpp), + // the size for the color transform matrices are passed as 512, not 16 * sizeof(float). + // So, doing a less than check here to accommodate the wrong size. + if (colorTransformSize < (16 * sizeof(float))) { GFXSTREAM_ERROR("Invalid color transform size: %" PRIu32, colorTransformSize); return -1; } @@ -1387,6 +1404,27 @@ static int rcSetDisplayColorTransform(uint32_t displayId, const mat4x4_ptr color return fb->setDisplayColorTransform(displayId, reinterpret_cast(colorTransform)); } +static int rcGetDisplayPowerMode(uint32_t displayId, uint32_t* mode) { + FrameBuffer* fb = FrameBuffer::getFB(); + if (!fb) { + GFXSTREAM_WARNING("%s: framebuffer cannot be found!", __func__); + return -1; + } + + return fb->getDisplayPowerMode(displayId, mode); +} + +static int rcSetDisplayPowerMode(uint32_t displayId, uint32_t mode) { + FrameBuffer* fb = FrameBuffer::getFB(); + if (!fb) { + GFXSTREAM_WARNING("%s: framebuffer cannot be found!", __func__); + return -1; + } + + return fb->setDisplayPowerMode(displayId, mode); +} + + static int rcSetDisplayPoseDpi(uint32_t displayId, int32_t x, int32_t y, @@ -1696,6 +1734,8 @@ void initRenderControlContext(renderControl_decoder_context_t *dec) dec->rcGetFBDisplayActiveConfig = rcGetFBDisplayActiveConfig; dec->rcSetProcessMetadata = rcSetProcessMetadata; dec->rcGetHostExtensionsString = rcGetHostExtensionsString; + dec->rcSetDisplayPowerMode = rcSetDisplayPowerMode; + dec->rcGetDisplayPowerMode = rcGetDisplayPowerMode; } } // namespace host diff --git a/host/render_thread.cpp b/host/render_thread.cpp index 050077b3e..afd397abd 100644 --- a/host/render_thread.cpp +++ b/host/render_thread.cpp @@ -70,15 +70,36 @@ static constexpr int kMinThreadsToRunUnlimited = 5; // A thread run limiter that limits render threads to run one slice at a time. static gfxstream::base::Lock sThreadRunLimiter; -RenderThread::RenderThread(RenderChannelImpl* channel, - gfxstream::Stream* load, +static std::atomic sActiveRenderThreads{0}; +static const uint32_t kWarnMaxRenderThreads = 1000; + +static void incrementAndCheckRenderThreadCount() { + uint32_t count = ++sActiveRenderThreads; + GFXSTREAM_VERBOSE("Created RenderThread. Active RenderThreads: %u", count); + if (count > kWarnMaxRenderThreads) { + GFXSTREAM_WARNING("High number of active render threads detected: %u", count); + } +} + +static void decrementRenderThreadCount() { + uint32_t count = --sActiveRenderThreads; + GFXSTREAM_VERBOSE("Destroyed RenderThread. Active RenderThreads: %u", count); +} + +uint32_t RenderThread::getActiveRenderThreadsCount() { + return sActiveRenderThreads.load(); +} + +RenderThread::RenderThread(RenderChannelImpl* channel, gfxstream::Stream* load, uint32_t virtioGpuContextId) : gfxstream::base::Thread(gfxstream::base::ThreadFlags::MaskSignals, 2 * 1024 * 1024, - "RenderThread"), + virtioGpuContextId == INVALID_CONTEXT_ID + ? "RenderThread" + : "RenderThread-" + std::to_string(virtioGpuContextId)), mChannel(channel), mRunInLimitedMode(gfxstream::base::getCpuCoreCount() < kMinThreadsToRunUnlimited), - mContextId(virtioGpuContextId) -{ + mContextId(virtioGpuContextId) { + incrementAndCheckRenderThreadCount(); if (load) { const bool success = load->getByte(); if (success) { @@ -86,17 +107,22 @@ RenderThread::RenderThread(RenderChannelImpl* channel, loadStream(load, &*mStream); mState = SnapshotState::StartLoading; } else { - mFinished.store(true, std::memory_order_relaxed); + setFinished(); } } } RenderThread::RenderThread(const AsgConsumerCreateInfo& info, Stream* load) - : gfxstream::base::Thread(gfxstream::base::ThreadFlags::MaskSignals, 2 * 1024 * 1024, - info.virtioGpuContextName ? *info.virtioGpuContextName : ""), + : gfxstream::base::Thread( + gfxstream::base::ThreadFlags::MaskSignals, 2 * 1024 * 1024, + (info.virtioGpuContextId && *info.virtioGpuContextId != INVALID_CONTEXT_ID) + ? "RenderThread-" + std::to_string(*info.virtioGpuContextId) + : "RenderThread"), mRingStream(new RingStream(info, kStreamBufferSize)), mContextId(info.virtioGpuContextId ? *info.virtioGpuContextId : 0), - mCapsetId(info.virtioGpuCapsetId ? *info.virtioGpuCapsetId : 0) { + mCapsetId(info.virtioGpuCapsetId ? *info.virtioGpuCapsetId : 0), + mContextName(info.virtioGpuContextName) { + incrementAndCheckRenderThreadCount(); if (load) { const bool success = load->getByte(); if (success) { @@ -104,7 +130,7 @@ RenderThread::RenderThread(const AsgConsumerCreateInfo& info, Stream* load) loadStream(load, &*mStream); mState = SnapshotState::StartLoading; } else { - mFinished.store(true, std::memory_order_relaxed); + setFinished(); } } } @@ -112,7 +138,9 @@ RenderThread::RenderThread(const AsgConsumerCreateInfo& info, Stream* load) // Note: the RenderThread destructor might be called from a different thread // than from RenderThread::main() so thread specific cleanup likely belongs at // the end of RenderThread::main(). -RenderThread::~RenderThread() = default; +RenderThread::~RenderThread() { + decrementRenderThreadCount(); +} void RenderThread::pausePreSnapshot() { AutoLock lock(mLock); @@ -281,6 +309,12 @@ intptr_t RenderThread::main() { ChecksumCalculator& checksumCalc = ChecksumCalculatorThreadInfo::get(); bool needRestoreFromSnapshot = false; + if (!FrameBuffer::getFB()) { + GFXSTREAM_ERROR("Invalid framebuffer for RenderThread @%p", this); + setFinished(); + return 0; + } + // // initialize decoders #if GFXSTREAM_ENABLE_HOST_GLES @@ -293,7 +327,7 @@ intptr_t RenderThread::main() { if (!mChannel && !mRingStream) { GFXSTREAM_DEBUG("Exited a loader RenderThread @%p", this); - mFinished.store(true, std::memory_order_relaxed); + setFinished(); return 0; } @@ -419,12 +453,12 @@ intptr_t RenderThread::main() { anyProgress |= progress; const char* contextName = nullptr; - if (mNameOpt) { - contextName = (*mNameOpt).c_str(); + if (mContextName) { + contextName = mContextName->c_str(); } if (!tInfo->m_puid) { - tInfo->m_puid = mContextId; + tInfo->setPuid(mContextId); } if (!processResources && tInfo->m_puid && tInfo->m_puid != INVALID_CONTEXT_ID) { @@ -432,7 +466,7 @@ intptr_t RenderThread::main() { } progress = false; - size_t last; + size_t last = 0; // // try to process some of the command buffer using the @@ -441,9 +475,6 @@ intptr_t RenderThread::main() { // Note: It's risky to limit Vulkan decoding to one thread, // so we do it outside the limiter if (tInfo->m_vkInfo) { - if (tInfo->m_vkInfo->ctx_id == 0) { - tInfo->m_vkInfo->ctx_id = mContextId; - } VkDecoderContext context = { .processName = contextName, .gfxApiLogger = &gfxLogger, diff --git a/host/render_thread.h b/host/render_thread.h index 1548be931..00021fdfb 100644 --- a/host/render_thread.h +++ b/host/render_thread.h @@ -48,6 +48,8 @@ class RenderThread : public gfxstream::base::Thread { RenderThread(const AsgConsumerCreateInfo& info, Stream* loadStream); virtual ~RenderThread(); + static uint32_t getActiveRenderThreadsCount(); + // Returns true iff the thread has finished. bool isFinished() const { return mFinished.load(std::memory_order_relaxed); } void waitForFinished(); @@ -116,6 +118,7 @@ class RenderThread : public gfxstream::base::Thread { bool mRunInLimitedMode = false; uint32_t mContextId = 0; uint32_t mCapsetId = 0; + std::optional mContextName; // If we need to reload process resources. // This happens in snapshot testing where we don't snapshot render threads. bool mNeedReloadProcessResources = false; diff --git a/host/render_thread_info.cpp b/host/render_thread_info.cpp index b533d5e53..26e6956ca 100644 --- a/host/render_thread_info.cpp +++ b/host/render_thread_info.cpp @@ -63,9 +63,24 @@ void RenderThreadInfo::forAllRenderThreadInfos(std::functionm_puid = m_puid; +} #endif +void RenderThreadInfo::setPuid(uint64_t puid) { + m_puid = puid; +#if GFXSTREAM_ENABLE_HOST_GLES + if (m_glInfo) { + m_glInfo->m_puid = puid; + } +#endif + if (m_vkInfo) { + m_vkInfo->ctx_id = puid; + } +} + void RenderThreadInfo::onSave(Stream* stream) { // TODO(b/309858017): remove if when ready to bump snapshot version if (FrameBuffer::getFB()->getFeatures().VulkanSnapshots.enabled()) { diff --git a/host/render_thread_info.h b/host/render_thread_info.h index 88b38f432..04ba45f51 100644 --- a/host/render_thread_info.h +++ b/host/render_thread_info.h @@ -53,6 +53,9 @@ struct RenderThreadInfo { void initGl(gl::EmulationGl* emulationGl); #endif + void setPuid(uint64_t puid); + uint64_t getPuid() const { return m_puid; }; + // The unique id of owner guest process of this render thread uint64_t m_puid = 0; std::optional m_processName; diff --git a/host/renderer_impl.cpp b/host/renderer_impl.cpp index 7c7322705..701266480 100644 --- a/host/renderer_impl.cpp +++ b/host/renderer_impl.cpp @@ -58,69 +58,7 @@ namespace host { // thread, which may in turn be blocked on something else. static const bool kUseSubwindowThread = false; -// This object manages the cleanup of guest process resources when the process -// exits. It runs the cleanup in a separate thread to never block the main -// render thread for a low-priority task. -class RendererImpl::ProcessCleanupThread { -public: - ProcessCleanupThread() - : mCleanupWorker( - []() { - GFXSTREAM_TRACE_NAME_THREAD("Gfxstream Renderer Cleanup Worker"); - }, - [](Cmd cmd) { - using gfxstream::base::WorkerProcessingResult; - struct { - WorkerProcessingResult operator()(CleanProcessResources resources) { - FrameBuffer::getFB()->cleanupProcGLObjects(resources.puid); - // resources.resource are destroyed automatically when going out of the - // scope. - return WorkerProcessingResult::Continue; - } - WorkerProcessingResult operator()(Exit) { - return WorkerProcessingResult::Stop; - } - } visitor; - return std::visit(visitor, std::move(cmd)); - }) { - mCleanupWorker.start(); - } - - ~ProcessCleanupThread() { - mCleanupWorker.enqueue(Exit{}); - } - - void cleanup(uint64_t processId, std::unique_ptr resource) { - mCleanupWorker.enqueue(CleanProcessResources{ - .puid = processId, - .resource = std::move(resource), - }); - } - - void stop() { - mCleanupWorker.enqueue(Exit{}); - mCleanupWorker.join(); - } - - void waitForCleanup() { - mCleanupWorker.waitQueuedItems(); - } - -private: - struct CleanProcessResources { - uint64_t puid; - std::unique_ptr resource; - }; - struct Exit {}; - using Cmd = std::variant; - DISALLOW_COPY_AND_ASSIGN(ProcessCleanupThread); - - gfxstream::base::WorkerThread mCleanupWorker; -}; - -RendererImpl::RendererImpl() { - mCleanupThread.reset(new ProcessCleanupThread()); -} +RendererImpl::RendererImpl() = default; RendererImpl::~RendererImpl() { stop(true); @@ -172,9 +110,6 @@ void RendererImpl::stop(bool wait) { for (const auto& c : channels) { c->stopFromHost(); } - // We're stopping the renderer, so there's no need to clean up resources - // of some pending processes: we'll destroy everything soon. - mCleanupThread->stop(); mStoppedChannels.insert(mStoppedChannels.end(), std::make_move_iterator(channels.begin()), @@ -197,7 +132,7 @@ void RendererImpl::stop(bool wait) { return; } - mCleanupThread->waitForCleanup(); + waitForProcessCleanup(); mStoppedChannels.clear(); } @@ -236,10 +171,9 @@ void RendererImpl::cleanupRenderThreads() { } void RendererImpl::waitForProcessCleanup() { - mCleanupThread->waitForCleanup(); - // Recreate it to make sure we've started from scratch and that we've - // finished all in-progress cleanups as well. - mCleanupThread.reset(new ProcessCleanupThread()); + if (auto* fb = FrameBuffer::getFB()) { + fb->waitForProcessCleanup(); + } } RenderChannelPtr RendererImpl::createRenderChannel( @@ -383,16 +317,7 @@ bool RendererImpl::save(gfxstream::Stream* stream, bool RendererImpl::load(gfxstream::Stream* stream, const ITextureLoaderPtr& textureLoader) { - -#ifdef SNAPSHOT_PROFILE - gfxstream::base::System::Duration startTime = - gfxstream::base::System::get()->getUnixTimeUs(); -#endif waitForProcessCleanup(); -#ifdef SNAPSHOT_PROFILE - GFXSTREAM_INFO("Previous session cleanup time: %lld ms\n", - (long long)(gfxstream::base::System::get()->getUnixTimeUs() - startTime) / 1000); -#endif mStopped = stream->getByte(); if (mStopped) { @@ -575,9 +500,9 @@ void RendererImpl::onGuestGraphicsProcessCreate(uint64_t puid) { } void RendererImpl::cleanupProcGLObjects(uint64_t puid) { - std::unique_ptr resource = - FrameBuffer::getFB()->removeGraphicsProcessResources(puid); - mCleanupThread->cleanup(puid, std::move(resource)); + if (auto* fb = FrameBuffer::getFB()) { + fb->signalGuestProcessDead(puid); + } } static struct AndroidVirtioGpuOps sVirtioGpuOps = { diff --git a/host/renderer_impl.h b/host/renderer_impl.h index c41a18113..34cf366a4 100644 --- a/host/renderer_impl.h +++ b/host/renderer_impl.h @@ -146,9 +146,6 @@ class RendererImpl final : public Renderer { std::vector> mStoppedChannels; bool mStopped = false; - class ProcessCleanupThread; - std::unique_ptr mCleanupThread; - std::unique_ptr mLoaderRenderThread; std::vector mAdditionalPostLoadRenderThreads; diff --git a/host/testlibs/support/ShaderUtils.cpp b/host/testlibs/support/ShaderUtils.cpp index 42858e1e1..a3e853ba2 100644 --- a/host/testlibs/support/ShaderUtils.cpp +++ b/host/testlibs/support/ShaderUtils.cpp @@ -91,93 +91,5 @@ GLint compileAndLinkShaderProgram(const char* vshaderSrc, const char* fshaderSrc return program; } -// static Optional getSpirvCompilerPath() { -// #ifdef _WIN32 -// std::string programName = "glslangValidator.exe"; -// #else -// std::string programName = "glslangValidator"; -// #endif -// -// auto programDirRelativePath = -// pj(gfxstream::base::getProgramDirectory(), -// "lib64", "vulkan", "tools", programName); -// -// if (path_exists(programDirRelativePath.c_str())) { -// return programDirRelativePath; -// } -// -// auto launcherDirRelativePath = -// pj(gfxstream::base::getLauncherDirectory(), -// "lib64", "vulkan", programName); -// -// if (path_exists(launcherDirRelativePath.c_str())) { -// return launcherDirRelativePath; -// } -// -// E("spirv compiler does not exist"); -// return {}; -// } - -// Optional compileSpirvFromGLSL(const std::string& shaderType, -// const std::string& src) { -// auto spvCompilerPath = getSpirvCompilerPath(); -// -// if (!spvCompilerPath) return {}; -// -// const auto glslFile = gfxstream::base::makeCustomScopedPtr( -// tempfile_create(), tempfile_unref_and_close_file); -// -// const auto spvFile = gfxstream::base::makeCustomScopedPtr( -// tempfile_create(), tempfile_unref_and_close_file); -// -// auto glslPath = tempfile_path(glslFile.get()); -// auto spvPath = tempfile_path(spvFile.get()); -// -// auto glslFd = gfxstream::base::ScopedFd(open(glslPath, O_RDWR)); -// if (!glslFd.valid()) { return {}; } -// -// android::writeStringToFile(glslFd.get(), src); -// glslFd.close(); -// -// std::vector args = -// { *spvCompilerPath, glslPath, "-V", "-S", shaderType, "-o", spvPath }; -// -// auto runRes = System::get()->runCommandWithResult(args); -// -// if (!runRes) { -// E("failed to compile SPIRV from GLSL. args: %s %s -V -S %s -o %s", -// spvCompilerPath->c_str(), glslPath, shaderType.c_str(), spvPath); -// return {}; -// } -// -// D("Result of compiling SPIRV from GLSL. res: %s args: %s %s -V -S %s -o %s", -// runRes->c_str(), spvCompilerPath->c_str(), glslPath, shaderType.c_str(), -// spvPath); -// -// auto res = android::readFileIntoString(spvPath); -// -// if (res) { -// D("got %zu bytes:", res->size()); -// } else { -// E("failed to read SPIRV file %s into string", spvPath); -// } -// -// return res; -// } -// -// Optional > readSpirv(const char* path) { -// std::ifstream in(path, std::ios::ate | std::ios::binary); -// -// if (!in) return {}; -// -// size_t fileSize = (size_t)in.tellg(); -// std::vector buffer(fileSize); -// -// in.seekg(0); -// in.read(buffer.data(), fileSize); -// -// return buffer; -// } - } // namespace host } // namespace gfxstream diff --git a/host/virtio_gpu_context.cpp b/host/virtio_gpu_context.cpp index 2a1117296..320a1166c 100644 --- a/host/virtio_gpu_context.cpp +++ b/host/virtio_gpu_context.cpp @@ -104,7 +104,7 @@ int VirtioGpuContext::CreateAddressSpaceGraphicsInstance( void* resourceHva = nullptr; uint64_t resourceHvaSize = 0; if (resource.Map(&resourceHva, &resourceHvaSize) != 0) { - GFXSTREAM_ERROR("failed to create ASG instance on context %d: failed to map resource %u", + GFXSTREAM_ERROR("failed to create ASG instance on context %u: failed to map resource %u", mId, resourceId); return -EINVAL; } diff --git a/host/virtio_gpu_format_utils.h b/host/virtio_gpu_format_utils.h index 2b8f56a30..fe89c6c96 100644 --- a/host/virtio_gpu_format_utils.h +++ b/host/virtio_gpu_format_utils.h @@ -14,6 +14,9 @@ #pragma once +#include +#include + #include "gfxstream/common/logging.h" #include "gfxstream/host/gfxstream_format.h" @@ -109,6 +112,14 @@ static inline void set_virgl_format_supported(uint32_t* mask, uint32_t virgl_for } } +static inline bool SafeMulSizeT(size_t a, size_t b, size_t* out) { + return !__builtin_mul_overflow(a, b, out); +} + +static inline bool SafeAddSizeT(size_t a, size_t b, size_t* out) { + return !__builtin_add_overflow(a, b, out); +} + static inline size_t GetTransferOffset(uint32_t virglFormat, uint32_t totalWidth, uint32_t totalHeight, @@ -133,12 +144,21 @@ static inline size_t GetTransferOffset(uint32_t virglFormat, GFXSTREAM_ERROR("Unhandled format %s", formatString.c_str()); return 0; } - const uint32_t bpp = *bppOpt; - const uint32_t stride = totalWidth * bpp; - return y * stride + x * bpp; + const size_t bpp = *bppOpt; + size_t stride = 0; + size_t rowOffset = 0; + size_t colOffset = 0; + size_t offset = 0; + if (!SafeMulSizeT(static_cast(totalWidth), bpp, &stride) || + !SafeMulSizeT(static_cast(y), stride, &rowOffset) || + !SafeMulSizeT(static_cast(x), bpp, &colOffset) || + !SafeAddSizeT(rowOffset, colOffset, &offset)) { + return std::numeric_limits::max(); + } + return offset; } -static inline uint32_t align_up_power_of_2(uint32_t n, uint32_t a) { +static inline size_t align_up_power_of_2(size_t n, size_t a) { return (n + (a - 1)) & ~(a - 1); } @@ -149,6 +169,10 @@ static inline size_t GetTransferSize(uint32_t virglFormat, uint32_t y, uint32_t w, uint32_t h) { + if (totalWidth == 0 || totalHeight == 0 || w == 0 || h == 0) { + return 0; + } + auto formatOpt = ToGfxstreamFormat(virglFormat); if (!formatOpt) { GFXSTREAM_ERROR("Unhandled format %d", virglFormat); @@ -157,7 +181,7 @@ static inline size_t GetTransferSize(uint32_t virglFormat, auto format = *formatOpt; if (IsYuvFormat(format)) { - uint32_t bpp; + size_t bpp; switch (format) { case GfxstreamFormat::P010: case GfxstreamFormat::P210: @@ -176,9 +200,9 @@ static inline size_t GetTransferSize(uint32_t virglFormat, } } - uint32_t yWidth = totalWidth; - uint32_t yHeight = totalHeight; - uint32_t yStridePixels; + size_t yWidth = totalWidth; + size_t yHeight = totalHeight; + size_t yStridePixels; switch (format) { case GfxstreamFormat::NV12: case GfxstreamFormat::NV21: @@ -189,6 +213,11 @@ static inline size_t GetTransferSize(uint32_t virglFormat, } case GfxstreamFormat::YV12: case GfxstreamFormat::YV21: { + // Guard against `yWidth + 31` overflowing `size_t` inside + // `align_up_power_of_2(yWidth, 32)` (e.g. on 32-bit targets). + if (yWidth > std::numeric_limits::max() - 31U) { + return std::numeric_limits::max(); + } yStridePixels = align_up_power_of_2(yWidth, 32); break; } @@ -199,11 +228,15 @@ static inline size_t GetTransferSize(uint32_t virglFormat, } } - uint32_t yStrideBytes = yStridePixels * bpp; - uint32_t ySize = yStrideBytes * yHeight; + size_t yStrideBytes = 0; + size_t ySize = 0; + if (!SafeMulSizeT(yStridePixels, bpp, &yStrideBytes) || + !SafeMulSizeT(yStrideBytes, yHeight, &ySize)) { + return std::numeric_limits::max(); + } - uint32_t uvStridePixels; - uint32_t uvPlaneCount; + size_t uvStridePixels; + size_t uvPlaneCount; switch (format) { case GfxstreamFormat::NV12: case GfxstreamFormat::NV21: @@ -226,8 +259,7 @@ static inline size_t GetTransferSize(uint32_t virglFormat, } } - uint32_t uvStrideBytes = uvStridePixels * bpp; - uint32_t verticalSubsampling; + size_t verticalSubsampling; switch (format) { case GfxstreamFormat::P210: verticalSubsampling = 1; @@ -245,10 +277,17 @@ static inline size_t GetTransferSize(uint32_t virglFormat, return 0; } } - uint32_t uvHeight = totalHeight / verticalSubsampling; - uint32_t uvSize = uvStrideBytes * uvHeight * uvPlaneCount; - - uint32_t dataSize = ySize + uvSize; + size_t uvHeight = totalHeight / verticalSubsampling; + size_t uvStrideBytes = 0; + size_t uvPlaneSize = 0; + size_t uvSize = 0; + size_t dataSize = 0; + if (!SafeMulSizeT(uvStridePixels, bpp, &uvStrideBytes) || + !SafeMulSizeT(uvStrideBytes, uvHeight, &uvPlaneSize) || + !SafeMulSizeT(uvPlaneSize, uvPlaneCount, &uvSize) || + !SafeAddSizeT(ySize, uvSize, &dataSize)) { + return std::numeric_limits::max(); + } return dataSize; } else { auto bppOpt = GetBpp(format); @@ -257,12 +296,21 @@ static inline size_t GetTransferSize(uint32_t virglFormat, GFXSTREAM_ERROR("Unhandled format %s", formatString.c_str()); return 0; } - const uint32_t bpp = *bppOpt; - const uint32_t stride = totalWidth * bpp; + const size_t bpp = *bppOpt; + size_t stride = 0; + size_t rowsBytes = 0; + size_t lastRowBytes = 0; + size_t totalBytes = 0; // height - 1 in order to treat the (w * bpp) row specially // (i.e., the last row does not occupy the full stride) - return (h - 1U) * stride + w * bpp; + if (!SafeMulSizeT(static_cast(totalWidth), bpp, &stride) || + !SafeMulSizeT(static_cast(h - 1U), stride, &rowsBytes) || + !SafeMulSizeT(static_cast(w), bpp, &lastRowBytes) || + !SafeAddSizeT(rowsBytes, lastRowBytes, &totalBytes)) { + return std::numeric_limits::max(); + } + return totalBytes; } } diff --git a/host/virtio_gpu_frontend.cpp b/host/virtio_gpu_frontend.cpp index 3b5eaaf16..4c5c3e18a 100644 --- a/host/virtio_gpu_frontend.cpp +++ b/host/virtio_gpu_frontend.cpp @@ -223,7 +223,7 @@ int VirtioGpuFrontend::destroyContext(VirtioGpuCtxId contextId) { template bool SafeDecode(T& out, const uint8_t* buffer, uint32_t buffer_size) { if (buffer_size < sizeof(T)) { - GFXSTREAM_ERROR("failed to decode: need %u bytes but have %u bytes)", + GFXSTREAM_ERROR("failed to decode: need %zu bytes but have %u bytes", sizeof(T), buffer_size); return false; } @@ -535,7 +535,7 @@ int VirtioGpuFrontend::importResource(uint32_t res_handle, if (resourceIt == mResources.end()) { GFXSTREAM_ERROR( "import_data::flags specified STREAM_RENDERER_IMPORT_FLAG_RESOURCE_EXISTS, but " - "internal resource does not already exist", + "internal resource does not already exist (res_handle: %u)", res_handle); return -EINVAL; } @@ -793,7 +793,7 @@ void VirtioGpuFrontend::detachResource(uint32_t contextId, uint32_t resourceId) auto resourceIt = mResources.find(resourceId); if (resourceIt == mResources.end()) { - GFXSTREAM_ERROR("failed to attach resource %u to context %u: resource not found.", + GFXSTREAM_ERROR("failed to detach resource %u from context %u: resource not found.", resourceId, contextId); return; } @@ -1177,7 +1177,10 @@ int VirtioGpuFrontend::restoreRenderer(const char* directory) { GFXSTREAM_ERROR("Failed to restore renderer: renderer not available."); return -EINVAL; } - mRenderer->load(&stream, nullptr); + if (!mRenderer->load(&stream, nullptr)) { + GFXSTREAM_ERROR("Failed to restore renderer: mRenderer->load failed."); + return -1; + } return 0; } diff --git a/host/virtio_gpu_gfxstream_renderer.cpp b/host/virtio_gpu_gfxstream_renderer.cpp index 250f106d6..d6315ea35 100644 --- a/host/virtio_gpu_gfxstream_renderer.cpp +++ b/host/virtio_gpu_gfxstream_renderer.cpp @@ -23,6 +23,7 @@ extern "C" { #include "frame_buffer.h" #include "gfxstream/strings.h" +#include "gfxstream/common/build_info.h" #include "gfxstream/common/logging.h" #include "gfxstream/host/features.h" #include "gfxstream/host/tracing.h" @@ -34,6 +35,7 @@ extern "C" { #endif #include "render-utils/Renderer.h" #include "render-utils/RenderLib.h" +#include "render_thread.h" #include "virtio_gpu_frontend.h" #include "vulkan/vk_utils.h" #include "vulkan/vulkan_dispatch.h" @@ -109,6 +111,10 @@ ParseGfxstreamFeatures(const int rendererFlags, rendererFlags & STREAM_RENDERER_FLAGS_USE_VK_BIT); GFXSTREAM_SET_BOOL_FEATURE_ON_CONDITION( &features, VulkanBatchedDescriptorSetUpdate, true); + GFXSTREAM_SET_BOOL_FEATURE_ON_CONDITION( + &features, VulkanAstcEmulation, true); + GFXSTREAM_SET_BOOL_FEATURE_ON_CONDITION( + &features, VulkanEtc2Emulation, true); GFXSTREAM_SET_BOOL_FEATURE_ON_CONDITION( &features, VulkanIgnoredHandles, true); GFXSTREAM_SET_BOOL_FEATURE_ON_CONDITION( @@ -212,6 +218,12 @@ RendererPtr InitRenderer(uint32_t displayWidth, GFXSTREAM_DEBUG("Initializing renderer with width:%u height:%u renderer-flags:0x%x", displayWidth, displayHeight, rendererFlags); + if (features.VulkanValidation.getValue().has_value() || + features.VulkanValidationIncludeFilter.getValue().has_value() || + features.VulkanValidationExcludeFilter.getValue().has_value()) { + gfxstream::host::vk::ensureVulkanValidationLayersEnabled(); + } + gfxstream::host::vk::vkDispatch(false /* don't use test ICD */); static gfxstream::RenderLibPtr sRendererLibrary = gfxstream::initLibrary(); @@ -581,6 +593,18 @@ VG_EXPORT int stream_renderer_resume() { return 0; } +VG_EXPORT int stream_renderer_get_metrics(struct GfxstreamMetrics* metrics) { + GFXSTREAM_TRACE_EVENT(GFXSTREAM_TRACE_STREAM_RENDERER_CATEGORY, + "stream_renderer_get_metrics()"); + + if (!metrics) { + return -EINVAL; + } + + metrics->render_thread_count = gfxstream::host::RenderThread::getActiveRenderThreadsCount(); + return 0; +} + VG_EXPORT int stream_renderer_init(struct stream_renderer_param* stream_renderer_params, uint64_t num_params) { // Required parameters. @@ -787,6 +811,9 @@ VG_EXPORT int stream_renderer_init(struct stream_renderer_param* stream_renderer }); } + const std::string build_id = gfxstream::GetGfxstreamBuildId(); + GFXSTREAM_INFO("Gfxstream Renderer Version: %s", build_id.c_str()); + GFXSTREAM_DEBUG("Finished reading parameters"); // Some required params not found. @@ -849,7 +876,11 @@ VG_EXPORT int stream_renderer_init(struct stream_renderer_param* stream_renderer return -EINVAL; } - sFrontend()->init(renderer, renderer_cookie, features, fence_callback); + const int initRes = sFrontend()->init(renderer, renderer_cookie, features, fence_callback); + if (initRes < 0) { + GFXSTREAM_ERROR("Failed to initialize gfxstream frontend!"); + return initRes; + } GFXSTREAM_INFO("Gfxstream initialized successfully!"); return 0; @@ -914,4 +945,8 @@ static_assert(offsetof(struct stream_renderer_param, key) == 0, static_assert(offsetof(struct stream_renderer_param, value) == 8, "stream_renderer_param.value must be at offset 8"); +static_assert(sizeof(struct GfxstreamMetrics) == 4, "GfxstreamMetrics must be 4 bytes"); +static_assert(offsetof(struct GfxstreamMetrics, render_thread_count) == 0, + "GfxstreamMetrics.render_thread_count must be at offset 0"); + } // extern "C" diff --git a/host/virtio_gpu_resource.cpp b/host/virtio_gpu_resource.cpp index 66d929c91..4531a5141 100644 --- a/host/virtio_gpu_resource.cpp +++ b/host/virtio_gpu_resource.cpp @@ -16,6 +16,9 @@ #include +#include +#include + #include "frame_buffer.h" #include "virtio_gpu_format_utils.h" @@ -163,8 +166,9 @@ std::optional VirtioGpuResource::Create( if (resourceType == VirtioGpuResourceType::PIPE) { // Frontend only resource. } else if (resourceType == VirtioGpuResourceType::BUFFER) { - if (!FrameBuffer::getFB()->createBufferWithResourceHandle(args->width * args->height, - args->handle)) { + const uint64_t bufferSize = + static_cast(args->width) * static_cast(args->height); + if (!FrameBuffer::getFB()->createBufferWithResourceHandle(bufferSize, args->handle)) { GFXSTREAM_ERROR("Failed to create buffer with resource handle %d.", args->handle); return std::nullopt; } @@ -175,9 +179,10 @@ std::optional VirtioGpuResource::Create( return std::nullopt; } auto format = *formatOpt; + const bool linear = (args->bind & VIRGL_BIND_LINEAR) != 0; if (!FrameBuffer::getFB()->createColorBufferWithResourceHandle(args->width, args->height, - format, args->handle)) { + format, args->handle, linear)) { const std::string formatString = ToString(format); GFXSTREAM_ERROR("Failed to create color buffer with resource handle %d. (%dx%d, format: %s)", args->handle, args->width, args->height, formatString.c_str()); @@ -238,6 +243,9 @@ std::optional VirtioGpuResource::Create( resource.mId = resourceId; resource.mCreateBlobArgs = *createBlobArgs; + if (contextId != 0) { + resource.mCreateContextId = contextId; + } if (createBlobArgs->blob_id == 0) { RingBlobMemory memory; @@ -251,42 +259,42 @@ std::optional VirtioGpuResource::Create( return std::nullopt; } resource.mBlobMemory.emplace(std::move(memory)); - } else if (features.ExternalBlob.enabled()) { - if (createBlobArgs->blob_mem == STREAM_BLOB_MEM_GUEST && - (createBlobArgs->blob_flags & STREAM_BLOB_FLAG_CREATE_GUEST_HANDLE)) { + } else if (features.ExternalBlob.enabled() && + createBlobArgs->blob_mem == STREAM_BLOB_MEM_GUEST && + (createBlobArgs->blob_flags & STREAM_BLOB_FLAG_CREATE_GUEST_HANDLE)) { #if defined(__ANDROID__) - ExternalObjectManager::get()->addBlobDescriptorInfo( - contextId, createBlobArgs->blob_id, handle->os_handle, handle->handle_type, 0, - std::nullopt); + ExternalObjectManager::get()->addBlobDescriptorInfo( + contextId, createBlobArgs->blob_id, handle->os_handle, handle->handle_type, 0, + std::nullopt); #elif defined(__linux__) || defined(__QNX__) - ManagedDescriptor managedHandle(handle->os_handle); - ExternalObjectManager::get()->addBlobDescriptorInfo( - contextId, createBlobArgs->blob_id, std::move(managedHandle), handle->handle_type, - 0, std::nullopt); + ManagedDescriptor managedHandle(handle->os_handle); + ExternalObjectManager::get()->addBlobDescriptorInfo( + contextId, createBlobArgs->blob_id, std::move(managedHandle), handle->handle_type, 0, + std::nullopt); #else - GFXSTREAM_ERROR("Failed to create blob: unimplemented external blob."); - return std::nullopt; + GFXSTREAM_ERROR("Failed to create blob: unimplemented external blob."); + return std::nullopt; #endif + } else { + // ExternalBlob picks the map_blob transport (descriptor vs. host-visible mapping); it + // does not gate scanout, so a ColorBuffer's descriptor may be registered regardless of + // the feature. Probe for it before falling back to a mapping. + if (!descriptorInfoOpt) { + descriptorInfoOpt = ExternalObjectManager::get()->removeBlobDescriptorInfo( + contextId, createBlobArgs->blob_id); + } + if (descriptorInfoOpt) { + resource.mBlobMemory.emplace( + std::make_shared(std::move(*descriptorInfoOpt))); } else { - if (!descriptorInfoOpt) { - descriptorInfoOpt = ExternalObjectManager::get()->removeBlobDescriptorInfo( - contextId, createBlobArgs->blob_id); - } - if (!descriptorInfoOpt) { - GFXSTREAM_ERROR("Failed to create blob: no external blob descriptor."); + auto memoryMappingOpt = + ExternalObjectManager::get()->removeMapping(contextId, createBlobArgs->blob_id); + if (!memoryMappingOpt) { + GFXSTREAM_ERROR("Failed to create blob: no external blob descriptor or mapping."); return std::nullopt; } - resource.mBlobMemory.emplace( - std::make_shared(std::move(*descriptorInfoOpt))); - } - } else { - auto memoryMappingOpt = - ExternalObjectManager::get()->removeMapping(contextId, createBlobArgs->blob_id); - if (!memoryMappingOpt) { - GFXSTREAM_ERROR("Failed to create blob: no external blob mapping."); - return std::nullopt; + resource.mBlobMemory.emplace(std::move(*memoryMappingOpt)); } - resource.mBlobMemory.emplace(std::move(*memoryMappingOpt)); } return resource; @@ -341,13 +349,20 @@ void VirtioGpuResource::AttachIov(struct iovec* iov, uint32_t num_iovs) { mIovs.clear(); mLinear.clear(); + if (!iov || num_iovs == 0) { + return; + } + size_t linearSize = 0; - if (num_iovs) { - mIovs.reserve(num_iovs); - for (uint32_t i = 0; i < num_iovs; ++i) { - mIovs.push_back(iov[i]); - linearSize += iov[i].iov_len; + mIovs.reserve(num_iovs); + for (uint32_t i = 0; i < num_iovs; ++i) { + if (!SafeAddSizeT(linearSize, iov[i].iov_len, &linearSize)) { + GFXSTREAM_ERROR("Failed to attach iov: total iov length overflows size_t for resource %d", + mId); + mIovs.clear(); + return; } + mIovs.push_back(iov[i]); } if (linearSize > 0) { @@ -362,8 +377,14 @@ void VirtioGpuResource::AttachToContext(VirtioGpuContextId contextId) { void VirtioGpuResource::DetachFromContext(VirtioGpuContextId contextId) { mAttachedToContexts.erase(contextId); - mLatestAttachedContext.reset(); - mHostPipe = nullptr; + if (mLatestAttachedContext == contextId) { + if (mAttachedToContexts.empty()) { + mLatestAttachedContext.reset(); + } else { + mLatestAttachedContext = *mAttachedToContexts.begin(); + } + mHostPipe = nullptr; + } } std::unordered_set VirtioGpuResource::GetAttachedContexts() const { @@ -481,6 +502,11 @@ int VirtioGpuResource::GetCaching(uint32_t* outCaching) const { // copy into display buffers. int VirtioGpuResource::TransferRead(uint64_t offset, stream_renderer_box* box, std::optional> iovs) { + if (!box) { + GFXSTREAM_ERROR("Failed to transfer: missing box."); + return -EINVAL; + } + // First, copy from the underlying backend resource to this resource's linear buffer: int ret = 0; if (mResourceType == VirtioGpuResourceType::BLOB) { @@ -516,6 +542,11 @@ int VirtioGpuResource::TransferRead(uint64_t offset, stream_renderer_box* box, // Corresponds to Virtio GPU "TransferToHost" commands. int VirtioGpuResource::TransferWrite(uint64_t offset, stream_renderer_box* box, std::optional> iovs) { + if (!box) { + GFXSTREAM_ERROR("Failed to transfer: missing box."); + return -EINVAL; + } + // First, copy from the desired iov to this resource's linear buffer: int ret = 0; if (iovs) { @@ -555,13 +586,19 @@ int VirtioGpuResource::ReadFromPipeToLinear(uint64_t offset, stream_renderer_box return -EINVAL; } - size_t requiredSize = box->x + box->w; - if (mLinear.size() < requiredSize) { - GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %zu", mLinear.size(), requiredSize); + if (!box) { + GFXSTREAM_ERROR("Failed to transfer: missing box."); + return -EINVAL; + } + + if (static_cast(box->x) > mLinear.size() || + static_cast(box->w) > mLinear.size() - static_cast(box->x)) { + GFXSTREAM_ERROR("mLinear is too small for pipe read! size: %zu, x: %u, w: %u", + mLinear.size(), box->x, box->w); return -EINVAL; } - return mHostPipe->TransferFromHost(mLinear.data() + box->x, box->w); + return mHostPipe->TransferFromHost(mLinear.data() + static_cast(box->x), box->w); } int VirtioGpuResource::WriteToPipeFromLinear(uint64_t offset, stream_renderer_box* box) { @@ -581,7 +618,19 @@ int VirtioGpuResource::WriteToPipeFromLinear(uint64_t offset, stream_renderer_bo return -EINVAL; } - return mHostPipe->TransferToHost(mLinear.data() + box->x, box->w); + if (!box) { + GFXSTREAM_ERROR("Failed to transfer: missing box."); + return -EINVAL; + } + + if (static_cast(box->x) > mLinear.size() || + static_cast(box->w) > mLinear.size() - static_cast(box->x)) { + GFXSTREAM_ERROR("mLinear is too small for pipe write! size: %zu, x: %u, w: %u", + mLinear.size(), box->x, box->w); + return -EINVAL; + } + + return mHostPipe->TransferToHost(mLinear.data() + static_cast(box->x), box->w); } int VirtioGpuResource::ReadFromBufferToLinear(uint64_t offset, stream_renderer_box* box) { @@ -595,14 +644,15 @@ int VirtioGpuResource::ReadFromBufferToLinear(uint64_t offset, stream_renderer_b return -EINVAL; } - size_t requiredSize = mCreateArgs->width * mCreateArgs->height; - if (mLinear.size() < requiredSize) { - GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %zu", mLinear.size(), requiredSize); + const uint64_t requiredSize = + static_cast(mCreateArgs->width) * static_cast(mCreateArgs->height); + if (requiredSize == 0 || requiredSize > mLinear.size()) { + GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %" PRIu64, mLinear.size(), + requiredSize); return -EINVAL; } - FrameBuffer::getFB()->readBuffer(mCreateArgs->handle, 0, - mCreateArgs->width * mCreateArgs->height, mLinear.data()); + FrameBuffer::getFB()->readBuffer(mCreateArgs->handle, 0, requiredSize, mLinear.data()); return 0; } @@ -617,8 +667,15 @@ int VirtioGpuResource::WriteToBufferFromLinear(uint64_t offset, stream_renderer_ return -EINVAL; } - FrameBuffer::getFB()->updateBuffer(mCreateArgs->handle, 0, - mCreateArgs->width * mCreateArgs->height, mLinear.data()); + const uint64_t requiredSize = + static_cast(mCreateArgs->width) * static_cast(mCreateArgs->height); + if (requiredSize == 0 || requiredSize > mLinear.size()) { + GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %" PRIu64, mLinear.size(), + requiredSize); + return -EINVAL; + } + + FrameBuffer::getFB()->updateBuffer(mCreateArgs->handle, 0, requiredSize, mLinear.data()); return 0; } @@ -640,10 +697,12 @@ int VirtioGpuResource::ReadFromColorBufferToLinear(uint64_t offset, stream_rende } auto format = *formatOpt; - size_t requiredSize = GetTransferSize(mCreateArgs->format, mCreateArgs->width, mCreateArgs->height, - 0, 0, mCreateArgs->width, mCreateArgs->height); - if (mLinear.size() < requiredSize) { - GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %zu", mLinear.size(), requiredSize); + const size_t requiredSize = GetTransferSize(mCreateArgs->format, mCreateArgs->width, + mCreateArgs->height, 0, 0, + mCreateArgs->width, mCreateArgs->height); + if (requiredSize == 0 || mLinear.size() < requiredSize) { + GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %zu", mLinear.size(), + requiredSize); return -EINVAL; } @@ -680,6 +739,15 @@ int VirtioGpuResource::WriteToColorBufferFromLinear(uint64_t offset, stream_rend } auto format = *formatOpt; + const size_t requiredSize = GetTransferSize(mCreateArgs->format, mCreateArgs->width, + mCreateArgs->height, 0, 0, + mCreateArgs->width, mCreateArgs->height); + if (requiredSize == 0 || mLinear.size() < requiredSize) { + GFXSTREAM_ERROR("mLinear is too small! size: %zu, required: %zu", mLinear.size(), + requiredSize); + return -EINVAL; + } + // We always xfer the whole thing again to GL // since it's fiddly to calc / copy-out subregions FrameBuffer::getFB()->updateColorBuffer(mCreateArgs->handle, 0, 0, mCreateArgs->width, @@ -708,7 +776,7 @@ int VirtioGpuResource::TransferFromIov(uint64_t offset, const stream_renderer_bo int VirtioGpuResource::TransferWithIov(uint64_t offset, const stream_renderer_box* box, const std::vector& iovs, TransferDirection direction) { - if (!mCreateArgs) { + if (!mCreateArgs || !box) { GFXSTREAM_ERROR("failed to transfer: missing resource args."); return -EINVAL; } @@ -720,8 +788,8 @@ int VirtioGpuResource::TransferWithIov(uint64_t offset, const stream_renderer_bo GFXSTREAM_ERROR("failed to transfer: empty transfer"); return -EINVAL; } - if (box->x + box->w > mCreateArgs->width) { - GFXSTREAM_ERROR("failed to transfer: box overflows resource width"); + if (box->w > mCreateArgs->width - box->x || box->h > mCreateArgs->height - box->y) { + GFXSTREAM_ERROR("failed to transfer: box overflows resource dimensions"); return -EINVAL; } @@ -731,18 +799,17 @@ int VirtioGpuResource::TransferWithIov(uint64_t offset, const stream_renderer_bo size_t start = linearBase; size_t length = GetTransferSize(mCreateArgs->format, mCreateArgs->width, mCreateArgs->height, - box->x, box->y, box->w, box->h); - size_t end = start + length; - - if (start == end) { + box->x, box->y, box->w, box->h); + if (length == 0) { GFXSTREAM_ERROR("failed to transfer: nothing to transfer"); return -EINVAL; } - if (end > mLinear.size()) { + if (start > mLinear.size() || length > mLinear.size() - start) { GFXSTREAM_ERROR("failed to transfer: start + length overflows!"); return -EINVAL; } + const size_t end = start + length; uint32_t iovIndex = 0; size_t iovOffset = 0; @@ -758,7 +825,11 @@ int VirtioGpuResource::TransferWithIov(uint64_t offset, const stream_renderer_bo const char* iovBase_const = static_cast(iovs[iovIndex].iov_base); char* iovBase = static_cast(iovs[iovIndex].iov_base); size_t iovLen = iovs[iovIndex].iov_len; - size_t iovOffsetEnd = iovOffset + iovLen; + size_t iovOffsetEnd = 0; + if (!SafeAddSizeT(iovOffset, iovLen, &iovOffsetEnd)) { + GFXSTREAM_ERROR("failed to transfer: iov offset overflows"); + return -EINVAL; + } auto lower_intersect = std::max(iovOffset, start); auto upper_intersect = std::min(iovOffsetEnd, end); @@ -780,7 +851,7 @@ int VirtioGpuResource::TransferWithIov(uint64_t offset, const stream_renderer_bo written += toWrite; } ++iovIndex; - iovOffset += iovLen; + iovOffset = iovOffsetEnd; } return 0; @@ -880,28 +951,26 @@ std::optional VirtioGpuResource::Snapshot() const { } resourceSnapshot.mutable_ring_blob()->Swap(&*snapshotRingBlobOpt); } else if (std::holds_alternative(*mBlobMemory)) { - if (!mLatestAttachedContext) { - GFXSTREAM_ERROR("Failed to snapshot resource %d: missing blob context?", mId); - return std::nullopt; - } if (!mCreateBlobArgs) { GFXSTREAM_ERROR("Failed to snapshot resource %d: missing blob args?", mId); return std::nullopt; } auto snapshotDescriptorInfo = resourceSnapshot.mutable_external_memory_descriptor(); - snapshotDescriptorInfo->set_context_id(*mLatestAttachedContext); + auto contextId = mCreateContextId ? mCreateContextId : mLatestAttachedContext; + if (contextId) { + snapshotDescriptorInfo->set_context_id(*contextId); + } snapshotDescriptorInfo->set_blob_id(mCreateBlobArgs->blob_id); } else if (std::holds_alternative(*mBlobMemory)) { - if (!mLatestAttachedContext) { - GFXSTREAM_ERROR("Failed to snapshot resource %d: missing blob context?", mId); - return std::nullopt; - } if (!mCreateBlobArgs) { GFXSTREAM_ERROR("Failed to snapshot resource %d: missing blob args?", mId); return std::nullopt; } auto snapshotDescriptorInfo = resourceSnapshot.mutable_external_memory_mapping(); - snapshotDescriptorInfo->set_context_id(*mLatestAttachedContext); + auto contextId = mCreateContextId ? mCreateContextId : mLatestAttachedContext; + if (contextId) { + snapshotDescriptorInfo->set_context_id(*contextId); + } snapshotDescriptorInfo->set_blob_id(mCreateBlobArgs->blob_id); } } @@ -958,30 +1027,53 @@ std::optional VirtioGpuResource::Snapshot() const { resource.mBlobMemory.emplace(std::move(*resourceRingBlobOpt)); } else if (resourceSnapshot.has_external_memory_descriptor()) { const auto& snapshotDescriptorInfo = resourceSnapshot.external_memory_descriptor(); + if (snapshotDescriptorInfo.has_context_id()) { + resource.mCreateContextId = snapshotDescriptorInfo.context_id(); + auto descriptorInfoOpt = ExternalObjectManager::get()->removeBlobDescriptorInfo( + snapshotDescriptorInfo.context_id(), snapshotDescriptorInfo.blob_id()); + if (!descriptorInfoOpt) { + GFXSTREAM_ERROR("Failed to restore resource: failed to find blob descriptor info."); + return std::nullopt; + } - auto descriptorInfoOpt = ExternalObjectManager::get()->removeBlobDescriptorInfo( - snapshotDescriptorInfo.context_id(), snapshotDescriptorInfo.blob_id()); - if (!descriptorInfoOpt) { - GFXSTREAM_ERROR("Failed to restore resource: failed to find blob descriptor info."); - return std::nullopt; + resource.mBlobMemory.emplace( + std::make_shared(std::move(*descriptorInfoOpt))); } - - resource.mBlobMemory.emplace( - std::make_shared(std::move(*descriptorInfoOpt))); } else if (resourceSnapshot.has_external_memory_mapping()) { const auto& snapshotDescriptorInfo = resourceSnapshot.external_memory_mapping(); - - auto memoryMappingOpt = ExternalObjectManager::get()->removeMapping( - snapshotDescriptorInfo.context_id(), snapshotDescriptorInfo.blob_id()); - if (!memoryMappingOpt) { - GFXSTREAM_ERROR("Failed to restore resource: failed to find mapping info."); - return std::nullopt; + if (snapshotDescriptorInfo.has_context_id()) { + resource.mCreateContextId = snapshotDescriptorInfo.context_id(); + auto memoryMappingOpt = ExternalObjectManager::get()->removeMapping( + snapshotDescriptorInfo.context_id(), snapshotDescriptorInfo.blob_id()); + if (memoryMappingOpt) { + resource.mBlobMemory.emplace(std::move(*memoryMappingOpt)); + } + } + if (!resource.mBlobMemory && resource.mCreateBlobArgs && resource.mCreateBlobArgs->size > 0) { + GFXSTREAM_WARNING( + "Restoring fallback host memory (size=%llu) for orphaned blob resource %d " + "(ctx=%d, blob=%llu)", + static_cast(resource.mCreateBlobArgs->size), resource.mId, + snapshotDescriptorInfo.has_context_id() + ? static_cast(snapshotDescriptorInfo.context_id()) + : -1, + static_cast(snapshotDescriptorInfo.blob_id())); + resource.mOrphanedBlobMemory = + std::make_shared(65536, resource.mCreateBlobArgs->size); + if (resource.mOrphanedBlobMemory->addr) { + std::memset(resource.mOrphanedBlobMemory->addr, 0, resource.mCreateBlobArgs->size); + resource.mBlobMemory.emplace(HostMemInfo{ + .addr = resource.mOrphanedBlobMemory->addr, + .caching = STREAM_RENDERER_MAP_CACHE_CACHED, + }); + } } - resource.mBlobMemory.emplace(std::move(*memoryMappingOpt)); } if (resourceSnapshot.has_latest_attached_context()) { resource.mLatestAttachedContext = resourceSnapshot.latest_attached_context(); + } else { + resource.mLatestAttachedContext = std::nullopt; } resource.mAttachedToContexts.insert(resourceSnapshot.attached_contexts().begin(), diff --git a/host/virtio_gpu_resource.h b/host/virtio_gpu_resource.h index 5276ffdda..c209bd2f9 100644 --- a/host/virtio_gpu_resource.h +++ b/host/virtio_gpu_resource.h @@ -136,6 +136,9 @@ class VirtioGpuResource { int TransferWithIov(uint64_t offset, const stream_renderer_box* box, const std::vector& iovs, TransferDirection direction); + std::optional mCreateContextId; + std::shared_ptr mOrphanedBlobMemory; + // LINT.IfChange(virtio_gpu_resource) VirtioGpuResourceId mId = -1; VirtioGpuResourceType mResourceType = VirtioGpuResourceType::UNKNOWN; diff --git a/host/virtio_gpu_resource_unittest.cpp b/host/virtio_gpu_resource_unittest.cpp new file mode 100644 index 000000000..d7643758c --- /dev/null +++ b/host/virtio_gpu_resource_unittest.cpp @@ -0,0 +1,174 @@ +// Copyright (C) 2026 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "virtio_gpu_resource.h" + +#include +#include +#include +#include + +#include + +#include "gfxstream/virtio-gpu-gfxstream-renderer.h" +#include "virtio_gpu_format_utils.h" +#include "virtio_gpu_pipe.h" + +namespace gfxstream { +namespace host { +namespace { + +TEST(VirtioGpuFormatUtilsSecurityTest, GetTransferOffsetAndSize64BitNoOverflow) { + // 65536 * 65536 * 4 = 16 GiB (wraps 32-bit uint32_t to 0 without size_t widening) + const size_t offset = GetTransferOffset(VIRGL_FORMAT_R8G8B8A8_UNORM, + /*totalWidth=*/65536, + /*totalHeight=*/65536, + /*x=*/0, + /*y=*/65535, + /*w=*/65536, + /*h=*/1); + EXPECT_EQ(offset, static_cast(65535ULL) * 65536ULL * 4ULL); + + const size_t rgbSize = GetTransferSize(VIRGL_FORMAT_R8G8B8A8_UNORM, + /*totalWidth=*/65536, + /*totalHeight=*/65536, + /*x=*/0, + /*y=*/0, + /*w=*/65536, + /*h=*/65536); + EXPECT_EQ(rgbSize, 65536ULL * 65536ULL * 4ULL); + + const size_t yuvSize = GetTransferSize(VIRGL_FORMAT_YV12, + /*totalWidth=*/65536, + /*totalHeight=*/65536, + /*x=*/0, + /*y=*/0, + /*w=*/65536, + /*h=*/65536); + EXPECT_GT(yuvSize, 0x100000000ULL); + + // Zero width/height must never underflow (h - 1U) + EXPECT_EQ(GetTransferSize(VIRGL_FORMAT_R8G8B8A8_UNORM, 16, 16, 0, 0, 16, 0), 0U); + EXPECT_EQ(GetTransferSize(VIRGL_FORMAT_R8G8B8A8_UNORM, 0, 16, 0, 0, 16, 16), 0U); +} + +TEST(VirtioGpuResourceSecurityTest, RejectsPipeTransferReadAndWriteOutOfBoundsAndOverflow) { + struct stream_renderer_resource_create_args args = { + .handle = 1, + .target = 0, // PIPE_BUFFER + .format = VIRGL_FORMAT_R8_UNORM, + .bind = VIRGL_BIND_CUSTOM, // VirtioGpuResourceType::PIPE + .width = 0x2000, + .height = 1, + .depth = 1, + .array_size = 1, + }; + + // Attach only 4 KiB linear backing buffer. + std::vector backing(4096, 0x41); + struct iovec iov = {.iov_base = backing.data(), .iov_len = backing.size()}; + + auto resOpt = VirtioGpuResource::Create(&args, &iov, 1); + ASSERT_TRUE(resOpt.has_value()); + VirtioGpuResource& res = *resOpt; + + res.SetHostPipe(std::make_shared(/*renderer=*/nullptr, /*id=*/1)); + + // Null box must reject cleanly with -EINVAL. + EXPECT_EQ(res.TransferRead(0, nullptr, std::nullopt), -EINVAL); + EXPECT_EQ(res.TransferWrite(0, nullptr, std::nullopt), -EINVAL); + + // 1. Direct OOB offset (box.x = 0x10000000, box.w = 0x1000 > mLinear.size() = 0x1000) + stream_renderer_box oobBox = {.x = 0x10000000, .y = 0, .z = 0, .w = 0x1000, .h = 1, .d = 1}; + EXPECT_EQ(res.TransferRead(0, &oobBox, std::nullopt), -EINVAL); + EXPECT_EQ(res.TransferWrite(0, &oobBox, std::nullopt), -EINVAL); + + // 2. 32-bit uint32_t overflow (box.x = 0xFFFFF800, box.w = 0x1000 -> x + w wraps u32 to 0x800!) + stream_renderer_box overflowBox = { + .x = 0xFFFFF800U, .y = 0, .z = 0, .w = 0x1000U, .h = 1, .d = 1}; + EXPECT_EQ(res.TransferRead(0, &overflowBox, std::nullopt), -EINVAL); + EXPECT_EQ(res.TransferWrite(0, &overflowBox, std::nullopt), -EINVAL); + + // 3. Exact boundary OOB (box.x = 2048, box.w = 2049 -> 4097 > 4096) + stream_renderer_box offByOneBox = {.x = 2048, .y = 0, .z = 0, .w = 2049, .h = 1, .d = 1}; + EXPECT_EQ(res.TransferRead(0, &offByOneBox, std::nullopt), -EINVAL); + EXPECT_EQ(res.TransferWrite(0, &offByOneBox, std::nullopt), -EINVAL); + + // 4. AttachIov size_t overflow must reject cleanly and clear mLinear/mIovs + struct iovec overflowIovs[2] = { + {.iov_base = backing.data(), .iov_len = 4096}, + {.iov_base = backing.data(), .iov_len = std::numeric_limits::max()}, + }; + res.AttachIov(overflowIovs, 2); + stream_renderer_box smallBox = {.x = 0, .y = 0, .z = 0, .w = 16, .h = 1, .d = 1}; + EXPECT_EQ(res.TransferRead(0, &smallBox, std::nullopt), -EINVAL); + EXPECT_EQ(res.TransferWrite(0, &smallBox, std::nullopt), -EINVAL); +} + +#ifdef GFXSTREAM_BUILD_WITH_SNAPSHOT_FRONTEND_SUPPORT +TEST(VirtioGpuResourceSecurityTest, RejectsUndersizedLinearBackingOnBufferAndColorBufferTransfers) { + std::vector smallBacking(4096, 0x42); + struct iovec iov = {.iov_base = smallBacking.data(), .iov_len = smallBacking.size()}; + stream_renderer_box tinyBox = {.x = 0, .y = 0, .z = 0, .w = 16, .h = 1, .d = 1}; + + // 1. BUFFER resource with width=65536, height=65536 (4 GiB -> u32 wraps width*height to 0!) + // Without 64-bit bounds check in BOTH ReadFromBufferToLinear and WriteToBufferFromLinear, + // step-2 would pass requiredSize=0 / skip check and dereference FrameBuffer::getFB() OOB! + snapshot::VirtioGpuResourceSnapshot bufSnap; + bufSnap.set_id(10); + bufSnap.set_type(static_cast(VirtioGpuResourceType::BUFFER)); + auto* bufCreate = bufSnap.mutable_create_args(); + bufCreate->set_id(10); + bufCreate->set_target(0); + bufCreate->set_format(VIRGL_FORMAT_R8_UNORM); + bufCreate->set_bind(1U << 4); + bufCreate->set_width(65536); + bufCreate->set_height(65536); + bufCreate->set_depth(1); + bufCreate->set_array_size(1); + + auto bufResOpt = VirtioGpuResource::Restore(bufSnap); + ASSERT_TRUE(bufResOpt.has_value()); + bufResOpt->AttachIov(&iov, 1); + EXPECT_EQ(bufResOpt->TransferRead(0, &tinyBox, std::nullopt), -EINVAL); + EXPECT_EQ(bufResOpt->TransferWrite(0, &tinyBox, std::nullopt), -EINVAL); + + // 2. COLOR_BUFFER resource with width=65536, height=65536 RGBA8 (16 GiB -> u32 wraps to 0!) + // Without 64-bit GetTransferSize + bounds check in BOTH ReadFromColorBufferToLinear and + // WriteToColorBufferFromLinear, step-2 would read/write 16 GiB past mLinear! + snapshot::VirtioGpuResourceSnapshot cbSnap; + cbSnap.set_id(11); + cbSnap.set_type( + static_cast(VirtioGpuResourceType::COLOR_BUFFER)); + auto* cbCreate = cbSnap.mutable_create_args(); + cbCreate->set_id(11); + cbCreate->set_target(2); + cbCreate->set_format(VIRGL_FORMAT_R8G8B8A8_UNORM); + cbCreate->set_bind(VIRGL_BIND_SAMPLER_VIEW); + cbCreate->set_width(65536); + cbCreate->set_height(65536); + cbCreate->set_depth(1); + cbCreate->set_array_size(1); + + auto cbResOpt = VirtioGpuResource::Restore(cbSnap); + ASSERT_TRUE(cbResOpt.has_value()); + cbResOpt->AttachIov(&iov, 1); + EXPECT_EQ(cbResOpt->TransferRead(0, &tinyBox, std::nullopt), -EINVAL); + EXPECT_EQ(cbResOpt->TransferWrite(0, &tinyBox, std::nullopt), -EINVAL); +} +#endif // GFXSTREAM_BUILD_WITH_SNAPSHOT_FRONTEND_SUPPORT + +} // namespace +} // namespace host +} // namespace gfxstream diff --git a/host/vulkan/Android.bp b/host/vulkan/Android.bp index f15a39de2..2daa4acc3 100644 --- a/host/vulkan/Android.bp +++ b/host/vulkan/Android.bp @@ -92,6 +92,7 @@ cc_library_static { "vk_format_utils.cpp", "vk_reconstruction.cpp", "vk_utils.cpp", + "vk_vvl_configuration.cpp", "vulkan_boxed_handles.cpp", "vulkan_dispatch.cpp", "vulkan_handle_mapping.cpp", diff --git a/host/vulkan/BUILD.bazel b/host/vulkan/BUILD.bazel index dc2c8a7a2..d5001a493 100644 --- a/host/vulkan/BUILD.bazel +++ b/host/vulkan/BUILD.bazel @@ -33,6 +33,7 @@ cc_library( "vk_qsri_timeline.h", "vk_snapshot_handles.h", "vk_utils.h", + "vk_vvl_configuration.h", "vulkan_boxed_handles.h", "vulkan_dispatch.h", "vulkan_handle_mapping.h", @@ -86,6 +87,7 @@ cc_library( "vk_format_utils.cpp", "vk_reconstruction.cpp", "vk_utils.cpp", + "vk_vvl_configuration.cpp", "vulkan_boxed_handles.cpp", "vulkan_dispatch.cpp", "vulkan_handle_mapping.cpp", @@ -126,6 +128,7 @@ cc_library( "vk_reconstruction.h", "vk_snapshot_handles.h", "vk_utils.h", + "vk_vvl_configuration.h", "vulkan_boxed_handles.h", "vulkan_dispatch.h", "vulkan_handle_mapping.h", @@ -313,3 +316,119 @@ cc_test( "@com_google_googletest//:gtest_main", ], ) + +cc_test( + name = "gfxstream_vk_utils_tests", + srcs = [ + "vk_utils_tests.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//host:gfxstream_backend_static", + "//third_party/vulkan:gfxstream_vulkan_headers", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_vulkan_tests", + srcs = [ + "vulkan_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//host:gfxstream_backend_static", + "//host/common:gfxstream_host_common", + "//host/gl/OpenGLESDispatch:gfxstream_host_openglesdispatch_headers", + "//host/testlibs/support:gfxstream_host_testing_support", + "//third_party/vulkan:gfxstream_vulkan_headers", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_vk_decoder_internal_structs_tests", + srcs = [ + "vk_decoder_internal_structs_tests.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//common/base:gfxstream_common_base_testing", + "//host:gfxstream_backend_static", + "//host/testlibs/support:gfxstream_host_testing_support", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_swap_chain_state_vk_tests", + srcs = [ + "swap_chain_state_vk_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//host:gfxstream_backend_static", + "//host/testlibs/oswindow:gfxstream_oswindow_test_support", + "//host/testlibs/support:gfxstream_host_testing_support", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_vk_format_utils_tests", + srcs = [ + "vk_format_utils_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//host:gfxstream_backend_static", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_vk_qsri_timeline_tests", + srcs = [ + "vk_qsri_timeline_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//host:gfxstream_backend_static", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + +cc_test( + name = "gfxstream_device_op_tracker_tests", + srcs = [ + "device_op_tracker_unittest.cpp", + ], + copts = GFXSTREAM_HOST_COPTS, + deps = [ + ":gfxstream_vulkan_server", + "//common/base:gfxstream_common_base", + "//common/base:gfxstream_common_base_testing", + "//host:gfxstream_backend_static", + "//host/testlibs/support:gfxstream_host_testing_support", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) diff --git a/host/vulkan/CMakeLists.txt b/host/vulkan/CMakeLists.txt index bb73f00c7..d98f3db50 100644 --- a/host/vulkan/CMakeLists.txt +++ b/host/vulkan/CMakeLists.txt @@ -46,6 +46,7 @@ add_library(gfxstream-vulkan-server vk_format_utils.cpp vk_reconstruction.cpp vk_utils.cpp + vk_vvl_configuration.cpp vulkan_boxed_handles.cpp vulkan_dispatch.cpp vulkan_handle_mapping.cpp diff --git a/host/vulkan/cereal/Android.bp b/host/vulkan/cereal/Android.bp index 0febf58cf..4aab67be0 100644 --- a/host/vulkan/cereal/Android.bp +++ b/host/vulkan/cereal/Android.bp @@ -32,6 +32,7 @@ cc_library_static { "common/goldfish_vk_reserved_marshaling.cpp", "common/goldfish_vk_deepcopy.cpp", "common/goldfish_vk_dispatch.cpp", + "common/goldfish_vk_supported_extensions.cpp", "common/goldfish_vk_transform.cpp", ], header_libs: [ diff --git a/host/vulkan/cereal/BUILD.bazel b/host/vulkan/cereal/BUILD.bazel index 378d8f71e..7b491875e 100644 --- a/host/vulkan/cereal/BUILD.bazel +++ b/host/vulkan/cereal/BUILD.bazel @@ -13,6 +13,7 @@ cc_library( "common/goldfish_vk_dispatch.h", "common/goldfish_vk_extension_structs.h", "common/goldfish_vk_private_defs.h", + "common/goldfish_vk_supported_extensions.h", "common/goldfish_vk_transform.h", "common/vk_struct_id.h", ], @@ -37,6 +38,7 @@ cc_library( "common/goldfish_vk_extension_structs.cpp", "common/goldfish_vk_marshaling.cpp", "common/goldfish_vk_reserved_marshaling.cpp", + "common/goldfish_vk_supported_extensions.cpp", "common/goldfish_vk_transform.cpp", ], hdrs = [ @@ -46,6 +48,7 @@ cc_library( "common/goldfish_vk_marshaling.h", "common/goldfish_vk_private_defs.h", "common/goldfish_vk_reserved_marshaling.h", + "common/goldfish_vk_supported_extensions.h", "common/goldfish_vk_transform.h", "common/vk_struct_id.h", ], diff --git a/host/vulkan/cereal/CMakeLists.txt b/host/vulkan/cereal/CMakeLists.txt index 5134a9cf6..136076aa5 100644 --- a/host/vulkan/cereal/CMakeLists.txt +++ b/host/vulkan/cereal/CMakeLists.txt @@ -18,6 +18,7 @@ add_library(OpenglRender_vulkan_cereal common/goldfish_vk_reserved_marshaling.cpp common/goldfish_vk_deepcopy.cpp common/goldfish_vk_dispatch.cpp + common/goldfish_vk_supported_extensions.cpp common/goldfish_vk_transform.cpp ) target_compile_definitions(OpenglRender_vulkan_cereal PRIVATE -DVK_GOOGLE_gfxstream) if (WIN32) diff --git a/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp b/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp index 7776ea0d3..78a7f49e7 100644 --- a/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp +++ b/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp @@ -34,6 +34,8 @@ #include #include +#include "gfxstream/common/logging.h" + namespace gfxstream { namespace host { namespace vk { @@ -3145,28 +3147,27 @@ bool vulkan_dispatch_check_instance_VK_BASE_VERSION_1_0(const VulkanDispatch* vk { bool good = true; if (!vk->vkCreateInstance) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateInstance not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateInstance not found"); good = false; } if (!vk->vkEnumerateInstanceExtensionProperties) { - fprintf( - stderr, - "VK_BASE_VERSION_1_0 check failed: vkEnumerateInstanceExtensionProperties not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_0 check failed: vkEnumerateInstanceExtensionProperties not found"); good = false; } if (!vk->vkEnumerateInstanceLayerProperties) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkEnumerateInstanceLayerProperties not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_0 check failed: vkEnumerateInstanceLayerProperties not found"); good = false; } if (!vk->vkGetDeviceProcAddr) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkGetDeviceProcAddr not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetDeviceProcAddr not found"); good = false; } if (!vk->vkGetPhysicalDeviceSparseImageFormatProperties) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkGetPhysicalDeviceSparseImageFormatProperties " - "not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_0 check failed: vkGetPhysicalDeviceSparseImageFormatProperties not " + "found"); good = false; } return good; @@ -3177,70 +3178,67 @@ bool vulkan_dispatch_check_instance_VK_BASE_VERSION_1_1(const VulkanDispatch* vk { bool good = true; if (!vk->vkEnumerateInstanceVersion) { - fprintf(stderr, "VK_BASE_VERSION_1_1 check failed: vkEnumerateInstanceVersion not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkEnumerateInstanceVersion not found"); good = false; } if (!vk->vkEnumeratePhysicalDeviceGroups) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkEnumeratePhysicalDeviceGroups not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkEnumeratePhysicalDeviceGroups not found"); good = false; } if (!vk->vkGetPhysicalDeviceFeatures2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceFeatures2 not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceFeatures2 not found"); good = false; } if (!vk->vkGetPhysicalDeviceProperties2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceProperties2 not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceProperties2 not found"); good = false; } if (!vk->vkGetPhysicalDeviceFormatProperties2) { - fprintf( - stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceFormatProperties2 not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceFormatProperties2 not found"); good = false; } if (!vk->vkGetPhysicalDeviceImageFormatProperties2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceImageFormatProperties2 not " - "found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceImageFormatProperties2 not " + "found"); good = false; } if (!vk->vkGetPhysicalDeviceQueueFamilyProperties2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceQueueFamilyProperties2 not " - "found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceQueueFamilyProperties2 not " + "found"); good = false; } if (!vk->vkGetPhysicalDeviceMemoryProperties2) { - fprintf( - stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceMemoryProperties2 not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceMemoryProperties2 not found"); good = false; } if (!vk->vkGetPhysicalDeviceSparseImageFormatProperties2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceSparseImageFormatProperties2 " - "not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceSparseImageFormatProperties2 not " + "found"); good = false; } if (!vk->vkGetPhysicalDeviceExternalBufferProperties) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalBufferProperties not " - "found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalBufferProperties not " + "found"); good = false; } if (!vk->vkGetPhysicalDeviceExternalFenceProperties) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalFenceProperties not " - "found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalFenceProperties not " + "found"); good = false; } if (!vk->vkGetPhysicalDeviceExternalSemaphoreProperties) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalSemaphoreProperties " - "not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalSemaphoreProperties not " + "found"); good = false; } return good; @@ -3251,229 +3249,226 @@ bool vulkan_dispatch_check_device_VK_BASE_VERSION_1_0(const VulkanDispatch* vk) { bool good = true; if (!vk->vkGetDeviceQueue) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkGetDeviceQueue not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetDeviceQueue not found"); good = false; } if (!vk->vkQueueSubmit) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkQueueSubmit not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkQueueSubmit not found"); good = false; } if (!vk->vkQueueWaitIdle) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkQueueWaitIdle not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkQueueWaitIdle not found"); good = false; } if (!vk->vkDeviceWaitIdle) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDeviceWaitIdle not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDeviceWaitIdle not found"); good = false; } if (!vk->vkAllocateMemory) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkAllocateMemory not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkAllocateMemory not found"); good = false; } if (!vk->vkFreeMemory) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkFreeMemory not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkFreeMemory not found"); good = false; } if (!vk->vkMapMemory) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkMapMemory not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkMapMemory not found"); good = false; } if (!vk->vkUnmapMemory) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkUnmapMemory not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkUnmapMemory not found"); good = false; } if (!vk->vkFlushMappedMemoryRanges) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkFlushMappedMemoryRanges not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkFlushMappedMemoryRanges not found"); good = false; } if (!vk->vkInvalidateMappedMemoryRanges) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkInvalidateMappedMemoryRanges not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_0 check failed: vkInvalidateMappedMemoryRanges not found"); good = false; } if (!vk->vkGetDeviceMemoryCommitment) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkGetDeviceMemoryCommitment not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetDeviceMemoryCommitment not found"); good = false; } if (!vk->vkBindBufferMemory) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkBindBufferMemory not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkBindBufferMemory not found"); good = false; } if (!vk->vkBindImageMemory) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkBindImageMemory not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkBindImageMemory not found"); good = false; } if (!vk->vkGetBufferMemoryRequirements) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkGetBufferMemoryRequirements not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_0 check failed: vkGetBufferMemoryRequirements not found"); good = false; } if (!vk->vkGetImageMemoryRequirements) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkGetImageMemoryRequirements not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetImageMemoryRequirements not found"); good = false; } if (!vk->vkGetImageSparseMemoryRequirements) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkGetImageSparseMemoryRequirements not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_0 check failed: vkGetImageSparseMemoryRequirements not found"); good = false; } if (!vk->vkQueueBindSparse) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkQueueBindSparse not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkQueueBindSparse not found"); good = false; } if (!vk->vkCreateFence) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateFence not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateFence not found"); good = false; } if (!vk->vkDestroyFence) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroyFence not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroyFence not found"); good = false; } if (!vk->vkResetFences) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkResetFences not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkResetFences not found"); good = false; } if (!vk->vkGetFenceStatus) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkGetFenceStatus not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetFenceStatus not found"); good = false; } if (!vk->vkWaitForFences) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkWaitForFences not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkWaitForFences not found"); good = false; } if (!vk->vkCreateSemaphore) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateSemaphore not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateSemaphore not found"); good = false; } if (!vk->vkDestroySemaphore) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroySemaphore not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroySemaphore not found"); good = false; } if (!vk->vkCreateQueryPool) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateQueryPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateQueryPool not found"); good = false; } if (!vk->vkDestroyQueryPool) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroyQueryPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroyQueryPool not found"); good = false; } if (!vk->vkGetQueryPoolResults) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkGetQueryPoolResults not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetQueryPoolResults not found"); good = false; } if (!vk->vkCreateBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateBuffer not found"); good = false; } if (!vk->vkDestroyBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroyBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroyBuffer not found"); good = false; } if (!vk->vkCreateImage) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateImage not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateImage not found"); good = false; } if (!vk->vkDestroyImage) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroyImage not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroyImage not found"); good = false; } if (!vk->vkGetImageSubresourceLayout) { - fprintf(stderr, - "VK_BASE_VERSION_1_0 check failed: vkGetImageSubresourceLayout not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkGetImageSubresourceLayout not found"); good = false; } if (!vk->vkCreateImageView) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateImageView not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateImageView not found"); good = false; } if (!vk->vkDestroyImageView) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroyImageView not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroyImageView not found"); good = false; } if (!vk->vkCreateCommandPool) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCreateCommandPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCreateCommandPool not found"); good = false; } if (!vk->vkDestroyCommandPool) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkDestroyCommandPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkDestroyCommandPool not found"); good = false; } if (!vk->vkResetCommandPool) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkResetCommandPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkResetCommandPool not found"); good = false; } if (!vk->vkAllocateCommandBuffers) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkAllocateCommandBuffers not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkAllocateCommandBuffers not found"); good = false; } if (!vk->vkFreeCommandBuffers) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkFreeCommandBuffers not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkFreeCommandBuffers not found"); good = false; } if (!vk->vkBeginCommandBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkBeginCommandBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkBeginCommandBuffer not found"); good = false; } if (!vk->vkEndCommandBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkEndCommandBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkEndCommandBuffer not found"); good = false; } if (!vk->vkResetCommandBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkResetCommandBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkResetCommandBuffer not found"); good = false; } if (!vk->vkCmdCopyBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdCopyBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdCopyBuffer not found"); good = false; } if (!vk->vkCmdCopyImage) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdCopyImage not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdCopyImage not found"); good = false; } if (!vk->vkCmdCopyBufferToImage) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdCopyBufferToImage not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdCopyBufferToImage not found"); good = false; } if (!vk->vkCmdCopyImageToBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdCopyImageToBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdCopyImageToBuffer not found"); good = false; } if (!vk->vkCmdUpdateBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdUpdateBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdUpdateBuffer not found"); good = false; } if (!vk->vkCmdFillBuffer) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdFillBuffer not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdFillBuffer not found"); good = false; } if (!vk->vkCmdPipelineBarrier) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdPipelineBarrier not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdPipelineBarrier not found"); good = false; } if (!vk->vkCmdBeginQuery) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdBeginQuery not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdBeginQuery not found"); good = false; } if (!vk->vkCmdEndQuery) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdEndQuery not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdEndQuery not found"); good = false; } if (!vk->vkCmdResetQueryPool) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdResetQueryPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdResetQueryPool not found"); good = false; } if (!vk->vkCmdWriteTimestamp) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdWriteTimestamp not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdWriteTimestamp not found"); good = false; } if (!vk->vkCmdCopyQueryPoolResults) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdCopyQueryPoolResults not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdCopyQueryPoolResults not found"); good = false; } if (!vk->vkCmdExecuteCommands) { - fprintf(stderr, "VK_BASE_VERSION_1_0 check failed: vkCmdExecuteCommands not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_0 check failed: vkCmdExecuteCommands not found"); good = false; } return good; @@ -3484,44 +3479,43 @@ bool vulkan_dispatch_check_device_VK_BASE_VERSION_1_1(const VulkanDispatch* vk) { bool good = true; if (!vk->vkBindBufferMemory2) { - fprintf(stderr, "VK_BASE_VERSION_1_1 check failed: vkBindBufferMemory2 not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkBindBufferMemory2 not found"); good = false; } if (!vk->vkBindImageMemory2) { - fprintf(stderr, "VK_BASE_VERSION_1_1 check failed: vkBindImageMemory2 not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkBindImageMemory2 not found"); good = false; } if (!vk->vkGetDeviceGroupPeerMemoryFeatures) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetDeviceGroupPeerMemoryFeatures not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetDeviceGroupPeerMemoryFeatures not found"); good = false; } if (!vk->vkCmdSetDeviceMask) { - fprintf(stderr, "VK_BASE_VERSION_1_1 check failed: vkCmdSetDeviceMask not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkCmdSetDeviceMask not found"); good = false; } if (!vk->vkGetImageMemoryRequirements2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetImageMemoryRequirements2 not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetImageMemoryRequirements2 not found"); good = false; } if (!vk->vkGetBufferMemoryRequirements2) { - fprintf(stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetBufferMemoryRequirements2 not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetBufferMemoryRequirements2 not found"); good = false; } if (!vk->vkGetImageSparseMemoryRequirements2) { - fprintf( - stderr, - "VK_BASE_VERSION_1_1 check failed: vkGetImageSparseMemoryRequirements2 not found\n"); + GFXSTREAM_ERROR( + "VK_BASE_VERSION_1_1 check failed: vkGetImageSparseMemoryRequirements2 not found"); good = false; } if (!vk->vkTrimCommandPool) { - fprintf(stderr, "VK_BASE_VERSION_1_1 check failed: vkTrimCommandPool not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkTrimCommandPool not found"); good = false; } if (!vk->vkGetDeviceQueue2) { - fprintf(stderr, "VK_BASE_VERSION_1_1 check failed: vkGetDeviceQueue2 not found\n"); + GFXSTREAM_ERROR("VK_BASE_VERSION_1_1 check failed: vkGetDeviceQueue2 not found"); good = false; } return good; diff --git a/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp b/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp index fa518bd1f..341e1f31a 100644 --- a/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp +++ b/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp @@ -1432,6 +1432,17 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkVideoDecodeAV1InlineSessionParametersInfoKHR); } #endif +#ifdef VK_KHR_video_encode_feedback2 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR: { + return sizeof(VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR); + } + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR: { + return sizeof(VkVideoEncodeFeedback2CapabilitiesKHR); + } + case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR: { + return sizeof(VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR); + } +#endif #ifdef VK_KHR_depth_clamp_zero_one case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: { return sizeof(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR); @@ -1442,6 +1453,20 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR); } #endif +#ifdef VK_KHR_opacity_micromap + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR: { + return sizeof(VkAccelerationStructureGeometryMicromapDataKHR); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR: { + return sizeof(VkPhysicalDeviceOpacityMicromapFeaturesKHR); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR: { + return sizeof(VkPhysicalDeviceOpacityMicromapPropertiesKHR); + } + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR: { + return sizeof(VkAccelerationStructureTrianglesOpacityMicromapKHR); + } +#endif #ifdef VK_KHR_maintenance10 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR: { return sizeof(VkPhysicalDeviceMaintenance10FeaturesKHR); @@ -1456,6 +1481,11 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkResolveImageModeInfoKHR); } #endif +#ifdef VK_KHR_pipeline_library_group_handles + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_KHR: { + return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR); + } +#endif #ifdef VK_KHR_maintenance11 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: { return sizeof(VkPhysicalDeviceMaintenance11FeaturesKHR); @@ -1464,6 +1494,29 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR); } #endif +#ifdef VK_KHR_extended_flags + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_4_KHR: { + return sizeof(VkFormatProperties4KHR); + } + case VK_STRUCTURE_TYPE_IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR: { + return sizeof(VkImageUsageFlags2CreateInfoKHR); + } + case VK_STRUCTURE_TYPE_IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR: { + return sizeof(VkImageCreateFlags2CreateInfoKHR); + } + case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR: { + return sizeof(VkImageViewUsage2CreateInfoKHR); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR: { + return sizeof(VkPhysicalDeviceExtendedFlagsFeaturesKHR); + } + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR: { + return sizeof(VkImageStencilUsage2CreateInfoKHR); + } + case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR: { + return sizeof(VkSharedPresentSurfaceCapabilities2KHR); + } +#endif #ifdef VK_AMD_rasterization_order case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: { return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD); @@ -1586,6 +1639,17 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG); } #endif +#ifdef VK_AMD_gpa_interface + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_FEATURES_AMD: { + return sizeof(VkPhysicalDeviceGpaFeaturesAMD); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_AMD: { + return sizeof(VkPhysicalDeviceGpaPropertiesAMD); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD: { + return sizeof(VkPhysicalDeviceGpaProperties2AMD); + } +#endif #ifdef VK_AMDX_shader_enqueue #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: { @@ -1717,6 +1781,11 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM); } #endif +#ifdef VK_QCOM_elapsed_timer_query + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM: { + return sizeof(VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM); + } +#endif #ifdef VK_AMD_pipeline_compiler_control case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: { return sizeof(VkPipelineCompilerControlCreateInfoAMD); @@ -1956,6 +2025,27 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDeviceQueuePerfHintPropertiesQCOM); } #endif +#ifdef VK_QCOM_image_processing3 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM: { + return sizeof(VkPhysicalDeviceImageProcessing3FeaturesQCOM); + } +#endif +#ifdef VK_QCOM_shader_multiple_wait_queues + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM: { + return sizeof(VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM: { + return sizeof(VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM); + } +#endif +#ifdef VK_EXT_shader_split_barrier + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT: { + return sizeof(VkPhysicalDeviceShaderSplitBarrierFeaturesEXT); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT: { + return sizeof(VkPhysicalDeviceShaderSplitBarrierPropertiesEXT); + } +#endif #ifdef VK_NV_cuda_kernel_launch #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: { @@ -2569,11 +2659,6 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM); } #endif -#ifdef VK_EXT_pipeline_library_group_handles - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT); - } -#endif #ifdef VK_EXT_dynamic_rendering_unused_attachments case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT); @@ -2726,6 +2811,14 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT); } #endif +#ifdef VK_ARM_tensor_controls + case VK_STRUCTURE_TYPE_TENSOR_ROLLING_BACKING_CREATE_INFO_ARM: { + return sizeof(VkTensorRollingBackingCreateInfoARM); + } + case VK_STRUCTURE_TYPE_TENSOR_EXPLICIT_TILING_FORMAT_PROPERTIES_ARM: { + return sizeof(VkTensorExplicitTilingFormatPropertiesARM); + } +#endif #ifdef VK_EXT_shader_float8 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderFloat8FeaturesEXT); @@ -2882,6 +2975,14 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDevicePresentMeteringFeaturesNV); } #endif +#ifdef VK_EXT_multisampled_render_to_swapchain + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT: { + return sizeof(VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT); + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT: { + return sizeof(VkSwapchainFlagsSurfaceCapabilitiesEXT); + } +#endif #ifdef VK_EXT_zero_initialize_device_memory case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: { return sizeof(VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT); @@ -2951,11 +3052,21 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV); } #endif +#ifdef VK_EXT_cooperative_matrix_maintenance1 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT: { + return sizeof(VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT); + } +#endif #ifdef VK_EXT_shader_subgroup_partitioned case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT); } #endif +#ifdef VK_EXT_shader_ocp_microscaling_types + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OCP_MICROSCALING_TYPES_FEATURES_EXT: { + return sizeof(VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT); + } +#endif #ifdef VK_VALVE_shader_mixed_float_dot_product case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: { return sizeof(VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE); @@ -2985,6 +3096,40 @@ size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* s return sizeof(VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT); } #endif +#ifdef VK_EXT_image_tiling_control + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_TILING_CONTROL_FEATURES_EXT: { + return sizeof(VkPhysicalDeviceImageTilingControlFeaturesEXT); + } + case VK_STRUCTURE_TYPE_IMAGE_TILING_CONTROL_CREATE_INFO_EXT: { + return sizeof(VkImageTilingControlCreateInfoEXT); + } +#endif +#ifdef VK_NV_cooperative_matrix_decode_vector + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV: { + return sizeof(VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV); + } +#endif +#ifdef VK_NV_private_data_base_handle + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_BASE_HANDLE_FEATURES_NV: { + return sizeof(VkPhysicalDevicePrivateDataBaseHandleFeaturesNV); + } +#endif +#ifdef VK_INTEL_device_info + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INFO_PROPERTIES_INTEL: { + return sizeof(VkPhysicalDeviceInfoPropertiesINTEL); + } +#endif +#ifdef VK_VALVE_buffer_device_address_allocation_alignment + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_FEATURES_VALVE: { + return sizeof(VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE); + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_PROPERTIES_VALVE: { + return sizeof(VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE); + } + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_ALIGNMENT_ALLOCATE_INFO_VALVE: { + return sizeof(VkBufferDeviceAddressAlignmentAllocateInfoVALVE); + } +#endif #ifdef VK_KHR_acceleration_structure case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: { return sizeof(VkWriteDescriptorSetAccelerationStructureKHR); @@ -3027,191 +3172,7 @@ size_t goldfish_vk_extension_struct_size_with_stream_features(uint32_t streamFea } uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension); switch (structType) { -#ifdef VK_COMPUTE_VERSION_1_0 - case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: { - return sizeof(VkShaderModuleCreateInfo); - } - case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: { - return sizeof(VkPipelineLayoutCreateInfo); - } -#endif -#ifdef VK_BASE_VERSION_1_1 - case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: { - return sizeof(VkMemoryDedicatedRequirements); - } - case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: { - return sizeof(VkMemoryDedicatedAllocateInfo); - } - case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: { - return sizeof(VkMemoryAllocateFlagsInfo); - } - case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: { - return sizeof(VkDeviceGroupCommandBufferBeginInfo); - } - case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: { - return sizeof(VkDeviceGroupSubmitInfo); - } - case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: { - return sizeof(VkDeviceGroupBindSparseInfo); - } - case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: { - return sizeof(VkBindBufferMemoryDeviceGroupInfo); - } - case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: { - return sizeof(VkBindImageMemoryDeviceGroupInfo); - } - case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: { - return sizeof(VkDeviceGroupDeviceCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: { - return sizeof(VkPhysicalDeviceFeatures2); - } - case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: { - return sizeof(VkImageViewUsageCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: { - return sizeof(VkPhysicalDeviceProtectedMemoryFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: { - return sizeof(VkPhysicalDeviceProtectedMemoryProperties); - } - case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: { - return sizeof(VkProtectedSubmitInfo); - } - case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: { - return sizeof(VkBindImagePlaneMemoryInfo); - } - case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: { - return sizeof(VkImagePlaneMemoryRequirementsInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: { - return sizeof(VkPhysicalDeviceExternalImageFormatInfo); - } - case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: { - return sizeof(VkExternalImageFormatProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: { - return sizeof(VkPhysicalDeviceIDProperties); - } - case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: { - return sizeof(VkExternalMemoryImageCreateInfo); - } - case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: { - return sizeof(VkExternalMemoryBufferCreateInfo); - } - case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: { - return sizeof(VkExportMemoryAllocateInfo); - } - case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: { - return sizeof(VkExportFenceCreateInfo); - } - case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: { - return sizeof(VkExportSemaphoreCreateInfo); - } -#endif -#ifdef VK_COMPUTE_VERSION_1_1 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: { - return sizeof(VkPhysicalDeviceSubgroupProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: { - return sizeof(VkPhysicalDevice16BitStorageFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: { - return sizeof(VkPhysicalDeviceVariablePointersFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: { - return sizeof(VkPhysicalDeviceMaintenance3Properties); - } - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: { - return sizeof(VkSamplerYcbcrConversionInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: { - return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures); - } - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: { - return sizeof(VkSamplerYcbcrConversionImageFormatProperties); - } -#endif -#ifdef VK_GRAPHICS_VERSION_1_1 - case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: { - return sizeof(VkDeviceGroupRenderPassBeginInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: { - return sizeof(VkPhysicalDevicePointClippingProperties); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: { - return sizeof(VkRenderPassInputAttachmentAspectCreateInfo); - } - case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: { - return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: { - return sizeof(VkRenderPassMultiviewCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: { - return sizeof(VkPhysicalDeviceMultiviewFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: { - return sizeof(VkPhysicalDeviceMultiviewProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: { - return sizeof(VkPhysicalDeviceShaderDrawParametersFeatures); - } -#endif -#ifdef VK_BASE_VERSION_1_2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: { - return sizeof(VkPhysicalDeviceDriverProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: { - return sizeof(VkPhysicalDeviceVulkan11Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: { - return sizeof(VkPhysicalDeviceVulkan11Properties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: { - return sizeof(VkPhysicalDeviceVulkan12Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: { - return sizeof(VkPhysicalDeviceVulkan12Properties); - } - case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: { - return sizeof(VkImageFormatListCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: { - return sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: { - return sizeof(VkPhysicalDeviceHostQueryResetFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: { - return sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: { - return sizeof(VkPhysicalDeviceTimelineSemaphoreProperties); - } - case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: { - return sizeof(VkSemaphoreTypeCreateInfo); - } - case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: { - return sizeof(VkTimelineSemaphoreSubmitInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: { - return sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures); - } - case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: { - return sizeof(VkBufferOpaqueCaptureAddressCreateInfo); - } - case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: { - return sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo); - } -#endif #ifdef VK_COMPUTE_VERSION_1_2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: { - return sizeof(VkPhysicalDevice8BitStorageFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: { - return sizeof(VkPhysicalDeviceShaderAtomicInt64Features); - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: { if (streamFeatures & VULKAN_STREAM_FEATURE_SHADER_FLOAT16_INT8_BIT) { return sizeof(VkPhysicalDeviceShaderFloat16Int8Features); @@ -3219,2789 +3180,9 @@ size_t goldfish_vk_extension_struct_size_with_stream_features(uint32_t streamFea return 0; } } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: { - return sizeof(VkPhysicalDeviceFloatControlsProperties); - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: { - return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: { - return sizeof(VkPhysicalDeviceDescriptorIndexingFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: { - return sizeof(VkPhysicalDeviceDescriptorIndexingProperties); - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: { - return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo); - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: { - return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: { - return sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures); - } - case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: { - return sizeof(VkSamplerReductionModeCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: { - return sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: { - return sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: { - return sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures); - } -#endif -#ifdef VK_GRAPHICS_VERSION_1_2 - case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: { - return sizeof(VkSubpassDescriptionDepthStencilResolve); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: { - return sizeof(VkPhysicalDeviceDepthStencilResolveProperties); - } - case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: { - return sizeof(VkImageStencilUsageCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: { - return sizeof(VkPhysicalDeviceImagelessFramebufferFeatures); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: { - return sizeof(VkRenderPassAttachmentBeginInfo); - } - case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: { - return sizeof(VkFramebufferAttachmentsCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: { - return sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures); - } - case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: { - return sizeof(VkAttachmentReferenceStencilLayout); - } - case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: { - return sizeof(VkAttachmentDescriptionStencilLayout); - } -#endif -#ifdef VK_BASE_VERSION_1_3 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: { - return sizeof(VkPhysicalDeviceVulkan13Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: { - return sizeof(VkPhysicalDeviceVulkan13Properties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: { - return sizeof(VkPhysicalDevicePrivateDataFeatures); - } - case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: { - return sizeof(VkDevicePrivateDataCreateInfo); - } - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: { - return sizeof(VkMemoryBarrier2); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: { - return sizeof(VkPhysicalDeviceSynchronization2Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { - return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures); - } - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: { - return sizeof(VkFormatProperties3); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: { - return sizeof(VkPhysicalDeviceMaintenance4Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: { - return sizeof(VkPhysicalDeviceMaintenance4Properties); - } -#endif -#ifdef VK_COMPUTE_VERSION_1_3 - case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: { - return sizeof(VkPipelineCreationFeedbackCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: { - return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: { - return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: { - return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: { - return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: { - return sizeof(VkPhysicalDeviceImageRobustnessFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: { - return sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: { - return sizeof(VkPhysicalDeviceSubgroupSizeControlProperties); - } - case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: { - return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: { - return sizeof(VkPhysicalDeviceInlineUniformBlockFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { - return sizeof(VkPhysicalDeviceInlineUniformBlockProperties); - } - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: { - return sizeof(VkWriteDescriptorSetInlineUniformBlock); - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: { - return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: { - return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: { - return sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: { - return sizeof(VkPhysicalDeviceTexelBufferAlignmentProperties); - } -#endif -#ifdef VK_GRAPHICS_VERSION_1_3 - case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: { - return sizeof(VkPipelineRenderingCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: { - return sizeof(VkPhysicalDeviceDynamicRenderingFeatures); - } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: { - return sizeof(VkCommandBufferInheritanceRenderingInfo); - } -#endif -#ifdef VK_BASE_VERSION_1_4 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: { - return sizeof(VkPhysicalDeviceVulkan14Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: { - return sizeof(VkPhysicalDeviceVulkan14Properties); - } - case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO: { - return sizeof(VkDeviceQueueGlobalPriorityCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: { - return sizeof(VkPhysicalDeviceGlobalPriorityQueryFeatures); - } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: { - return sizeof(VkQueueFamilyGlobalPriorityProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: { - return sizeof(VkPhysicalDeviceIndexTypeUint8Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: { - return sizeof(VkPhysicalDeviceMaintenance5Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: { - return sizeof(VkPhysicalDeviceMaintenance5Properties); - } - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: { - return sizeof(VkBufferUsageFlags2CreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: { - return sizeof(VkPhysicalDeviceMaintenance6Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: { - return sizeof(VkPhysicalDeviceMaintenance6Properties); - } - case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: { - return sizeof(VkBindMemoryStatus); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: { - return sizeof(VkPhysicalDeviceHostImageCopyFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: { - return sizeof(VkPhysicalDeviceHostImageCopyProperties); - } - case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: { - return sizeof(VkSubresourceHostMemcpySize); - } - case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: { - return sizeof(VkHostImageCopyDevicePerformanceQuery); - } -#endif -#ifdef VK_COMPUTE_VERSION_1_4 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: { - return sizeof(VkPhysicalDeviceShaderSubgroupRotateFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: { - return sizeof(VkPhysicalDeviceShaderFloatControls2Features); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: { - return sizeof(VkPhysicalDeviceShaderExpectAssumeFeatures); - } - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: { - return sizeof(VkPipelineCreateFlags2CreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: { - return sizeof(VkPhysicalDevicePushDescriptorProperties); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: { - return sizeof(VkPhysicalDevicePipelineProtectedAccessFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: { - return sizeof(VkPhysicalDevicePipelineRobustnessFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: { - return sizeof(VkPhysicalDevicePipelineRobustnessProperties); - } - case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: { - return sizeof(VkPipelineRobustnessCreateInfo); - } -#endif -#ifdef VK_GRAPHICS_VERSION_1_4 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: { - return sizeof(VkPhysicalDeviceLineRasterizationFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: { - return sizeof(VkPhysicalDeviceLineRasterizationProperties); - } - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: { - return sizeof(VkPipelineRasterizationLineStateCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: { - return sizeof(VkPhysicalDeviceVertexAttributeDivisorProperties); - } - case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: { - return sizeof(VkPipelineVertexInputDivisorStateCreateInfo); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: { - return sizeof(VkPhysicalDeviceVertexAttributeDivisorFeatures); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: { - return sizeof(VkPhysicalDeviceDynamicRenderingLocalReadFeatures); - } - case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: { - return sizeof(VkRenderingAttachmentLocationInfo); - } - case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: { - return sizeof(VkRenderingInputAttachmentIndexInfo); - } -#endif -#ifdef VK_KHR_swapchain - case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: { - return sizeof(VkImageSwapchainCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: { - return sizeof(VkBindImageMemorySwapchainInfoKHR); - } - case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: { - return sizeof(VkDeviceGroupPresentInfoKHR); - } - case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: { - return sizeof(VkDeviceGroupSwapchainCreateInfoKHR); - } -#endif -#ifdef VK_KHR_incremental_present - case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: { - return sizeof(VkPresentRegionsKHR); - } -#endif -#ifdef VK_KHR_pipeline_executable_properties - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR); - } -#endif -#ifdef VK_KHR_pipeline_library - case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: { - return sizeof(VkPipelineLibraryCreateInfoKHR); - } -#endif -#ifdef VK_KHR_swapchain_maintenance1 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR: { - return sizeof(VkSwapchainPresentFenceInfoKHR); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR: { - return sizeof(VkSwapchainPresentModesCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR: { - return sizeof(VkSwapchainPresentModeInfoKHR); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR: { - return sizeof(VkSwapchainPresentScalingCreateInfoKHR); - } -#endif -#ifdef VK_KHR_maintenance7 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance7FeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance7PropertiesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR: { - return sizeof(VkPhysicalDeviceLayeredApiPropertiesListKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceLayeredApiVulkanPropertiesKHR); - } -#endif -#ifdef VK_KHR_maintenance8 - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: { - return sizeof(VkMemoryBarrierAccessFlags3KHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance8FeaturesKHR); - } -#endif -#ifdef VK_KHR_maintenance9 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance9FeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance9PropertiesKHR); - } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR: { - return sizeof(VkQueueFamilyOwnershipTransferPropertiesKHR); - } -#endif -#ifdef VK_ANDROID_native_buffer - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: { - return sizeof(VkNativeBufferANDROID); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID: { - return sizeof(VkSwapchainImageCreateInfoANDROID); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID: { - return sizeof(VkPhysicalDevicePresentationPropertiesANDROID); - } -#endif -#ifdef VK_EXT_debug_report - case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: { - return sizeof(VkDebugReportCallbackCreateInfoEXT); - } -#endif -#ifdef VK_EXT_transform_feedback - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: { - return sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT); - } -#endif -#ifdef VK_EXT_depth_clip_enable - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: { - return sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT); - } -#endif -#ifdef VK_EXT_debug_utils - case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: { - return sizeof(VkDebugUtilsObjectNameInfoEXT); - } - case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: { - return sizeof(VkDebugUtilsMessengerCreateInfoEXT); - } -#endif -#ifdef VK_EXT_blend_operation_advanced - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: { - return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT); - } -#endif -#ifdef VK_EXT_image_drm_format_modifier - case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: { - return sizeof(VkDrmFormatModifierPropertiesListEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: { - return sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT); - } - case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: { - return sizeof(VkImageDrmFormatModifierListCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: { - return sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: { - return sizeof(VkDrmFormatModifierPropertiesList2EXT); - } -#endif -#ifdef VK_EXT_external_memory_host - case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: { - return sizeof(VkImportMemoryHostPointerInfoEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT); - } -#endif -#ifdef VK_EXT_vertex_attribute_divisor - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT); - } -#endif -#ifdef VK_EXT_fragment_density_map - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: { - switch (rootType) { - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: { - return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT); - break; - } - case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: { - return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT); - break; - } - case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: { - return sizeof(VkImportColorBufferGOOGLE); - break; - } - default: { - return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT); - break; - } - } - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: { - switch (rootType) { - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: { - return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT); - break; - } - case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: { - return sizeof(VkCreateBlobGOOGLE); - break; - } - default: { - return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT); - break; - } - } - } - case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: { - switch (rootType) { - case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: { - return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT); - break; - } - case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: { - return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT); - break; - } - case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: { - return sizeof(VkImportBufferGOOGLE); - break; - } - default: { - return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT); - break; - } - } - } - case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: { - return sizeof(VkRenderingFragmentDensityMapAttachmentInfoEXT); - } -#endif -#ifdef VK_EXT_memory_budget - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT); - } -#endif -#ifdef VK_EXT_validation_features - case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: { - return sizeof(VkValidationFeaturesEXT); - } -#endif -#ifdef VK_EXT_provoking_vertex - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceProvokingVertexPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: { - return sizeof(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT); - } -#endif -#ifdef VK_EXT_extended_dynamic_state - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT); - } -#endif -#ifdef VK_EXT_texel_buffer_alignment - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT); - } -#endif -#ifdef VK_EXT_device_memory_report - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT); - } - case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: { - return sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT); - } -#endif -#ifdef VK_EXT_robustness2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceRobustness2FeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceRobustness2PropertiesKHR); - } -#endif -#ifdef VK_EXT_custom_border_color - case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: { - return sizeof(VkSamplerCustomBorderColorCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT); - } -#endif -#ifdef VK_EXT_graphics_pipeline_library - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT); - } - case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: { - return sizeof(VkGraphicsPipelineLibraryCreateInfoEXT); - } -#endif -#ifdef VK_EXT_ycbcr_2plane_444_formats - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT); - } -#endif -#ifdef VK_EXT_image_compression_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceImageCompressionControlFeaturesEXT); - } - case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: { - return sizeof(VkImageCompressionControlEXT); - } - case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: { - return sizeof(VkImageCompressionPropertiesEXT); - } -#endif -#ifdef VK_EXT_4444_formats - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: { - return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT); - } -#endif -#ifdef VK_EXT_primitive_topology_list_restart - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT); - } -#endif -#ifdef VK_EXT_frame_boundary - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceFrameBoundaryFeaturesEXT); - } - case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT: { - return sizeof(VkFrameBoundaryEXT); - } -#endif -#ifdef VK_EXT_extended_dynamic_state2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT); - } -#endif -#ifdef VK_EXT_color_write_enable - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceColorWriteEnableFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: { - return sizeof(VkPipelineColorWriteCreateInfoEXT); - } -#endif -#ifdef VK_EXT_primitives_generated_query - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT); - } -#endif -#ifdef VK_GOOGLE_gfxstream - case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: { - return sizeof(VkImportColorBufferGOOGLE); - } - case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: { - return sizeof(VkImportBufferGOOGLE); - } - case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: { - return sizeof(VkCreateBlobGOOGLE); - } - case VK_STRUCTURE_TYPE_DEBUG_METADATA_GUEST_PROCESS_NAME_GOOGLE: { - return sizeof(VkDebugMetadataGuestProcessNameGOOGLE); - } - case VK_STRUCTURE_TYPE_DEBUG_METADATA_GUEST_PROCESS_ID_GOOGLE: { - return sizeof(VkDebugMetadataGuestProcessIdGOOGLE); - } - case VK_STRUCTURE_TYPE_DEBUG_METADATA_GUEST_THREAD_NAME_GOOGLE: { - return sizeof(VkDebugMetadataGuestThreadNameGOOGLE); - } - case VK_STRUCTURE_TYPE_DEBUG_METADATA_GUEST_THREAD_ID_GOOGLE: { - return sizeof(VkDebugMetadataGuestThreadIdGOOGLE); - } -#endif -#ifdef VK_EXT_border_color_swizzle - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT); - } - case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: { - return sizeof(VkSamplerBorderColorComponentMappingCreateInfoEXT); - } -#endif -#ifdef VK_EXT_image_compression_control_swapchain - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT); - } -#endif -#ifdef VK_KHR_display_swapchain - case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: { - return sizeof(VkDisplayPresentInfoKHR); - } -#endif -#ifdef VK_KHR_video_queue - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: { - return sizeof(VkQueueFamilyQueryResultStatusPropertiesKHR); - } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: { - return sizeof(VkQueueFamilyVideoPropertiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: { - return sizeof(VkVideoProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: { - return sizeof(VkVideoProfileListInfoKHR); - } -#endif -#ifdef VK_KHR_video_decode_queue - case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: { - return sizeof(VkVideoDecodeCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: { - return sizeof(VkVideoDecodeUsageInfoKHR); - } -#endif -#ifdef VK_KHR_video_encode_h264 - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeH264CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR: { - return sizeof(VkVideoEncodeH264QualityLevelPropertiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeH264SessionCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: { - return sizeof(VkVideoEncodeH264SessionParametersAddInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeH264SessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR: { - return sizeof(VkVideoEncodeH264SessionParametersGetInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR: { - return sizeof(VkVideoEncodeH264SessionParametersFeedbackInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR: { - return sizeof(VkVideoEncodeH264PictureInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR: { - return sizeof(VkVideoEncodeH264DpbSlotInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR: { - return sizeof(VkVideoEncodeH264ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR: { - return sizeof(VkVideoEncodeH264RateControlInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR: { - return sizeof(VkVideoEncodeH264RateControlLayerInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR: { - return sizeof(VkVideoEncodeH264GopRemainingFrameInfoKHR); - } -#endif -#ifdef VK_KHR_video_encode_h265 - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeH265CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeH265SessionCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR: { - return sizeof(VkVideoEncodeH265QualityLevelPropertiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: { - return sizeof(VkVideoEncodeH265SessionParametersAddInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeH265SessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR: { - return sizeof(VkVideoEncodeH265SessionParametersGetInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR: { - return sizeof(VkVideoEncodeH265SessionParametersFeedbackInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR: { - return sizeof(VkVideoEncodeH265PictureInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR: { - return sizeof(VkVideoEncodeH265DpbSlotInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR: { - return sizeof(VkVideoEncodeH265ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR: { - return sizeof(VkVideoEncodeH265RateControlInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR: { - return sizeof(VkVideoEncodeH265RateControlLayerInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR: { - return sizeof(VkVideoEncodeH265GopRemainingFrameInfoKHR); - } -#endif -#ifdef VK_KHR_video_decode_h264 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: { - return sizeof(VkVideoDecodeH264ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: { - return sizeof(VkVideoDecodeH264CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: { - return sizeof(VkVideoDecodeH264SessionParametersAddInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoDecodeH264SessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: { - return sizeof(VkVideoDecodeH264PictureInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: { - return sizeof(VkVideoDecodeH264DpbSlotInfoKHR); - } -#endif -#ifdef VK_KHR_win32_keyed_mutex - case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: { - return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR); - } -#endif -#ifdef VK_KHR_shared_presentable_image - case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: { - return sizeof(VkSharedPresentSurfaceCapabilitiesKHR); - } -#endif -#ifdef VK_KHR_external_fence_win32 - case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: { - return sizeof(VkExportFenceWin32HandleInfoKHR); - } -#endif -#ifdef VK_KHR_performance_query - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: { - return sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR); - } - case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: { - return sizeof(VkQueryPoolPerformanceCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: { - return sizeof(VkPerformanceQuerySubmitInfoKHR); - } -#endif -#ifdef VK_KHR_shader_bfloat16 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderBfloat16FeaturesKHR); - } -#endif -#ifdef VK_KHR_portability_subset -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: { - return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#endif -#ifdef VK_KHR_shader_clock - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR); - } -#endif -#ifdef VK_KHR_video_decode_h265 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: { - return sizeof(VkVideoDecodeH265ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: { - return sizeof(VkVideoDecodeH265CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: { - return sizeof(VkVideoDecodeH265SessionParametersAddInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoDecodeH265SessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: { - return sizeof(VkVideoDecodeH265PictureInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: { - return sizeof(VkVideoDecodeH265DpbSlotInfoKHR); - } -#endif -#ifdef VK_KHR_fragment_shading_rate - case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: { - return sizeof(VkFragmentShadingRateAttachmentInfoKHR); - } - case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: { - return sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR); - } - case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: { - return sizeof(VkRenderingFragmentShadingRateAttachmentInfoKHR); - } -#endif -#ifdef VK_KHR_shader_constant_data - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderConstantDataFeaturesKHR); - } -#endif -#ifdef VK_KHR_shader_abort - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderAbortFeaturesKHR); - } - case VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR: { - return sizeof(VkDeviceFaultShaderAbortMessageInfoKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceShaderAbortPropertiesKHR); - } -#endif -#ifdef VK_KHR_shader_quad_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderQuadControlFeaturesKHR); - } -#endif -#ifdef VK_KHR_surface_protected_capabilities - case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: { - return sizeof(VkSurfaceProtectedCapabilitiesKHR); - } -#endif -#ifdef VK_KHR_present_wait - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePresentWaitFeaturesKHR); - } -#endif -#ifdef VK_KHR_present_id - case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: { - return sizeof(VkPresentIdKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePresentIdFeaturesKHR); - } -#endif -#ifdef VK_KHR_video_encode_queue - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: { - return sizeof(VkQueryPoolVideoEncodeFeedbackCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: { - return sizeof(VkVideoEncodeUsageInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: { - return sizeof(VkVideoEncodeRateControlInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: { - return sizeof(VkVideoEncodeQualityLevelInfoKHR); - } -#endif -#ifdef VK_KHR_device_address_commands - case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR: { - return sizeof(VkMemoryRangeBarriersInfoKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR); - } -#endif -#ifdef VK_KHR_fragment_shader_barycentric - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR); - } -#endif -#ifdef VK_KHR_shader_subgroup_uniform_control_flow - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR); - } -#endif -#ifdef VK_KHR_workgroup_memory_explicit_layout - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR); - } -#endif -#ifdef VK_KHR_ray_tracing_maintenance1 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR); - } -#endif -#ifdef VK_KHR_shader_untyped_pointers - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderUntypedPointersFeaturesKHR); - } -#endif -#ifdef VK_KHR_shader_maximal_reconvergence - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR); - } -#endif -#ifdef VK_KHR_present_id2 - case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR: { - return sizeof(VkSurfaceCapabilitiesPresentId2KHR); - } - case VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR: { - return sizeof(VkPresentId2KHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePresentId2FeaturesKHR); - } -#endif -#ifdef VK_KHR_present_wait2 - case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR: { - return sizeof(VkSurfaceCapabilitiesPresentWait2KHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePresentWait2FeaturesKHR); - } -#endif -#ifdef VK_KHR_ray_tracing_position_fetch - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR); - } -#endif -#ifdef VK_KHR_pipeline_binary - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePipelineBinaryFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR: { - return sizeof(VkPhysicalDevicePipelineBinaryPropertiesKHR); - } - case VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR: { - return sizeof(VkDevicePipelineBinaryInternalCacheControlKHR); - } - case VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR: { - return sizeof(VkPipelineBinaryInfoKHR); - } -#endif -#ifdef VK_KHR_surface_maintenance1 - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR: { - return sizeof(VkSurfacePresentModeKHR); - } - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR: { - return sizeof(VkSurfacePresentScalingCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR: { - return sizeof(VkSurfacePresentModeCompatibilityKHR); - } -#endif -#ifdef VK_KHR_internally_synchronized_queues - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR); - } -#endif -#ifdef VK_KHR_cooperative_matrix - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesKHR); - } -#endif -#ifdef VK_KHR_compute_shader_derivatives - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR); - } -#endif -#ifdef VK_KHR_video_decode_av1 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR: { - return sizeof(VkVideoDecodeAV1ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR: { - return sizeof(VkVideoDecodeAV1CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoDecodeAV1SessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR: { - return sizeof(VkVideoDecodeAV1PictureInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR: { - return sizeof(VkVideoDecodeAV1DpbSlotInfoKHR); - } -#endif -#ifdef VK_KHR_video_encode_av1 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceVideoEncodeAV1FeaturesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeAV1CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR: { - return sizeof(VkVideoEncodeAV1QualityLevelPropertiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeAV1SessionCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeAV1SessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR: { - return sizeof(VkVideoEncodeAV1PictureInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR: { - return sizeof(VkVideoEncodeAV1DpbSlotInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR: { - return sizeof(VkVideoEncodeAV1ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR: { - return sizeof(VkVideoEncodeAV1GopRemainingFrameInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR: { - return sizeof(VkVideoEncodeAV1RateControlInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR: { - return sizeof(VkVideoEncodeAV1RateControlLayerInfoKHR); - } -#endif -#ifdef VK_KHR_video_decode_vp9 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceVideoDecodeVP9FeaturesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR: { - return sizeof(VkVideoDecodeVP9ProfileInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR: { - return sizeof(VkVideoDecodeVP9CapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR: { - return sizeof(VkVideoDecodeVP9PictureInfoKHR); - } -#endif -#ifdef VK_KHR_video_maintenance1 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceVideoMaintenance1FeaturesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR: { - return sizeof(VkVideoInlineQueryInfoKHR); - } -#endif -#ifdef VK_KHR_unified_image_layouts - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR); - } - case VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT: { - return sizeof(VkAttachmentFeedbackLoopInfoEXT); - } -#endif -#ifdef VK_KHR_copy_memory_indirect - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR); - } -#endif -#ifdef VK_KHR_video_encode_intra_refresh - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeIntraRefreshCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeSessionIntraRefreshCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR: { - return sizeof(VkVideoEncodeIntraRefreshInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR: { - return sizeof(VkVideoReferenceIntraRefreshInfoKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR); - } -#endif -#ifdef VK_KHR_video_encode_quantization_map - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeQuantizationMapCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR: { - return sizeof(VkVideoFormatQuantizationMapPropertiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR: { - return sizeof(VkVideoEncodeQuantizationMapInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR: { - return sizeof(VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeH264QuantizationMapCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeH265QuantizationMapCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR: { - return sizeof(VkVideoFormatH265QuantizationMapPropertiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR: { - return sizeof(VkVideoEncodeAV1QuantizationMapCapabilitiesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR: { - return sizeof(VkVideoFormatAV1QuantizationMapPropertiesKHR); - } -#endif -#ifdef VK_KHR_shader_relaxed_extended_instruction - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR); - } -#endif -#ifdef VK_KHR_device_fault - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceFaultFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceFaultPropertiesKHR); - } -#endif -#ifdef VK_KHR_shader_fma - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceShaderFmaFeaturesKHR); - } -#endif -#ifdef VK_KHR_video_maintenance2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceVideoMaintenance2FeaturesKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR: { - return sizeof(VkVideoDecodeH264InlineSessionParametersInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR: { - return sizeof(VkVideoDecodeH265InlineSessionParametersInfoKHR); - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR: { - return sizeof(VkVideoDecodeAV1InlineSessionParametersInfoKHR); - } -#endif -#ifdef VK_KHR_depth_clamp_zero_one - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR); - } -#endif -#ifdef VK_KHR_present_mode_fifo_latest_ready - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR: { - return sizeof(VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR); - } -#endif -#ifdef VK_KHR_maintenance10 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance10FeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance10PropertiesKHR); - } - case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR: { - return sizeof(VkRenderingAttachmentFlagsInfoKHR); - } - case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR: { - return sizeof(VkResolveImageModeInfoKHR); - } -#endif -#ifdef VK_KHR_maintenance11 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceMaintenance11FeaturesKHR); - } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: { - return sizeof(VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR); - } -#endif -#ifdef VK_AMD_rasterization_order - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: { - return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD); - } -#endif -#ifdef VK_NV_dedicated_allocation - case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: { - return sizeof(VkDedicatedAllocationImageCreateInfoNV); - } - case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: { - return sizeof(VkDedicatedAllocationBufferCreateInfoNV); - } - case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: { - return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV); - } -#endif -#ifdef VK_NVX_binary_import - case VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX: { - return sizeof(VkCuModuleTexturingModeCreateInfoNVX); - } -#endif -#ifdef VK_AMD_texture_gather_bias_lod - case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: { - return sizeof(VkTextureLODGatherFormatPropertiesAMD); - } -#endif -#ifdef VK_NV_corner_sampled_image - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV); - } -#endif -#ifdef VK_NV_external_memory - case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: { - return sizeof(VkExternalMemoryImageCreateInfoNV); - } - case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: { - return sizeof(VkExportMemoryAllocateInfoNV); - } -#endif -#ifdef VK_NV_external_memory_win32 - case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: { - return sizeof(VkImportMemoryWin32HandleInfoNV); - } - case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: { - return sizeof(VkExportMemoryWin32HandleInfoNV); - } -#endif -#ifdef VK_NV_win32_keyed_mutex - case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: { - return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV); - } -#endif -#ifdef VK_EXT_validation_flags - case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: { - return sizeof(VkValidationFlagsEXT); - } -#endif -#ifdef VK_EXT_astc_decode_mode - case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: { - return sizeof(VkImageViewASTCDecodeModeEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT); - } -#endif -#ifdef VK_EXT_conditional_rendering - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT); - } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: { - return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT); - } -#endif -#ifdef VK_NV_clip_space_w_scaling - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineViewportWScalingStateCreateInfoNV); - } -#endif -#ifdef VK_EXT_display_control - case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: { - return sizeof(VkSwapchainCounterCreateInfoEXT); - } -#endif -#ifdef VK_GOOGLE_display_timing - case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: { - return sizeof(VkPresentTimesInfoGOOGLE); - } -#endif -#ifdef VK_NVX_multiview_per_view_attributes - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: { - return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX); - } - case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: { - return sizeof(VkMultiviewPerViewAttributesInfoNVX); - } -#endif -#ifdef VK_NV_viewport_swizzle - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV); - } -#endif -#ifdef VK_EXT_discard_rectangles - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: { - return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT); - } -#endif -#ifdef VK_EXT_conservative_rasterization - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: { - return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT); - } -#endif -#ifdef VK_IMG_relaxed_line_rasterization - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG: { - return sizeof(VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG); - } -#endif -#ifdef VK_AMDX_shader_enqueue -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: { - return sizeof(VkPhysicalDeviceShaderEnqueueFeaturesAMDX); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX: { - return sizeof(VkPhysicalDeviceShaderEnqueuePropertiesAMDX); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX: { - return sizeof(VkPipelineShaderStageNodeCreateInfoAMDX); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#endif -#ifdef VK_EXT_descriptor_heap - case VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT: { - return sizeof(VkShaderDescriptorSetAndBindingMappingInfoEXT); - } - case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT: { - return sizeof(VkOpaqueCaptureDataCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDescriptorHeapFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceDescriptorHeapPropertiesEXT); - } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT: { - return sizeof(VkCommandBufferInheritanceDescriptorHeapInfoEXT); - } - case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT: { - return sizeof(VkSamplerCustomBorderColorIndexCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV: { - return sizeof(VkIndirectCommandsLayoutPushDataTokenNV); - } - case VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT: { - return sizeof(VkSubsampledImageFormatPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceDescriptorHeapTensorPropertiesARM); - } -#endif -#ifdef VK_AMD_mixed_attachment_samples - case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: { - return sizeof(VkAttachmentSampleCountInfoAMD); - } -#endif -#ifdef VK_EXT_sample_locations - case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: { - return sizeof(VkSampleLocationsInfoEXT); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: { - return sizeof(VkRenderPassSampleLocationsBeginInfoEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: { - return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT); - } -#endif -#ifdef VK_NV_fragment_coverage_to_color - case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineCoverageToColorStateCreateInfoNV); - } -#endif -#ifdef VK_NV_framebuffer_mixed_samples - case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineCoverageModulationStateCreateInfoNV); - } -#endif -#ifdef VK_NV_shader_sm_builtins - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: { - return sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV); - } -#endif -#ifdef VK_EXT_validation_cache - case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: { - return sizeof(VkShaderModuleValidationCacheCreateInfoEXT); - } -#endif -#ifdef VK_NV_shading_rate_image - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV); - } - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV); - } -#endif -#ifdef VK_NV_ray_tracing - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: { - return sizeof(VkWriteDescriptorSetAccelerationStructureNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceRayTracingPropertiesNV); - } -#endif -#ifdef VK_NV_representative_fragment_test - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: { - return sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV); - } - case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV); - } -#endif -#ifdef VK_EXT_filter_cubic - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: { - return sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT); - } - case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: { - return sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT); - } -#endif -#ifdef VK_QCOM_cooperative_matrix_conversion - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM); - } -#endif -#ifdef VK_AMD_pipeline_compiler_control - case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: { - return sizeof(VkPipelineCompilerControlCreateInfoAMD); - } -#endif -#ifdef VK_AMD_shader_core_properties - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: { - return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD); - } -#endif -#ifdef VK_AMD_memory_overallocation_behavior - case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: { - return sizeof(VkDeviceMemoryOverallocationCreateInfoAMD); - } -#endif -#ifdef VK_GGP_frame_token - case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: { - return sizeof(VkPresentFrameTokenGGP); - } -#endif -#ifdef VK_NV_mesh_shader - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: { - return sizeof(VkPhysicalDeviceMeshShaderFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceMeshShaderPropertiesNV); - } -#endif -#ifdef VK_NV_shader_image_footprint - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: { - return sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV); - } -#endif -#ifdef VK_NV_scissor_exclusive - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: { - return sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV); - } -#endif -#ifdef VK_EXT_present_timing - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePresentTimingFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT: { - return sizeof(VkPresentTimingSurfaceCapabilitiesEXT); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT: { - return sizeof(VkSwapchainCalibratedTimestampInfoEXT); - } - case VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT: { - return sizeof(VkPresentTimingsInfoEXT); - } -#endif -#ifdef VK_INTEL_shader_integer_functions2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: { - return sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL); - } -#endif -#ifdef VK_INTEL_performance_query - case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: { - return sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL); - } -#endif -#ifdef VK_EXT_pci_bus_info - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: { - return sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT); - } -#endif -#ifdef VK_AMD_display_native_hdr - case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: { - return sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: { - return sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD); - } -#endif -#ifdef VK_AMD_shader_core_properties2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: { - return sizeof(VkPhysicalDeviceShaderCoreProperties2AMD); - } -#endif -#ifdef VK_AMD_device_coherent_memory - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: { - return sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD); - } -#endif -#ifdef VK_EXT_shader_image_atomic_int64 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT); - } -#endif -#ifdef VK_EXT_memory_priority - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT); - } - case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: { - return sizeof(VkMemoryPriorityAllocateInfoEXT); - } -#endif -#ifdef VK_NV_dedicated_allocation_image_aliasing - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: { - return sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV); - } -#endif -#ifdef VK_EXT_buffer_device_address - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT); - } - case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: { - return sizeof(VkBufferDeviceAddressCreateInfoEXT); - } -#endif -#ifdef VK_NV_cooperative_matrix - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV); - } -#endif -#ifdef VK_NV_coverage_reduction_mode - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV); - } - case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineCoverageReductionStateCreateInfoNV); - } -#endif -#ifdef VK_EXT_fragment_shader_interlock - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT); - } -#endif -#ifdef VK_EXT_ycbcr_image_arrays - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT); - } -#endif -#ifdef VK_EXT_full_screen_exclusive - case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: { - return sizeof(VkSurfaceFullScreenExclusiveInfoEXT); - } - case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: { - return sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT); - } - case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: { - return sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT); - } -#endif -#ifdef VK_EXT_shader_atomic_float - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT); - } -#endif -#ifdef VK_EXT_map_memory_placed - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMapMemoryPlacedFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceMapMemoryPlacedPropertiesEXT); - } - case VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT: { - return sizeof(VkMemoryMapPlacedInfoEXT); - } -#endif -#ifdef VK_EXT_shader_atomic_float2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT); - } -#endif -#ifdef VK_NV_device_generated_commands - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: { - return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV); - } - case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: { - return sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV); - } -#endif -#ifdef VK_NV_inherited_viewport_scissor - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: { - return sizeof(VkPhysicalDeviceInheritedViewportScissorFeaturesNV); - } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: { - return sizeof(VkCommandBufferInheritanceViewportScissorInfoNV); - } -#endif -#ifdef VK_QCOM_render_pass_transform - case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: { - return sizeof(VkRenderPassTransformBeginInfoQCOM); - } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: { - return sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM); - } -#endif -#ifdef VK_EXT_depth_bias_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDepthBiasControlFeaturesEXT); - } - case VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT: { - return sizeof(VkDepthBiasRepresentationInfoEXT); - } -#endif -#ifdef VK_EXT_texture_compression_astc_3d - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT); - } -#endif -#ifdef VK_NV_present_barrier - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: { - return sizeof(VkPhysicalDevicePresentBarrierFeaturesNV); - } - case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: { - return sizeof(VkSurfaceCapabilitiesPresentBarrierNV); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: { - return sizeof(VkSwapchainPresentBarrierCreateInfoNV); - } -#endif -#ifdef VK_NV_device_diagnostics_config - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: { - return sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV); - } - case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: { - return sizeof(VkDeviceDiagnosticsConfigCreateInfoNV); - } -#endif -#ifdef VK_QCOM_queue_perf_hint - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceQueuePerfHintFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: { - return sizeof(VkPhysicalDeviceQueuePerfHintPropertiesQCOM); - } -#endif -#ifdef VK_NV_cuda_kernel_launch -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCudaKernelLaunchFeaturesNV); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceCudaKernelLaunchPropertiesNV); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#endif -#ifdef VK_QCOM_tile_shading - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceTileShadingFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM: { - return sizeof(VkPhysicalDeviceTileShadingPropertiesQCOM); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM: { - return sizeof(VkRenderPassTileShadingCreateInfoQCOM); - } -#endif -#ifdef VK_NV_low_latency - case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: { - return sizeof(VkQueryLowLatencySupportNV); - } -#endif -#ifdef VK_EXT_descriptor_buffer - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceDescriptorBufferPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDescriptorBufferFeaturesEXT); - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: { - return sizeof(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT); - } - case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: { - return sizeof(VkOpaqueCaptureDescriptorDataCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT); - } -#endif -#ifdef VK_AMD_shader_early_and_late_fragment_tests - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: { - return sizeof(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD); - } -#endif -#ifdef VK_NV_fragment_shading_rate_enums - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: { - return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV); - } - case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: { - return sizeof(VkPipelineFragmentShadingRateEnumStateCreateInfoNV); - } -#endif -#ifdef VK_NV_ray_tracing_motion_blur - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: { - return sizeof(VkAccelerationStructureGeometryMotionTrianglesDataNV); - } - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: { - return sizeof(VkAccelerationStructureMotionInfoNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: { - return sizeof(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV); - } -#endif -#ifdef VK_EXT_fragment_density_map2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT); - } -#endif -#ifdef VK_QCOM_rotated_copy_commands - case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: { - return sizeof(VkCopyCommandTransformInfoQCOM); - } -#endif -#ifdef VK_EXT_attachment_feedback_loop_layout - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT); - } -#endif -#ifdef VK_EXT_device_fault - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceFaultFeaturesEXT); - } -#endif -#ifdef VK_ARM_rasterization_order_attachment_access - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT); - } -#endif -#ifdef VK_EXT_rgba10x6_formats - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT); - } -#endif -#ifdef VK_VALVE_mutable_descriptor_type - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT); - } - case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: { - return sizeof(VkMutableDescriptorTypeCreateInfoEXT); - } -#endif -#ifdef VK_EXT_vertex_input_dynamic_state - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT); - } -#endif -#ifdef VK_EXT_physical_device_drm - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceDrmPropertiesEXT); - } -#endif -#ifdef VK_EXT_device_address_binding_report - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceAddressBindingReportFeaturesEXT); - } - case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: { - return sizeof(VkDeviceAddressBindingCallbackDataEXT); - } -#endif -#ifdef VK_EXT_depth_clip_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: { - return sizeof(VkPipelineViewportDepthClipControlCreateInfoEXT); - } -#endif -#ifdef VK_FUCHSIA_external_memory - case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: { - return sizeof(VkImportMemoryZirconHandleInfoFUCHSIA); - } -#endif -#ifdef VK_FUCHSIA_buffer_collection - case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: { - return sizeof(VkImportMemoryBufferCollectionFUCHSIA); - } - case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: { - return sizeof(VkBufferCollectionImageCreateInfoFUCHSIA); - } - case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: { - return sizeof(VkBufferCollectionBufferCreateInfoFUCHSIA); - } -#endif -#ifdef VK_HUAWEI_subpass_shading - case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: { - return sizeof(VkSubpassShadingPipelineCreateInfoHUAWEI); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: { - return sizeof(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: { - return sizeof(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI); - } -#endif -#ifdef VK_HUAWEI_invocation_mask - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: { - return sizeof(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI); - } -#endif -#ifdef VK_NV_external_memory_rdma - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: { - return sizeof(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV); - } -#endif -#ifdef VK_EXT_pipeline_properties - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePipelinePropertiesFeaturesEXT); - } -#endif -#ifdef VK_EXT_multisampled_render_to_single_sampled - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT); - } - case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: { - return sizeof(VkSubpassResolvePerformanceQueryEXT); - } - case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: { - return sizeof(VkMultisampledRenderToSingleSampledInfoEXT); - } -#endif -#ifdef VK_VALVE_video_encode_rgb_conversion - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE: { - return sizeof(VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE: { - return sizeof(VkVideoEncodeRgbConversionCapabilitiesVALVE); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE: { - return sizeof(VkVideoEncodeProfileRgbConversionInfoVALVE); - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE: { - return sizeof(VkVideoEncodeSessionRgbConversionCreateInfoVALVE); - } -#endif -#ifdef VK_EXT_image_view_min_lod - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT); - } - case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: { - return sizeof(VkImageViewMinLodCreateInfoEXT); - } -#endif -#ifdef VK_EXT_multi_draw - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceMultiDrawPropertiesEXT); - } -#endif -#ifdef VK_EXT_image_2d_view_of_3d - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT); - } -#endif -#ifdef VK_EXT_shader_tile_image - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderTileImageFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceShaderTileImagePropertiesEXT); - } -#endif -#ifdef VK_EXT_opacity_micromap - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceOpacityMicromapFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceOpacityMicromapPropertiesEXT); - } - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: { - return sizeof(VkAccelerationStructureTrianglesOpacityMicromapEXT); - } -#endif -#ifdef VK_NV_displacement_micromap -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: { - return sizeof(VkPhysicalDeviceDisplacementMicromapFeaturesNV); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceDisplacementMicromapPropertiesNV); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: { - return sizeof(VkAccelerationStructureTrianglesDisplacementMicromapNV); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#endif -#ifdef VK_HUAWEI_cluster_culling_shader - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: { - return sizeof(VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: { - return sizeof(VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI: { - return sizeof(VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI); - } -#endif -#ifdef VK_EXT_pageable_device_local_memory - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT); - } -#endif -#ifdef VK_ARM_shader_core_properties - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceShaderCorePropertiesARM); - } -#endif -#ifdef VK_ARM_scheduling_controls - case VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM: { - return sizeof(VkDeviceQueueShaderCoreControlCreateInfoARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceSchedulingControlsFeaturesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceSchedulingControlsPropertiesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM); - } -#endif -#ifdef VK_EXT_image_sliced_view_of_3d - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT); - } - case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: { - return sizeof(VkImageViewSlicedCreateInfoEXT); - } -#endif -#ifdef VK_VALVE_descriptor_set_host_mapping - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: { - return sizeof(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE); - } -#endif -#ifdef VK_EXT_non_seamless_cube_map - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT); - } -#endif -#ifdef VK_ARM_render_pass_striped - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceRenderPassStripedFeaturesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceRenderPassStripedPropertiesARM); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM: { - return sizeof(VkRenderPassStripeBeginInfoARM); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM: { - return sizeof(VkRenderPassStripeSubmitInfoARM); - } -#endif -#ifdef VK_QCOM_fragment_density_map_offset - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT: { - return sizeof(VkRenderPassFragmentDensityMapOffsetEndInfoEXT); - } -#endif -#ifdef VK_NV_copy_memory_indirect - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV); - } -#endif -#ifdef VK_NV_memory_decompression - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMemoryDecompressionFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceMemoryDecompressionPropertiesEXT); - } -#endif -#ifdef VK_NV_device_generated_commands_compute - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV); - } - case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: { - return sizeof(VkComputePipelineIndirectBufferInfoNV); - } -#endif -#ifdef VK_NV_ray_tracing_linear_swept_spheres - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: { - return sizeof(VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV); - } - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV: { - return sizeof(VkAccelerationStructureGeometryLinearSweptSpheresDataNV); - } - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV: { - return sizeof(VkAccelerationStructureGeometrySpheresDataNV); - } -#endif -#ifdef VK_NV_linear_color_attachment - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: { - return sizeof(VkPhysicalDeviceLinearColorAttachmentFeaturesNV); - } -#endif -#ifdef VK_QCOM_image_processing - case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: { - return sizeof(VkImageViewSampleWeightCreateInfoQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceImageProcessingFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: { - return sizeof(VkPhysicalDeviceImageProcessingPropertiesQCOM); - } -#endif -#ifdef VK_EXT_nested_command_buffer - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceNestedCommandBufferFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceNestedCommandBufferPropertiesEXT); - } -#endif -#ifdef VK_OHOS_external_memory - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS: { - return sizeof(VkNativeBufferUsageOHOS); - } - case VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS: { - return sizeof(VkNativeBufferFormatPropertiesOHOS); - } - case VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS: { - return sizeof(VkImportNativeBufferInfoOHOS); - } - case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS: { - return sizeof(VkExternalFormatOHOS); - } -#endif -#ifdef VK_EXT_external_memory_acquire_unmodified - case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: { - return sizeof(VkExternalMemoryAcquireUnmodifiedEXT); - } -#endif -#ifdef VK_EXT_extended_dynamic_state3 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT); - } -#endif -#ifdef VK_EXT_subpass_merge_feedback - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: { - return sizeof(VkRenderPassCreationControlEXT); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: { - return sizeof(VkRenderPassCreationFeedbackCreateInfoEXT); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: { - return sizeof(VkRenderPassSubpassFeedbackCreateInfoEXT); - } -#endif -#ifdef VK_LUNARG_direct_driver_loading - case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: { - return sizeof(VkDirectDriverLoadingListLUNARG); - } -#endif -#ifdef VK_ARM_tensors - case VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM: { - return sizeof(VkTensorDescriptionARM); - } - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM: { - return sizeof(VkWriteDescriptorSetTensorARM); - } - case VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM: { - return sizeof(VkTensorFormatPropertiesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceTensorPropertiesARM); - } - case VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM: { - return sizeof(VkTensorMemoryBarrierARM); - } - case VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM: { - return sizeof(VkTensorDependencyInfoARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceTensorFeaturesARM); - } - case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM: { - return sizeof(VkMemoryDedicatedAllocateInfoTensorARM); - } - case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM: { - return sizeof(VkExternalMemoryTensorCreateInfoARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceDescriptorBufferTensorFeaturesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceDescriptorBufferTensorPropertiesARM); - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM: { - return sizeof(VkDescriptorGetTensorInfoARM); - } - case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM: { - return sizeof(VkFrameBoundaryTensorsARM); - } -#endif -#ifdef VK_EXT_shader_module_identifier - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: { - return sizeof(VkPipelineShaderStageModuleIdentifierCreateInfoEXT); - } -#endif -#ifdef VK_NV_optical_flow - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: { - return sizeof(VkPhysicalDeviceOpticalFlowFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceOpticalFlowPropertiesNV); - } - case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: { - return sizeof(VkOpticalFlowImageFormatInfoNV); - } - case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: { - return sizeof(VkOpticalFlowSessionCreatePrivateDataInfoNV); - } -#endif -#ifdef VK_EXT_legacy_dithering - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceLegacyDitheringFeaturesEXT); - } -#endif -#ifdef VK_ANDROID_external_format_resolve - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID: { - return sizeof(VkPhysicalDeviceExternalFormatResolveFeaturesANDROID); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID: { - return sizeof(VkPhysicalDeviceExternalFormatResolvePropertiesANDROID); - } - case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID: { - return sizeof(VkAndroidHardwareBufferFormatResolvePropertiesANDROID); - } -#endif -#ifdef VK_AMD_anti_lag - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD: { - return sizeof(VkPhysicalDeviceAntiLagFeaturesAMD); - } -#endif -#ifdef VK_AMDX_dense_geometry_format -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: { - return sizeof(VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX: { - return sizeof(VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX); - } -#endif // VK_ENABLE_BETA_EXTENSIONS -#endif -#ifdef VK_EXT_shader_object - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderObjectFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceShaderObjectPropertiesEXT); - } -#endif -#ifdef VK_QCOM_tile_properties - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceTilePropertiesFeaturesQCOM); - } -#endif -#ifdef VK_SEC_amigo_profiling - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: { - return sizeof(VkPhysicalDeviceAmigoProfilingFeaturesSEC); - } - case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: { - return sizeof(VkAmigoProfilingSubmitInfoSEC); - } -#endif -#ifdef VK_QCOM_multiview_per_view_viewports - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM); - } -#endif -#ifdef VK_NV_ray_tracing_invocation_reorder - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: { - return sizeof(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV); - } -#endif -#ifdef VK_NV_cooperative_vector - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceCooperativeVectorPropertiesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCooperativeVectorFeaturesNV); - } -#endif -#ifdef VK_NV_extended_sparse_address_space - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV); - } -#endif -#ifdef VK_EXT_legacy_vertex_attributes - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT); - } -#endif -#ifdef VK_EXT_layer_settings - case VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT: { - return sizeof(VkLayerSettingsCreateInfoEXT); - } -#endif -#ifdef VK_ARM_shader_core_builtins - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM); - } -#endif -#ifdef VK_EXT_pipeline_library_group_handles - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT); - } -#endif -#ifdef VK_EXT_dynamic_rendering_unused_attachments - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT); - } -#endif -#ifdef VK_NV_low_latency2 - case VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV: { - return sizeof(VkLatencySubmissionPresentIdNV); - } - case VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV: { - return sizeof(VkSwapchainLatencyCreateInfoNV); - } - case VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: { - return sizeof(VkLatencySurfaceCapabilitiesNV); - } -#endif -#ifdef VK_ARM_data_graph - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceDataGraphFeaturesARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineCompilerControlCreateInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineShaderModuleCreateInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineIdentifierCreateInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM: { - return sizeof(VkDataGraphProcessingEngineCreateInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: { - return sizeof(VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM); - } -#endif -#ifdef VK_QCOM_multiview_per_view_render_areas - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: { - return sizeof(VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM); - } -#endif -#ifdef VK_NV_per_stage_descriptor_set - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV: { - return sizeof(VkPhysicalDevicePerStageDescriptorSetFeaturesNV); - } -#endif -#ifdef VK_QCOM_image_processing2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceImageProcessing2FeaturesQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM: { - return sizeof(VkPhysicalDeviceImageProcessing2PropertiesQCOM); - } - case VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM: { - return sizeof(VkSamplerBlockMatchWindowCreateInfoQCOM); - } -#endif -#ifdef VK_QCOM_filter_cubic_weights - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceCubicWeightsFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM: { - return sizeof(VkSamplerCubicWeightsCreateInfoQCOM); - } - case VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM: { - return sizeof(VkBlitImageCubicWeightsInfoQCOM); - } -#endif -#ifdef VK_QCOM_ycbcr_degamma - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceYcbcrDegammaFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM: { - return sizeof(VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM); - } -#endif -#ifdef VK_QCOM_filter_cubic_clamp - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceCubicClampFeaturesQCOM); - } -#endif -#ifdef VK_EXT_attachment_feedback_loop_dynamic_state - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT); - } -#endif -#ifdef VK_MSFT_layered_driver - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT: { - return sizeof(VkPhysicalDeviceLayeredDriverPropertiesMSFT); - } -#endif -#ifdef VK_NV_descriptor_pool_overallocation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: { - return sizeof(VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV); - } -#endif -#ifdef VK_QCOM_tile_memory_heap - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceTileMemoryHeapFeaturesQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM: { - return sizeof(VkPhysicalDeviceTileMemoryHeapPropertiesQCOM); - } - case VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM: { - return sizeof(VkTileMemoryRequirementsQCOM); - } - case VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM: { - return sizeof(VkTileMemoryBindInfoQCOM); - } - case VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM: { - return sizeof(VkTileMemorySizeInfoQCOM); - } -#endif -#ifdef VK_NV_display_stereo - case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV: { - return sizeof(VkDisplaySurfaceStereoCreateInfoNV); - } - case VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV: { - return sizeof(VkDisplayModeStereoPropertiesNV); - } -#endif -#ifdef VK_NV_raw_access_chains - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: { - return sizeof(VkPhysicalDeviceRawAccessChainsFeaturesNV); - } -#endif -#ifdef VK_NV_external_compute_queue - case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV: { - return sizeof(VkExternalComputeQueueDeviceCreateInfoNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceExternalComputeQueuePropertiesNV); - } -#endif -#ifdef VK_NV_command_buffer_inheritance - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCommandBufferInheritanceFeaturesNV); - } -#endif -#ifdef VK_NV_shader_atomic_float16_vector - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: { - return sizeof(VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV); - } -#endif -#ifdef VK_EXT_shader_replicated_composites - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT); - } -#endif -#ifdef VK_EXT_shader_float8 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderFloat8FeaturesEXT); - } -#endif -#ifdef VK_NV_ray_tracing_validation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: { - return sizeof(VkPhysicalDeviceRayTracingValidationFeaturesNV); - } -#endif -#ifdef VK_NV_cluster_acceleration_structure - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: { - return sizeof(VkPhysicalDeviceClusterAccelerationStructureFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceClusterAccelerationStructurePropertiesNV); - } - case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV: { - return sizeof(VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV); - } -#endif -#ifdef VK_NV_partitioned_acceleration_structure - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: { - return sizeof(VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: { - return sizeof(VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV); - } - case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV: { - return sizeof(VkPartitionedAccelerationStructureFlagsNV); - } - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV: { - return sizeof(VkWriteDescriptorSetPartitionedAccelerationStructureNV); - } -#endif -#ifdef VK_EXT_device_generated_commands - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT); - } - case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT: { - return sizeof(VkGeneratedCommandsPipelineInfoEXT); - } - case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT: { - return sizeof(VkGeneratedCommandsShaderInfoEXT); - } -#endif -#ifdef VK_MESA_image_alignment_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA: { - return sizeof(VkPhysicalDeviceImageAlignmentControlFeaturesMESA); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA: { - return sizeof(VkPhysicalDeviceImageAlignmentControlPropertiesMESA); - } - case VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA: { - return sizeof(VkImageAlignmentControlCreateInfoMESA); - } -#endif -#ifdef VK_NV_push_constant_bank - case VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV: { - return sizeof(VkPushConstantBankInfoNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV: { - return sizeof(VkPhysicalDevicePushConstantBankFeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV: { - return sizeof(VkPhysicalDevicePushConstantBankPropertiesNV); - } -#endif -#ifdef VK_EXT_ray_tracing_invocation_reorder - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT); - } -#endif -#ifdef VK_EXT_depth_clamp_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceDepthClampControlFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT: { - return sizeof(VkPipelineViewportDepthClampControlCreateInfoEXT); - } -#endif -#ifdef VK_HUAWEI_hdr_vivid - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: { - return sizeof(VkPhysicalDeviceHdrVividFeaturesHUAWEI); - } - case VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI: { - return sizeof(VkHdrVividDynamicMetadataHUAWEI); - } -#endif -#ifdef VK_NV_cooperative_matrix2 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV: { - return sizeof(VkPhysicalDeviceCooperativeMatrix2FeaturesNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: { - return sizeof(VkPhysicalDeviceCooperativeMatrix2PropertiesNV); - } -#endif -#ifdef VK_ARM_pipeline_opacity_micromap - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: { - return sizeof(VkPhysicalDevicePipelineOpacityMicromapFeaturesARM); - } -#endif -#ifdef VK_ARM_performance_counters_by_region - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM: { - return sizeof(VkPhysicalDevicePerformanceCountersByRegionFeaturesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM: { - return sizeof(VkPhysicalDevicePerformanceCountersByRegionPropertiesARM); - } - case VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM: { - return sizeof(VkRenderPassPerformanceCountersByRegionBeginInfoARM); - } -#endif -#ifdef VK_ARM_shader_instrumentation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceShaderInstrumentationFeaturesARM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM: { - return sizeof(VkPhysicalDeviceShaderInstrumentationPropertiesARM); - } -#endif -#ifdef VK_EXT_vertex_attribute_robustness - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT); - } -#endif -#ifdef VK_ARM_format_pack - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceFormatPackFeaturesARM); - } -#endif -#ifdef VK_VALVE_fragment_density_map_layered - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE: { - return sizeof(VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE: { - return sizeof(VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE); - } - case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE: { - return sizeof(VkPipelineFragmentDensityMapLayeredCreateInfoVALVE); - } -#endif -#ifdef VK_NV_present_metering - case VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV: { - return sizeof(VkSetPresentConfigNV); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: { - return sizeof(VkPhysicalDevicePresentMeteringFeaturesNV); - } -#endif -#ifdef VK_EXT_zero_initialize_device_memory - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT); - } -#endif -#ifdef VK_EXT_shader_64bit_indexing - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShader64BitIndexingFeaturesEXT); - } -#endif -#ifdef VK_EXT_custom_resolve - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceCustomResolveFeaturesEXT); - } - case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT: { - return sizeof(VkCustomResolveCreateInfoEXT); - } -#endif -#ifdef VK_QCOM_data_graph_model - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM: { - return sizeof(VkDataGraphPipelineBuiltinModelCreateInfoQCOM); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: { - return sizeof(VkPhysicalDeviceDataGraphModelFeaturesQCOM); - } -#endif -#ifdef VK_ARM_data_graph_optical_flow - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineOpticalFlowCreateInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM: { - return sizeof(VkDataGraphOpticalFlowImageFormatInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM: { - return sizeof(VkDataGraphPipelineOpticalFlowDispatchInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM: { - return sizeof(VkDataGraphPipelineResourceInfoImageLayoutARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineSingleNodeCreateInfoARM); - } -#endif -#ifdef VK_EXT_shader_long_vector - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderLongVectorFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceShaderLongVectorPropertiesEXT); - } -#endif -#ifdef VK_SEC_pipeline_cache_incremental_mode - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: { - return sizeof(VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC); - } -#endif -#ifdef VK_EXT_shader_uniform_buffer_unsized_array - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT); - } -#endif -#ifdef VK_NV_compute_occupancy_priority - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: { - return sizeof(VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV); - } -#endif -#ifdef VK_EXT_shader_subgroup_partitioned - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT); - } -#endif -#ifdef VK_VALVE_shader_mixed_float_dot_product - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: { - return sizeof(VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE); - } -#endif -#ifdef VK_SEC_throttle_hint - case VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC: { - return sizeof(VkThrottleHintSubmitInfoSEC); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC: { - return sizeof(VkPhysicalDeviceThrottleHintFeaturesSEC); - } -#endif -#ifdef VK_ARM_data_graph_neural_accelerator_statistics - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM: { - return sizeof(VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineNeuralStatisticsCreateInfoARM); - } - case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM: { - return sizeof(VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM); - } -#endif -#ifdef VK_EXT_primitive_restart_index - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: { - return sizeof(VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT); - } -#endif -#ifdef VK_KHR_acceleration_structure - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: { - return sizeof(VkWriteDescriptorSetAccelerationStructureKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceAccelerationStructureFeaturesKHR); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: { - return sizeof(VkPhysicalDeviceAccelerationStructurePropertiesKHR); - } -#endif -#ifdef VK_KHR_ray_query - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: { - return sizeof(VkPhysicalDeviceRayQueryFeaturesKHR); - } -#endif -#ifdef VK_EXT_mesh_shader - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: { - return sizeof(VkPhysicalDeviceMeshShaderFeaturesEXT); - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: { - return sizeof(VkPhysicalDeviceMeshShaderPropertiesEXT); - } #endif default: { - const std::string structTypeString = - string_VkStructureType(VkStructureType(structType)); - GFXSTREAM_FATAL("Unhandled Vulkan structure type %s [%d], aborting.", - structTypeString.c_str(), structType); - return static_cast(0); + return goldfish_vk_extension_struct_size(rootType, structExtension); } } } diff --git a/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp b/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp index 4a3cc8435..677b35407 100644 --- a/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp +++ b/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp @@ -4312,11 +4312,11 @@ void unmarshal_VkGraphicsPipelineCreateInfo(VulkanStream* vkStream, VkStructureT (void)rootType; uint32_t hasRasterization = 1; if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) { - hasRasterization = (const uint32_t)vkStream->getBe32(); + hasRasterization = (uint32_t)vkStream->getBe32(); } uint32_t hasTessellation = 1; if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) { - hasTessellation = (const uint32_t)vkStream->getBe32(); + hasTessellation = (uint32_t)vkStream->getBe32(); } vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -22774,9 +22774,8 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, #endif default: { // fatal; the switch is only taken if the extension struct is known - fprintf(stderr, " %s, Unhandled Vulkan structure type %s [%d], aborting.\n", __func__, - string_VkStructureType(VkStructureType(structType)), structType); - abort(); + GFXSTREAM_FATAL("%s, Unhandled Vulkan structure type %s [%d], aborting.", __func__, + string_VkStructureType(VkStructureType(structType)), structType); } } } @@ -24412,9 +24411,8 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType #endif default: { // fatal; the switch is only taken if the extension struct is known - fprintf(stderr, " %s, Unhandled Vulkan structure type %s [%d], aborting.\n", __func__, - string_VkStructureType(VkStructureType(structType)), structType); - abort(); + GFXSTREAM_FATAL("%s, Unhandled Vulkan structure type %s [%d], aborting.", __func__, + string_VkStructureType(VkStructureType(structType)), structType); } } } diff --git a/host/vulkan/cereal/common/goldfish_vk_private_defs.h b/host/vulkan/cereal/common/goldfish_vk_private_defs.h index e0204b3d3..2b8ad1263 100644 --- a/host/vulkan/cereal/common/goldfish_vk_private_defs.h +++ b/host/vulkan/cereal/common/goldfish_vk_private_defs.h @@ -15,6 +15,7 @@ #pragma once #include +#include "gfxstream/common/logging.h" #ifdef __cplusplus #include diff --git a/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp b/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp index b448af52c..f05a867d7 100644 --- a/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp +++ b/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp @@ -18274,9 +18274,8 @@ void reservedunmarshal_extension_struct(VulkanStream* vkStream, VkStructureType #endif default: { // fatal; the switch is only taken if the extension struct is known - fprintf(stderr, " %s, Unhandled Vulkan structure type %s [%d], aborting.\n", __func__, - string_VkStructureType(VkStructureType(structType)), structType); - abort(); + GFXSTREAM_FATAL("%s, Unhandled Vulkan structure type %s [%d], aborting.", __func__, + string_VkStructureType(VkStructureType(structType)), structType); } } } diff --git a/host/vulkan/cereal/common/goldfish_vk_supported_extensions.cpp b/host/vulkan/cereal/common/goldfish_vk_supported_extensions.cpp new file mode 100644 index 000000000..4bb33e051 --- /dev/null +++ b/host/vulkan/cereal/common/goldfish_vk_supported_extensions.cpp @@ -0,0 +1,169 @@ +// Copyright (C) 2018 The Android Open Source Project +// Copyright (C) 2018 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Autogenerated module goldfish_vk_supported_extensions +// +// (impl) generated by genvk.py +// +// Please do not modify directly; +// re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh, +// or directly from Python by defining: +// VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml +// VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py +// CEREAL_OUTPUT_DIR: Where to put the generated sources. +// +// python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o +// $CEREAL_OUTPUT_DIR +// + +#include "goldfish_vk_supported_extensions.h" + +namespace gfxstream { +namespace host { +namespace vk { + +const std::unordered_set& GetInstanceExtensionsSupportedByCodegen() { + static const std::unordered_set* kSupported = []() { + return new std::unordered_set{ + "VK_EXT_debug_report", + "VK_EXT_debug_utils", + "VK_EXT_validation_features", + "VK_KHR_external_fence_capabilities", + "VK_KHR_external_memory_capabilities", + "VK_KHR_external_semaphore_capabilities", + "VK_KHR_get_physical_device_properties2", + }; + }(); + return *kSupported; +} + +const std::unordered_set& GetDeviceExtensionsSupportedByCodegen() { + static const std::unordered_set* kSupported = []() { + return new std::unordered_set{ + "VK_AMD_gpu_shader_half_float", + "VK_ANDROID_external_memory_android_hardware_buffer", + "VK_ANDROID_native_buffer", + "VK_EXT_4444_formats", + "VK_EXT_blend_operation_advanced", + "VK_EXT_border_color_swizzle", + "VK_EXT_color_write_enable", + "VK_EXT_custom_border_color", + "VK_EXT_depth_clip_enable", + "VK_EXT_device_memory_report", + "VK_EXT_extended_dynamic_state", + "VK_EXT_extended_dynamic_state2", + "VK_EXT_external_memory_host", + "VK_EXT_external_memory_metal", + "VK_EXT_fragment_density_map", + "VK_EXT_frame_boundary", + "VK_EXT_graphics_pipeline_library", + "VK_EXT_host_image_copy", + "VK_EXT_image_compression_control", + "VK_EXT_image_compression_control_swapchain", + "VK_EXT_image_drm_format_modifier", + "VK_EXT_image_robustness", + "VK_EXT_index_type_uint8", + "VK_EXT_inline_uniform_block", + "VK_EXT_line_rasterization", + "VK_EXT_load_store_op_none", + "VK_EXT_memory_budget", + "VK_EXT_metal_objects", + "VK_EXT_metal_surface", + "VK_EXT_pipeline_creation_cache_control", + "VK_EXT_pipeline_creation_feedback", + "VK_EXT_pipeline_protected_access", + "VK_EXT_primitive_topology_list_restart", + "VK_EXT_primitives_generated_query", + "VK_EXT_private_data", + "VK_EXT_provoking_vertex", + "VK_EXT_queue_family_foreign", + "VK_EXT_robustness2", + "VK_EXT_scalar_block_layout", + "VK_EXT_shader_demote_to_helper_invocation", + "VK_EXT_shader_stencil_export", + "VK_EXT_subgroup_size_control", + "VK_EXT_swapchain_colorspace", + "VK_EXT_swapchain_maintenance1", + "VK_EXT_texel_buffer_alignment", + "VK_EXT_texture_compression_astc_hdr", + "VK_EXT_tooling_info", + "VK_EXT_transform_feedback", + "VK_EXT_vertex_attribute_divisor", + "VK_EXT_ycbcr_2plane_444_formats", + "VK_GOOGLE_gfxstream", + "VK_KHR_android_surface", + "VK_KHR_bind_memory2", + "VK_KHR_buffer_device_address", + "VK_KHR_copy_commands2", + "VK_KHR_create_renderpass2", + "VK_KHR_dedicated_allocation", + "VK_KHR_descriptor_update_template", + "VK_KHR_dynamic_rendering", + "VK_KHR_external_fence", + "VK_KHR_external_fence_fd", + "VK_KHR_external_memory", + "VK_KHR_external_memory_fd", + "VK_KHR_external_memory_win32", + "VK_KHR_external_semaphore", + "VK_KHR_external_semaphore_fd", + "VK_KHR_external_semaphore_win32", + "VK_KHR_format_feature_flags2", + "VK_KHR_get_memory_requirements2", + "VK_KHR_global_priority", + "VK_KHR_image_format_list", + "VK_KHR_imageless_framebuffer", + "VK_KHR_incremental_present", + "VK_KHR_line_rasterization", + "VK_KHR_maintenance1", + "VK_KHR_maintenance2", + "VK_KHR_maintenance3", + "VK_KHR_maintenance4", + "VK_KHR_maintenance5", + "VK_KHR_maintenance6", + "VK_KHR_maintenance7", + "VK_KHR_maintenance8", + "VK_KHR_maintenance9", + "VK_KHR_multiview", + "VK_KHR_pipeline_executable_properties", + "VK_KHR_pipeline_library", + "VK_KHR_ray_tracing_pipeline", + "VK_KHR_sampler_ycbcr_conversion", + "VK_KHR_shader_float16_int8", + "VK_KHR_shader_integer_dot_product", + "VK_KHR_shader_non_semantic_info", + "VK_KHR_shader_subgroup_extended_types", + "VK_KHR_shader_terminate_invocation", + "VK_KHR_storage_buffer_storage_class", + "VK_KHR_surface", + "VK_KHR_swapchain", + "VK_KHR_swapchain_maintenance1", + "VK_KHR_synchronization2", + "VK_KHR_vulkan_memory_model", + "VK_KHR_win32_surface", + "VK_KHR_xcb_surface", + "VK_KHR_zero_initialize_workgroup_memory", + "VK_MVK_macos_surface", + "VK_NV_device_diagnostic_checkpoints", + "VK_NV_shader_subgroup_partitioned", + "VK_QNX_external_memory_screen_buffer", + "VK_QNX_screen_surface", + }; + }(); + return *kSupported; +} + +} // namespace vk +} // namespace host +} // namespace gfxstream diff --git a/host/vulkan/cereal/common/goldfish_vk_supported_extensions.h b/host/vulkan/cereal/common/goldfish_vk_supported_extensions.h new file mode 100644 index 000000000..5d8a73769 --- /dev/null +++ b/host/vulkan/cereal/common/goldfish_vk_supported_extensions.h @@ -0,0 +1,45 @@ +// Copyright (C) 2018 The Android Open Source Project +// Copyright (C) 2018 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Autogenerated module goldfish_vk_supported_extensions +// +// (header) generated by genvk.py +// +// Please do not modify directly; +// re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh, +// or directly from Python by defining: +// VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml +// VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py +// CEREAL_OUTPUT_DIR: Where to put the generated sources. +// +// python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o +// $CEREAL_OUTPUT_DIR +// +#pragma once + +#include +#include + +namespace gfxstream { +namespace host { +namespace vk { + +const std::unordered_set& GetInstanceExtensionsSupportedByCodegen(); + +const std::unordered_set& GetDeviceExtensionsSupportedByCodegen(); + +} // namespace vk +} // namespace host +} // namespace gfxstream diff --git a/host/vulkan/cereal/common/vk_struct_id.h b/host/vulkan/cereal/common/vk_struct_id.h index c8e9841e8..94f1a08ab 100644 --- a/host/vulkan/cereal/common/vk_struct_id.h +++ b/host/vulkan/cereal/common/vk_struct_id.h @@ -139,6 +139,8 @@ REGISTER_VK_STRUCT_ID(VkImportMemoryHostPointerInfoEXT, VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT); REGISTER_VK_STRUCT_ID(VkDeviceDeviceMemoryReportCreateInfoEXT, VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT); +REGISTER_VK_STRUCT_ID(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT); #ifdef VK_USE_PLATFORM_METAL_EXT REGISTER_VK_STRUCT_ID(VkImportMetalTextureInfoEXT, VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT); @@ -168,6 +170,8 @@ REGISTER_VK_STRUCT_ID(VkPhysicalDeviceVulkan12Features, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES); REGISTER_VK_STRUCT_ID(VkPhysicalDeviceVulkan13Features, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES); +REGISTER_VK_STRUCT_ID(VkPhysicalDeviceVulkan14Features, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES); REGISTER_VK_STRUCT_ID(VkDebugMetadataGOOGLE, VK_STRUCTURE_TYPE_DEBUG_METADATA_GOOGLE); @@ -193,4 +197,7 @@ REGISTER_VK_STRUCT_ID(VkPhysicalDeviceMemoryProperties2, REGISTER_VK_STRUCT_ID(VkPhysicalDeviceMemoryBudgetPropertiesEXT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT); +REGISTER_VK_STRUCT_ID(VkFormatProperties2, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2); +REGISTER_VK_STRUCT_ID(VkFormatProperties3, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3); + #undef REGISTER_VK_STRUCT_ID diff --git a/host/vulkan/cereal/meson.build b/host/vulkan/cereal/meson.build index 2d03c2081..d1c2b82e0 100644 --- a/host/vulkan/cereal/meson.build +++ b/host/vulkan/cereal/meson.build @@ -7,6 +7,7 @@ files_lib_cereal = files( 'common/goldfish_vk_reserved_marshaling.cpp', 'common/goldfish_vk_deepcopy.cpp', 'common/goldfish_vk_dispatch.cpp', + 'common/goldfish_vk_supported_extensions.cpp', 'common/goldfish_vk_transform.cpp' ) diff --git a/host/vulkan/color_buffer_vk.cpp b/host/vulkan/color_buffer_vk.cpp index b61d0a9de..b0c4b041a 100644 --- a/host/vulkan/color_buffer_vk.cpp +++ b/host/vulkan/color_buffer_vk.cpp @@ -33,42 +33,90 @@ std::unique_ptr ColorBufferVk::create(VkEmulation& vkEmulation, u return std::unique_ptr(new ColorBufferVk(vkEmulation, handle)); } -void ColorBufferVk::onLoad(gfxstream::Stream* stream, LoadImageBehavior behavior) { +bool ColorBufferVk::onLoad(gfxstream::Stream* stream, LoadImageBehavior behavior) { if (!mVkEmulation.getFeatures().VulkanSnapshots.enabled() || !stream) { - return; + return true; } VkImageLayout currentLayout = static_cast(stream->getBe32()); mVkEmulation.setColorBufferCurrentLayout(mHandle, currentLayout); if (behavior == LoadImageBehavior::SkipImageContent) { - return; + return true; } uint64_t size = stream->getBe64(); if (size > 0) { + GFXSTREAM_DEBUG("snapshot load: color buffer %u size=%" PRIu64, mHandle, size); std::vector pixels(size); - stream->read(pixels.data(), size); - mVkEmulation.updateColorBufferFromBytes(mHandle, pixels); + ssize_t ret = stream->read(pixels.data(), size); + if (ret > 0 && static_cast(ret) == size) { + mVkEmulation.updateColorBufferFromBytes(mHandle, pixels); + } else { + GFXSTREAM_ERROR( + "ColorBufferVk::onLoad failed to read %" PRIu64 " pixel bytes from stream, got %zd", + size, ret); + return false; + } + } else { + // Clear pixels as this path is also used for color buffers with all-zero values + mVkEmulation.clearColorBuffer(mHandle); + } + + if (stream->hasErrors()) { + GFXSTREAM_ERROR("ColorBufferVk::onLoad failed with errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return false; } + return true; } -void ColorBufferVk::onSave(gfxstream::Stream* stream, SaveImageBehavior behavior) { +bool ColorBufferVk::onSave(gfxstream::Stream* stream, SaveImageBehavior behavior) { if (!mVkEmulation.getFeatures().VulkanSnapshots.enabled()) { - return; + return true; } stream->putBe32(static_cast(mVkEmulation.getColorBufferCurrentLayout(mHandle))); if (behavior == SaveImageBehavior::SkipImageContent) { - return; + return true; } std::vector pixels; - if (readToBytes(&pixels)) { - stream->putBe64(pixels.size()); - stream->write(pixels.data(), pixels.size()); + bool writePixels = readToBytes(&pixels); + + // To save storage and optimize for faster a load, check the pixel values + // and don't write them into the snapshot if they are all zeros. + if (writePixels) { + const bool all_zero = + std::all_of(pixels.begin(), pixels.end(), [](uint8_t pixel) { return pixel == 0; }); + if (all_zero) { + GFXSTREAM_DEBUG( + "snapshot save: skipping %zu pixel bytes for color buffer %u - zero color save", + pixels.size(), mHandle); + writePixels = false; + } + } + + if (writePixels) { + GFXSTREAM_DEBUG("snapshot save: color buffer %u size=%zu", mHandle, pixels.size()); + uint64_t size = pixels.size(); + stream->putBe64(size); + ssize_t written = stream->write(pixels.data(), size); + if (written < 0 || static_cast(written) != size) { + GFXSTREAM_ERROR( + "ColorBufferVk::onSave failed to write %" PRIu64 " pixel bytes from stream, got %zd", + size, written); + return false; + } } else { stream->putBe64(0); } + + if (stream->hasErrors()) { + GFXSTREAM_ERROR("ColorBufferVk::onSave failed with errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return false; + } + return true; } ColorBufferVk::ColorBufferVk(VkEmulation& vkEmulation, uint32_t handle) diff --git a/host/vulkan/color_buffer_vk.h b/host/vulkan/color_buffer_vk.h index a400e3ff0..1edbbb15a 100644 --- a/host/vulkan/color_buffer_vk.h +++ b/host/vulkan/color_buffer_vk.h @@ -76,8 +76,8 @@ class ColorBufferVk { std::unique_ptr prepareForComposition(bool colorBufferIsTarget); std::unique_ptr prepareForDisplay(); - void onLoad(gfxstream::Stream* stream, LoadImageBehavior behavior); - void onSave(gfxstream::Stream* stream, SaveImageBehavior behavior); + bool onLoad(gfxstream::Stream* stream, LoadImageBehavior behavior); + bool onSave(gfxstream::Stream* stream, SaveImageBehavior behavior); std::optional exportBlob(); diff --git a/host/vulkan/compositor_vk.cpp b/host/vulkan/compositor_vk.cpp index 7b33209a0..5eacac9c1 100644 --- a/host/vulkan/compositor_vk.cpp +++ b/host/vulkan/compositor_vk.cpp @@ -691,7 +691,6 @@ bool CompositorVk::createImage(CompositorVkBase::Image& imageOut, uint32_t width }; VkImage image = VK_NULL_HANDLE; VK_CHECK_RETURN(m_vk.vkCreateImage(m_vkDevice, &imageCreateInfo, nullptr, &image)); - m_debugUtilsHelper.addDebugLabel(image, "CompositorVk:image:%s", debugName.c_str()); VkMemoryRequirements imageMemoryRequirements; m_vk.vkGetImageMemoryRequirements(m_vkDevice, image, &imageMemoryRequirements); @@ -740,7 +739,6 @@ bool CompositorVk::createImage(CompositorVkBase::Image& imageOut, uint32_t width }; VkImageView imageView = VK_NULL_HANDLE; VK_CHECK_RETURN(m_vk.vkCreateImageView(m_vkDevice, &imageViewCreateInfo, nullptr, &imageView)); - m_debugUtilsHelper.addDebugLabel(image, "CompositorVk:imageView:%s", debugName.c_str()); VkBuffer stagingBuffer = VK_NULL_HANDLE; VkDeviceMemory stagingBufferMemory = VK_NULL_HANDLE; @@ -836,9 +834,9 @@ bool CompositorVk::createImage(CompositorVkBase::Image& imageOut, uint32_t width m_vk.vkDestroyBuffer(m_vkDevice, stagingBuffer, nullptr); m_vk.vkFreeMemory(m_vkDevice, stagingBufferMemory, nullptr); - m_debugUtilsHelper.addDebugLabel(image, "CompositorVk::image %s", debugName.c_str()); - m_debugUtilsHelper.addDebugLabel(imageView, "CompositorVk::imageView %s", debugName.c_str()); - m_debugUtilsHelper.addDebugLabel(imageMemory, "CompositorVk::imageMemory %s", + m_debugUtilsHelper.addDebugLabel(image, "CompositorVk:image:%s", debugName.c_str()); + m_debugUtilsHelper.addDebugLabel(imageView, "CompositorVk:imageView:%s", debugName.c_str()); + m_debugUtilsHelper.addDebugLabel(imageMemory, "CompositorVk::imageMemory:%s", debugName.c_str()); // Encapsulate the created vulkan objects into an Image instance diff --git a/host/vulkan/dependency_graph.cpp b/host/vulkan/dependency_graph.cpp index fa67730aa..3c445f363 100644 --- a/host/vulkan/dependency_graph.cpp +++ b/host/vulkan/dependency_graph.cpp @@ -50,14 +50,26 @@ void DependencyGraph::removeDescendantsOfHandle(const NodeId id) { } } +bool DependencyGraph::isDeleteDelayedType(NodeId id) const { + switch (getNodeIdType(id)) { + case Tag_VkDescriptorSetLayout: + case Tag_VkPipelineCache: + case Tag_VkRenderPass: + case Tag_VkSampler: + case Tag_VkSamplerYcbcrConversion: + case Tag_VkSamplerYcbcrConversionKHR: + case Tag_VkShaderModule: + return true; + default: + return false; + } +} + +// TODO: b/559186898, This potentially keeps alive many vk objects. Replace +// with proper parent-child object dependencies. void DependencyGraph::removeNodesAndDescendants(const NodeId* toRemove, uint32_t count) { - // shader can be removed after pipeline is created, but we need it during - // load, so do not remove it. This also apply to renderpass for (uint32_t i = 0; i < count; ++i) { - if (getNodeIdType(toRemove[i]) == Tag_VkShaderModule) { - continue; - } - if (getNodeIdType(toRemove[i]) == Tag_VkRenderPass) { + if (isDeleteDelayedType(toRemove[i])) { continue; } removeNodeAndDescendants(toRemove[i]); diff --git a/host/vulkan/dependency_graph.h b/host/vulkan/dependency_graph.h index eb8a0edff..756853843 100644 --- a/host/vulkan/dependency_graph.h +++ b/host/vulkan/dependency_graph.h @@ -77,6 +77,7 @@ class DependencyGraph { void removeGrandChildren(const NodeId id); void removeNodesAndDescendants(const NodeId* toRemove, uint32_t count); + bool isDeleteDelayedType(NodeId id) const; void removeDescendantsOfHandle(const NodeId handle); void setCreatedNodeIdsForApi(ApiCallId apiCallId, const NodeId* nodeIds, uint32_t count); diff --git a/host/vulkan/device_op_tracker.cpp b/host/vulkan/device_op_tracker.cpp index 80f0b6bc7..f0df1bff4 100644 --- a/host/vulkan/device_op_tracker.cpp +++ b/host/vulkan/device_op_tracker.cpp @@ -241,6 +241,27 @@ DeviceOpWaitable DeviceOpBuilder::OnQueueSubmittedWithFence(VkFence fence) { return future; } +void DeviceOpBuilder::OnQueueSubmissionAborted(VkFence fence) { + if (mCreatedFence.has_value() && fence != mCreatedFence) { + GFXSTREAM_FATAL( + "Invalid usage: failed to call OnQueueSubmittedWithFence() with the fence " + "requested from CreateFenceForOp."); + } + + mSubmittedFence = fence; + + // Can be destroyed immediately as it's not used + const bool destroyFenceOnCompletion = mCreatedFence.has_value(); + mTracker.AddPendingDeviceOp([device = mTracker.mDevice, + deviceDispatch = mTracker.mDeviceDispatch, fence, + destroyFenceOnCompletion] { + if (destroyFenceOnCompletion) { + deviceDispatch->vkDestroyFence(device, fence, nullptr); + } + return DeviceOpStatus::kDone; + }); +} + } // namespace vk } // namespace host } // namespace gfxstream diff --git a/host/vulkan/device_op_tracker.h b/host/vulkan/device_op_tracker.h index c698c669c..bebd0fe7a 100644 --- a/host/vulkan/device_op_tracker.h +++ b/host/vulkan/device_op_tracker.h @@ -115,6 +115,10 @@ class DeviceOpBuilder { // has completed. DeviceOpWaitable OnQueueSubmittedWithFence(VkFence fence); + // Cleans up the internal state when OnQueueSubmittedWithFence won't be called + // due to errors. + void OnQueueSubmissionAborted(VkFence fence); + private: DeviceOpTracker& mTracker; diff --git a/host/vulkan/device_op_tracker_unittest.cpp b/host/vulkan/device_op_tracker_unittest.cpp new file mode 100644 index 000000000..76939fb0d --- /dev/null +++ b/host/vulkan/device_op_tracker_unittest.cpp @@ -0,0 +1,203 @@ +// Copyright 2024 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "device_op_tracker.h" + +#include +#include + +#include + +#include "gfxstream/testing/TestUtils.h" + +namespace gfxstream { +namespace host { +namespace vk { +namespace { + +using ::testing::_; +using ::MatchesStdRegex; +using ::testing::Return; +using ::testing::Test; + +class DeviceOpTrackerTest : public Test { +protected: + class MockDispatch { + public: + MOCK_METHOD(VkResult, vkCreateFence, + (VkDevice device, const VkFenceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, VkFence* pFence)); + MOCK_METHOD(void, vkDestroyFence, + (VkDevice device, VkFence fence, + const VkAllocationCallbacks* pAllocator)); + MOCK_METHOD(VkResult, vkGetFenceStatus, + (VkDevice device, VkFence fence)); + MOCK_METHOD(VkResult, vkDeviceWaitIdle, (VkDevice device)); + }; + + inline static MockDispatch* sMockDispatch = nullptr; + + DeviceOpTrackerTest() : mDevice(reinterpret_cast(0x2222'0000)) { + sMockDispatch = &mMockDispatch; + std::memset(&mDispatch, 0, sizeof(mDispatch)); + mDispatch.vkCreateFence = [](VkDevice device, const VkFenceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkFence* pFence) -> VkResult { + return sMockDispatch ? sMockDispatch->vkCreateFence(device, pCreateInfo, pAllocator, pFence) + : VK_ERROR_INITIALIZATION_FAILED; + }; + mDispatch.vkDestroyFence = [](VkDevice device, VkFence fence, + const VkAllocationCallbacks* pAllocator) { + if (sMockDispatch) { + sMockDispatch->vkDestroyFence(device, fence, pAllocator); + } + }; + mDispatch.vkGetFenceStatus = [](VkDevice device, VkFence fence) -> VkResult { + return sMockDispatch ? sMockDispatch->vkGetFenceStatus(device, fence) + : VK_ERROR_INITIALIZATION_FAILED; + }; + mDispatch.vkDeviceWaitIdle = [](VkDevice device) -> VkResult { + return sMockDispatch ? sMockDispatch->vkDeviceWaitIdle(device) : VK_SUCCESS; + }; + + ON_CALL(mMockDispatch, vkCreateFence(mDevice, _, _, _)) + .WillByDefault([](VkDevice, const VkFenceCreateInfo*, + const VkAllocationCallbacks*, VkFence* pFence) { + if (pFence) { + *pFence = reinterpret_cast(0x1234'0000); + } + return VK_SUCCESS; + }); + } + + ~DeviceOpTrackerTest() { + sMockDispatch = nullptr; + } + + ::testing::NiceMock mMockDispatch; + VulkanDispatch mDispatch; + VkDevice mDevice; +}; + +using DeviceOpTrackerDeathTest = DeviceOpTrackerTest; + +TEST_F(DeviceOpTrackerTest, OnQueueSubmissionAbortedDestroysCreatedFence) { + VkFence createdFence = reinterpret_cast(0x1234'0000); + EXPECT_CALL(mMockDispatch, vkCreateFence(mDevice, _, _, _)).Times(1); + + DeviceOpTracker tracker(mDevice, &mDispatch); + { + DeviceOpBuilder builder(tracker); + VkFence usedFence = builder.CreateFenceForOp(); + ASSERT_EQ(usedFence, createdFence); + + // Simulate submission failure (e.g. dispatchVkQueueSubmit or queuePendingSubmission failed) + builder.OnQueueSubmissionAborted(usedFence); + } + + // Since submission was aborted, the created fence must be destroyed when garbage is polled, + // and vkGetFenceStatus should NOT be polled. + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).Times(0); + EXPECT_CALL(mMockDispatch, vkDestroyFence(mDevice, createdFence, nullptr)).Times(1); + + tracker.PollAndProcessGarbage(); +} + +TEST_F(DeviceOpTrackerTest, OnQueueSubmissionAbortedGuestFenceDoesNotDestroy) { + VkFence guestFence = reinterpret_cast(0x5678'0000); + + DeviceOpTracker tracker(mDevice, &mDispatch); + { + DeviceOpBuilder builder(tracker); + // Guest provided a fence, so CreateFenceForOp() is not called. + // Simulate submission failure + builder.OnQueueSubmissionAborted(guestFence); + } + + // The guest fence is not owned by the tracker, so vkDestroyFence must not be called. + EXPECT_CALL(mMockDispatch, vkDestroyFence(_, _, _)).Times(0); + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).Times(0); + + tracker.PollAndProcessGarbage(); +} + +TEST_F(DeviceOpTrackerTest, OnQueueSubmissionAbortedNullFence) { + DeviceOpTracker tracker(mDevice, &mDispatch); + { + DeviceOpBuilder builder(tracker); + // Simulate submission failure with null fence + builder.OnQueueSubmissionAborted(VK_NULL_HANDLE); + } + + EXPECT_CALL(mMockDispatch, vkDestroyFence(_, _, _)).Times(0); + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).Times(0); + + tracker.PollAndProcessGarbage(); +} + +TEST_F(DeviceOpTrackerTest, OnQueueSubmittedWithFencePollsAndDestroysCreatedFence) { + VkFence createdFence = reinterpret_cast(0x1234'0000); + EXPECT_CALL(mMockDispatch, vkCreateFence(mDevice, _, _, _)).Times(1); + + DeviceOpTracker tracker(mDevice, &mDispatch); + DeviceOpWaitable waitable; + { + DeviceOpBuilder builder(tracker); + VkFence usedFence = builder.CreateFenceForOp(); + waitable = builder.OnQueueSubmittedWithFence(usedFence); + } + + // 1st poll: fence not ready yet + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(mDevice, createdFence)) + .WillOnce(Return(VK_NOT_READY)); + EXPECT_CALL(mMockDispatch, vkDestroyFence(_, _, _)).Times(0); + tracker.PollAndProcessGarbage(); + EXPECT_FALSE(IsDone(waitable)); + + // 2nd poll: fence ready -> should destroy created fence and mark waitable done + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(mDevice, createdFence)) + .WillOnce(Return(VK_SUCCESS)); + EXPECT_CALL(mMockDispatch, vkDestroyFence(mDevice, createdFence, nullptr)).Times(1); + tracker.PollAndProcessGarbage(); + EXPECT_TRUE(IsDone(waitable)); +} + +TEST_F(DeviceOpTrackerDeathTest, OnQueueSubmissionAbortedMismatchedFence) { + VkFence wrongFence = reinterpret_cast(0x9999'0000); + + ASSERT_DEATH( + { + DeviceOpTracker tracker(mDevice, &mDispatch); + DeviceOpBuilder builder(tracker); + builder.CreateFenceForOp(); + builder.OnQueueSubmissionAborted(wrongFence); + }, + MatchesStdRegex(".*Invalid usage.*")); +} + +TEST_F(DeviceOpTrackerDeathTest, UnfinishedBuilderTriggersFatal) { + ASSERT_DEATH( + { + DeviceOpTracker tracker(mDevice, &mDispatch); + DeviceOpBuilder builder(tracker); + builder.CreateFenceForOp(); + // Neither OnQueueSubmittedWithFence nor OnQueueSubmissionAborted is called + }, + MatchesStdRegex(".*Invalid usage.*")); +} + +} // namespace +} // namespace vk +} // namespace host +} // namespace gfxstream diff --git a/host/vulkan/display_vk.cpp b/host/vulkan/display_vk.cpp index 2a81785ff..f1a7b4ae5 100644 --- a/host/vulkan/display_vk.cpp +++ b/host/vulkan/display_vk.cpp @@ -742,7 +742,10 @@ DisplayVk::PostResult DisplayVk::postImpl(const Post& postCmd) { } } - m_compositorVk->drawImage(drawParams, sourceImageInfoVk->imageView); + if (drawParams.displayFrame.right > drawParams.displayFrame.left && + drawParams.displayFrame.bottom > drawParams.displayFrame.top) { + m_compositorVk->drawImage(drawParams, sourceImageInfoVk->imageView); + } // Draw Mask only if mask is allowed (single display mode) if (i == 0 && m_compositorVk->hasScreenMask() && !disableMask) { diff --git a/host/vulkan/emulated_textures/testing/ComputePipelineRestoration_integrationtest.cpp b/host/vulkan/emulated_textures/testing/ComputePipelineRestoration_integrationtest.cpp index 78af6094c..35b026341 100644 --- a/host/vulkan/emulated_textures/testing/ComputePipelineRestoration_integrationtest.cpp +++ b/host/vulkan/emulated_textures/testing/ComputePipelineRestoration_integrationtest.cpp @@ -46,8 +46,7 @@ class ComputePipelineRestorationTest : public ::testing::Test { vkTest = std::make_unique(); vkTest->failOnValidationErrors(false); vkTest->initialize( - {.astcLdrEmulationMode = AstcEmulationMode::Gpu, - .appInfo = VkApplicationInfo{.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, + {.appInfo = VkApplicationInfo{.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, .pApplicationName = "pipeline_restoration_test", .pEngineName = "pipeline_restoration_test", .apiVersion = VK_API_VERSION_1_1}, diff --git a/host/vulkan/meson.build b/host/vulkan/meson.build index 2ea154a65..522ca0d05 100644 --- a/host/vulkan/meson.build +++ b/host/vulkan/meson.build @@ -34,6 +34,7 @@ files_lib_vulkan_server = files( 'vk_format_utils.cpp', 'vk_reconstruction.cpp', 'vk_utils.cpp', + 'vk_vvl_configuration.cpp', 'vulkan_boxed_handles.cpp', 'vulkan_dispatch.cpp', 'vulkan_handle_mapping.cpp', @@ -73,6 +74,7 @@ lib_vulkan_server = static_library( inc_cereal_common, inc_cereal, inc_common_base, + inc_common_build_info, inc_common_logging, inc_common_utils, inc_gl_openglesdispatch, @@ -98,6 +100,7 @@ lib_vulkan_server = static_library( ], link_with: [ lib_common_base, + lib_common_build_info, lib_common_logging, lib_emulated_textures, lib_host_common, diff --git a/host/vulkan/post_worker_vk.cpp b/host/vulkan/post_worker_vk.cpp index 4cd71d147..a79457158 100644 --- a/host/vulkan/post_worker_vk.cpp +++ b/host/vulkan/post_worker_vk.cpp @@ -57,6 +57,7 @@ std::shared_future PostWorkerVk::postImpl( } std::vector> borrowedImages; + std::vector colorBufferRefs; DisplayVk::Post postCmd; auto addPostImage = [&](IColorBuffer* colorBuffer, int32_t x, int32_t y, int32_t w, int32_t h, @@ -159,10 +160,15 @@ std::shared_future PostWorkerVk::postImpl( continue; } - IColorBuffer* currentCb = - currentDisplayId == 0 - ? cb - : m_globalState->findColorBuffer(currentDisplayColorBufferHandle).get(); + IColorBuffer* currentCb = nullptr; + if (currentDisplayId == 0) { + currentCb = cb; + } else { + if (auto ref = m_globalState->findColorBuffer(currentDisplayColorBufferHandle)) { + currentCb = ref.get(); + colorBufferRefs.push_back(std::move(ref)); + } + } if (!currentCb) { continue; } diff --git a/host/vulkan/testing/VulkanTestHelper.cpp b/host/vulkan/testing/VulkanTestHelper.cpp index 63457e81a..8a3affbff 100644 --- a/host/vulkan/testing/VulkanTestHelper.cpp +++ b/host/vulkan/testing/VulkanTestHelper.cpp @@ -41,6 +41,7 @@ gfxstream::host::FeatureSet getGfxstreamFeatures() { gfxstream::host::FeatureSet features; // Enable so that we can have VK_MEMORY_PROPERTY_HOST_COHERENT_BIT features.GlDirectMem.setEnabled(true); + features.VulkanAstcEmulation.setEnabled(true); return features; } @@ -92,9 +93,7 @@ VulkanTestHelper::~VulkanTestHelper() { } void VulkanTestHelper::initialize(const InitializationOptions& options) { - mVkEmu->initFeatures(VkEmulation::Features{ - .astcLdrEmulationMode = options.astcLdrEmulationMode, - }); + mVkEmu->initFeatures(VkEmulation::Features{}); // Check that the validation layer is present const char* validationLayer = "VK_LAYER_KHRONOS_validation"; diff --git a/host/vulkan/testing/VulkanTestHelper.h b/host/vulkan/testing/VulkanTestHelper.h index 38b218c05..b92195298 100644 --- a/host/vulkan/testing/VulkanTestHelper.h +++ b/host/vulkan/testing/VulkanTestHelper.h @@ -48,7 +48,6 @@ class VulkanTestHelper { // Optional parameters for the `initialize()` function struct InitializationOptions { - AstcEmulationMode astcLdrEmulationMode; std::optional appInfo; VkPhysicalDeviceFeatures deviceFeatures; std::vector enabledExtensions; // enabled extensions for vkCreateInstance diff --git a/host/vulkan/vk_android_native_buffer_operations.cpp b/host/vulkan/vk_android_native_buffer_operations.cpp index 16f477caf..51923e3f5 100644 --- a/host/vulkan/vk_android_native_buffer_operations.cpp +++ b/host/vulkan/vk_android_native_buffer_operations.cpp @@ -193,8 +193,9 @@ std::unique_ptr AndroidNativeBufferInfo::create( return nullptr; } - // Update create flags to match the color buffer imported + // Update create flags and tiling to match the color buffer imported createImageCi.flags = importedColorBufferInfo.imageCreateInfoShallow.flags; + createImageCi.tiling = importedColorBufferInfo.imageCreateInfoShallow.tiling; const auto& importedColorBufferMemoryInfo = importedColorBufferInfo.memory; diff --git a/host/vulkan/vk_common_operations.cpp b/host/vulkan/vk_common_operations.cpp index 7ea71efa2..be3382185 100644 --- a/host/vulkan/vk_common_operations.cpp +++ b/host/vulkan/vk_common_operations.cpp @@ -784,6 +784,10 @@ std::unique_ptr VkEmulation::create(VulkanDispatch* gvk, emulation->m_globalState = globalState; emulation->mGvk = gvk; emulation->setFeatures(features); + auto vvlConfig = VVLConfiguration::parse(features); + if (vvlConfig.getBehavior() != VVLBehavior::None) { + emulation->mVVLConfig.emplace(std::move(vvlConfig)); + } std::vector getPhysicalDeviceProperties2InstanceExtNames = { VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, @@ -1693,10 +1697,6 @@ void VkEmulation::initFeatures(Features features) { GFXSTREAM_INFO(" useVulkanNativeSwapchain: %s", features.useVulkanNativeSwapchain ? "true" : "false"); GFXSTREAM_INFO(" enable guestRenderDoc: %s", features.guestRenderDoc ? "true" : "false"); - GFXSTREAM_INFO(" ASTC LDR emulation mode: %s", - string_AstcEmulationMode(features.astcLdrEmulationMode)); - GFXSTREAM_INFO(" enable ETC2 emulation: %s", - features.enableEtc2Emulation ? "true" : "false"); GFXSTREAM_INFO(" enable Ycbcr emulation: %s", features.enableYcbcrEmulation ? "true" : "false"); GFXSTREAM_INFO(" guestVulkanOnly: %s", features.guestVulkanOnly ? "true" : "false"); @@ -1714,8 +1714,6 @@ void VkEmulation::initFeatures(Features features) { mUseDeferredCommands = features.deferredCommands; mUseCreateResourcesWithRequirements = features.createResourceWithRequirements; mGuestRenderDoc = std::move(features.guestRenderDoc); - mAstcLdrEmulationMode = features.astcLdrEmulationMode; - mEnableEtc2Emulation = features.enableEtc2Emulation; mEnableYcbcrEmulation = features.enableYcbcrEmulation; mGuestVulkanOnly = features.guestVulkanOnly; mUseDedicatedAllocations = features.useDedicatedAllocations; @@ -1767,6 +1765,14 @@ void VkEmulation::initFeatures(Features features) { VkEmulation::~VkEmulation() { std::lock_guard lock(mMutex); +#ifdef __ANDROID__ + // Nothing claimed these before teardown; release the extra reference each was stashed with. + for (auto& [key, ahb] : mPendingDeferredLayoutAhbs) { + AHardwareBuffer_release(ahb); + } + mPendingDeferredLayoutAhbs.clear(); +#endif + mCompositorVk.reset(); mDisplayVk.reset(); mUdmabufCreator.reset(); @@ -1810,6 +1816,15 @@ bool VkEmulation::createResourcesWithRequirementsEnabled() const { return mUseCreateResourcesWithRequirements; } +std::unique_ptr VkEmulation::createVVLContext( + const std::string& appName, const std::string& engineName, + VkDebugUtilsMessengerCreateInfoEXT* outCreateInfo) const { + if (!mVVLConfig.has_value()) { + return nullptr; + } + return mVVLConfig->createDebugContext(appName, engineName, outCreateInfo); +} + bool VkEmulation::supportsGetPhysicalDeviceProperties2() const { return mInstanceSupportsGetPhysicalDeviceProperties2; } @@ -1882,6 +1897,10 @@ const gfxstream::host::FeatureSet& VkEmulation::getFeatures() const { return mFe void VkEmulation::setFeatures(const gfxstream::host::FeatureSet& features) { mFeatures = features; + mAstcLdrEmulationMode = mFeatures.VulkanAstcEmulation.enabled() + ? AstcEmulationMode::Gpu + : AstcEmulationMode::Disabled; + mEnableEtc2Emulation = mFeatures.VulkanEtc2Emulation.enabled(); // Some features may require changes based on other features, system and drivers @@ -2062,9 +2081,10 @@ MTLResource_id VkEmulation::getMtlResourceFromVkDeviceMemory(VulkanDispatch* vk, #endif #ifdef __ANDROID__ -// Allocate an AHardwareBuffer matching the given image's format, extent and usage. -// Returns nullptr on failure (caller falls back to the non-AHB allocation path). -static AHardwareBuffer* allocAhb(const VkImageCreateInfo* imageCreateInfo) { +// Derives the AHB shape (format, usage, extent) that allocAhb() would allocate for this image, +// without allocating anything. Shared with the deferred-layout pending-AHB pool so a probe AHB +// and a ColorBuffer's own AHB request can be matched without ever calling allocAhb() twice. +AhbShapeKey ComputeAhbShapeKey(const VkImageCreateInfo* imageCreateInfo) { // Map VkFormat to the corresponding AHB format — must match to avoid tiling mismatch. uint32_t ahbFormat; switch (imageCreateInfo->format) { @@ -2099,12 +2119,25 @@ static AHardwareBuffer* allocAhb(const VkImageCreateInfo* imageCreateInfo) { ahbUsage = AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER | AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; } - AHardwareBuffer_Desc desc = { + return AhbShapeKey{ .width = imageCreateInfo->extent.width, .height = imageCreateInfo->extent.height, + .ahbFormat = ahbFormat, + .ahbUsage = ahbUsage, + }; +} + +// Allocate an AHardwareBuffer matching the given image's format, extent and usage. +// Returns nullptr on failure (caller falls back to the non-AHB allocation path). +AHardwareBuffer* allocAhb(const VkImageCreateInfo* imageCreateInfo) { + const AhbShapeKey shape = ComputeAhbShapeKey(imageCreateInfo); + + AHardwareBuffer_Desc desc = { + .width = shape.width, + .height = shape.height, .layers = 1, - .format = ahbFormat, - .usage = ahbUsage, + .format = shape.ahbFormat, + .usage = shape.ahbUsage, }; AHardwareBuffer* ahb = nullptr; @@ -2116,6 +2149,37 @@ static AHardwareBuffer* allocAhb(const VkImageCreateInfo* imageCreateInfo) { } return ahb; } + +void VkEmulation::stashPendingDeferredLayoutAhb(const VkImageCreateInfo* imageCreateInfo, + AHardwareBuffer* ahb) { + AHardwareBuffer_acquire(ahb); + std::lock_guard lock(mMutex); + mPendingDeferredLayoutAhbs.emplace(ComputeAhbShapeKey(imageCreateInfo), ahb); +} + +void VkEmulation::unstashPendingDeferredLayoutAhb(const VkImageCreateInfo* imageCreateInfo, + AHardwareBuffer* ahb) { + std::lock_guard lock(mMutex); + auto range = mPendingDeferredLayoutAhbs.equal_range(ComputeAhbShapeKey(imageCreateInfo)); + for (auto it = range.first; it != range.second; ++it) { + if (it->second == ahb) { + mPendingDeferredLayoutAhbs.erase(it); + AHardwareBuffer_release(ahb); + return; + } + } +} + +AHardwareBuffer* VkEmulation::takePendingDeferredLayoutAhbLocked( + const VkImageCreateInfo* imageCreateInfo) { + auto it = mPendingDeferredLayoutAhbs.find(ComputeAhbShapeKey(imageCreateInfo)); + if (it == mPendingDeferredLayoutAhbs.end()) { + return nullptr; + } + AHardwareBuffer* ahb = it->second; + mPendingDeferredLayoutAhbs.erase(it); + return ahb; +} #endif // Precondition: sVkEmulation has valid device support info @@ -2297,19 +2361,21 @@ bool VkEmulation::allocExternalMemory(VulkanDispatch* vk, VkEmulation::ExternalM // Check that there is a memoryType that covers both the VkImage and the // screenBuffer memory requirements - const uint32_t combinedMemoryTypeBits = + uint32_t combinedMemoryTypeBits = screenBufferProps.memoryTypeBits & cbInfoPtr->imageMemReqs.memoryTypeBits; if (!combinedMemoryTypeBits) { - GFXSTREAM_ERROR( - "There is no common memory type for both screenBuffer requirements (0x%x) " - "and VkImage requirements (0x%x) for ColorBuffer: %d", + GFXSTREAM_WARNING( + "WARNING -- There is no common memory type for both screenBuffer " + "requirements (0x%x) " + "and VkImage requirements (0x%x) for ColorBuffer: %d. Defaulting to " + "selection based of the Screen Buffer's memoryTypeBits on their own.", screenBufferProps.memoryTypeBits, cbInfoPtr->imageMemReqs.memoryTypeBits, cbInfoPtr->handle); - return false; + combinedMemoryTypeBits = screenBufferProps.memoryTypeBits; } // Update the memory type: - info->typeIndex = getValidMemoryTypeIndex(screenBufferProps.memoryTypeBits, - cbInfoPtr->memoryProperty); + info->typeIndex = + getValidMemoryTypeIndex(combinedMemoryTypeBits, cbInfoPtr->memoryProperty); allocInfo.memoryTypeIndex = info->typeIndex; info->qnxScreenStreamHandle = screenStreamBuffer->first; @@ -2341,7 +2407,19 @@ bool VkEmulation::allocExternalMemory(VulkanDispatch* vk, VkEmulation::ExternalM if (colorBufferInfo) { auto cbInfoPtr = *colorBufferInfo; - AHardwareBuffer* ahb = allocAhb(&cbInfoPtr->imageCreateInfoShallow); + // A same-shaped image that hit a deferred layout query earlier (see + // on_vkCreateImage) may have left its probe AHB here. Only probes not already + // imported as their own image's backing memory are still in the pool, so + // adopting one cannot alias -- see unstashPendingDeferredLayoutAhb(). + AHardwareBuffer* ahb = + takePendingDeferredLayoutAhbLocked(&cbInfoPtr->imageCreateInfoShallow); + if (ahb) { + GFXSTREAM_INFO("DL-AHB adopted pending ahb=%p for ColorBuffer %u (%ux%u)", + (void*)ahb, cbInfoPtr->handle, cbInfoPtr->width, + cbInfoPtr->height); + } else { + ahb = allocAhb(&cbInfoPtr->imageCreateInfoShallow); + } if (!ahb) { GFXSTREAM_WARNING( "Falling back to non-exportable allocation for ColorBuffer %u (%ux%u).", @@ -2622,7 +2700,18 @@ void VkEmulation::freeExternalMemoryLocked(VulkanDispatch* vk, #ifdef _WIN32 CloseHandle(static_cast(reinterpret_cast(info->handleInfo->handle))); #elif defined(__ANDROID__) - AHardwareBuffer_release(static_cast(reinterpret_cast(info->handleInfo->handle))); + // An Android host is not necessarily in AndroidAHB mode, so the handle has to be released + // according to its own type rather than the platform's default one. + switch (info->handleInfo->streamHandleType) { + case STREAM_HANDLE_TYPE_MEM_OPAQUE_FD: + case STREAM_HANDLE_TYPE_MEM_DMABUF: + close(static_cast(info->handleInfo->handle)); + break; + default: + AHardwareBuffer_release( + static_cast(reinterpret_cast(info->handleInfo->handle))); + break; + } #else switch (info->handleInfo->streamHandleType) { case STREAM_HANDLE_TYPE_MEM_OPAQUE_FD: @@ -3015,6 +3104,7 @@ bool VkEmulation::createVkColorBufferLocked(uint32_t width, uint32_t height, if (!internalFormatOpt) { const std::string formatString = ToString(format); GFXSTREAM_ERROR("Unsupported format %s.", formatString.c_str()); + return false; } const GfxstreamFormat internalFormat = *internalFormatOpt; @@ -3105,7 +3195,12 @@ bool VkEmulation::createVkColorBufferLocked(uint32_t width, uint32_t height, VkImageMemoryRequirementsInfo2 info{VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, nullptr, infoPtr->image}; vk->vkGetImageMemoryRequirements2KHR(mDevice, &info, &reqs); - useDedicated = dedicated_reqs.requiresDedicatedAllocation; + // Also honor prefersDedicatedAllocation: ColorBuffer memory is exported and bound again + // in the guests' VkDevices. On NVIDIA (Windows) a few percent of non-dedicated + // ColorBuffers read back as all zero through this VkDevice while other guest devices + // see the rendered content. + useDedicated = dedicated_reqs.requiresDedicatedAllocation || + dedicated_reqs.prefersDedicatedAllocation; infoPtr->imageMemReqs = reqs.memoryRequirements; } else { vk->vkGetImageMemoryRequirements(mDevice, infoPtr->image, &infoPtr->imageMemReqs); @@ -3377,6 +3472,14 @@ bool VkEmulation::readColorBufferToBytes(uint32_t colorBufferHandle, std::vector return false; } + if (transferInfo.stagingBufferCopySize > mStaging.mAllocationSize) { + GFXSTREAM_ERROR("Failed to read from ColorBuffer:%d, transfer size %" PRIu64 + " too large for staging buffer size:%" PRIu64 ".", + colorBufferHandle, transferInfo.stagingBufferCopySize, + mStaging.mAllocationSize); + return false; + } + bytes->resize(transferInfo.stagingBufferCopySize); result = readColorBufferToBytesLocked( @@ -3627,13 +3730,22 @@ bool VkEmulation::readColorBufferPixelsScaled( return false; } - if (!mCompositorVk){ + if (mCompositorVk && !mGpuScaledReadbackFailed) { + if (readColorBufferPixelsScaledGpu(colorBufferHandle, pixelsWidth, pixelsHeight, + pixelsRotation, rect, pixelsFormat, outPixels, + colorTransform)) { + return true; + } + GFXSTREAM_WARNING( + "%s: Failed to readback ColorBuffer:%u via GPU, disabling GPU scaled readback and falling back to CPU.", + __func__, colorBufferHandle); + mGpuScaledReadbackFailed = true; + } else if (!mCompositorVk) { GFXSTREAM_VERBOSE("CompositorVk not initialized. Executing image processing on the CPU..."); - return readColorBufferPixelsScaledCpu(colorBufferHandle, pixelsWidth, pixelsHeight, - pixelsRotation, rect, pixelsFormat, outPixels, colorTransform); } - return readColorBufferPixelsScaledGpu(colorBufferHandle, pixelsWidth, pixelsHeight, - pixelsRotation, rect, pixelsFormat, outPixels, colorTransform); + return readColorBufferPixelsScaledCpu(colorBufferHandle, pixelsWidth, pixelsHeight, + pixelsRotation, rect, pixelsFormat, outPixels, + colorTransform); } bool VkEmulation::readColorBufferPixelsScaledCpu(uint32_t colorBufferHandle, int pixelsWidth, @@ -3782,13 +3894,25 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int return false; } + if (!sourceCbInfo->image || !sourceCbInfo->imageView) { + GFXSTREAM_ERROR("Failed to read from ColorBuffer:%d, invalid image or imageView.", + colorBufferHandle); + return false; + } + + if (!mStaging.mMappedPtr) { + GFXSTREAM_ERROR("Failed to read from ColorBuffer:%d, staging buffer not mapped.", + colorBufferHandle); + return false; + } + // Check if we need to stage to GPU const int outBpp = (pixelsFormat == GfxstreamFormat::R8G8B8_UNORM) ? 3 : 4; const uint64_t outPixelsSize = (uint64_t)outBpp * (uint64_t)pixelsWidth * (uint64_t)pixelsHeight; const int readbackBpp = 4; int readbackWidth = sourceCbInfo->width; int readbackHeight = sourceCbInfo->height; - const uint64_t readbackPixelsSize = readbackBpp * readbackWidth * readbackHeight; + const uint64_t readbackPixelsSize = (uint64_t)readbackBpp * readbackWidth * readbackHeight; // Check simple readback case - no rotation, no resize, same format - don't submit if (readbackBpp == outBpp && pixelsRotation == GFXSTREAM_ROTATION_0 && readbackPixelsSize == outPixelsSize) { @@ -3815,6 +3939,17 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int pixelsHeight, outPixels); } + // Verify the staging buffer is large enough for the scaled readback. + const VkDeviceSize requiredStagingSize = + static_cast(pixelsWidth) * static_cast(pixelsHeight) * readbackBpp; + if (requiredStagingSize > mStaging.mAllocationSize) { + GFXSTREAM_ERROR( + "%s: Failed to read ColorBuffer:%u, transfer size %" PRIu64 + " too large for staging buffer size:%" PRIu64 ".", + __func__, colorBufferHandle, requiredStagingSize, mStaging.mAllocationSize); + return false; + } + // 1. Create temporary VkImage, VkImageView, VkRenderPass, VkFramebuffer. VkImage tempImage = VK_NULL_HANDLE; VkDeviceMemory tempImageMemory = VK_NULL_HANDLE; @@ -3822,6 +3957,29 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int VkRenderPass tempRenderPass = VK_NULL_HANDLE; VkFramebuffer tempFramebuffer = VK_NULL_HANDLE; + auto cleanupTemporaryResources = [&]() { + if (tempFramebuffer != VK_NULL_HANDLE) { + mDvk->vkDestroyFramebuffer(mDevice, tempFramebuffer, nullptr); + tempFramebuffer = VK_NULL_HANDLE; + } + if (tempRenderPass != VK_NULL_HANDLE) { + mDvk->vkDestroyRenderPass(mDevice, tempRenderPass, nullptr); + tempRenderPass = VK_NULL_HANDLE; + } + if (tempImageView != VK_NULL_HANDLE) { + mDvk->vkDestroyImageView(mDevice, tempImageView, nullptr); + tempImageView = VK_NULL_HANDLE; + } + if (tempImage != VK_NULL_HANDLE) { + mDvk->vkDestroyImage(mDevice, tempImage, nullptr); + tempImage = VK_NULL_HANDLE; + } + if (tempImageMemory != VK_NULL_HANDLE) { + mDvk->vkFreeMemory(mDevice, tempImageMemory, nullptr); + tempImageMemory = VK_NULL_HANDLE; + } + }; + // Image creation info VkImageCreateInfo imageCreateInfo = { .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, @@ -3836,7 +3994,12 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int .sharingMode = VK_SHARING_MODE_EXCLUSIVE, .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED, }; - VK_CHECK(mDvk->vkCreateImage(mDevice, &imageCreateInfo, nullptr, &tempImage)); + VkResult vkRes = mDvk->vkCreateImage(mDevice, &imageCreateInfo, nullptr, &tempImage); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkCreateImage failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } mDebugUtilsHelper.addDebugLabel(tempImage, "readColorBufferPixelsScaledGpu.tempImage"); // Image memory allocation @@ -3849,8 +4012,18 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int .allocationSize = memReqs.size, .memoryTypeIndex = memoryTypeIndex, }; - VK_CHECK(mDvk->vkAllocateMemory(mDevice, &memAllocInfo, nullptr, &tempImageMemory)); - VK_CHECK(mDvk->vkBindImageMemory(mDevice, tempImage, tempImageMemory, 0)); + vkRes = mDvk->vkAllocateMemory(mDevice, &memAllocInfo, nullptr, &tempImageMemory); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkAllocateMemory failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } + vkRes = mDvk->vkBindImageMemory(mDevice, tempImage, tempImageMemory, 0); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkBindImageMemory failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } // Image View creation VkImageViewCreateInfo imageViewCreateInfo = { @@ -3860,7 +4033,12 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int .format = VK_FORMAT_R8G8B8A8_UNORM, .subresourceRange = {VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1}, }; - VK_CHECK(mDvk->vkCreateImageView(mDevice, &imageViewCreateInfo, nullptr, &tempImageView)); + vkRes = mDvk->vkCreateImageView(mDevice, &imageViewCreateInfo, nullptr, &tempImageView); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkCreateImageView failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } mDebugUtilsHelper.addDebugLabel(tempImageView, "readColorBufferPixelsScaledGpu.tempImageView"); // Render Pass creation @@ -3883,13 +4061,23 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int .colorAttachmentCount = 1, .pColorAttachments = &colorAttachmentRef, }; - VkSubpassDependency dependency = { - .srcSubpass = VK_SUBPASS_EXTERNAL, - .dstSubpass = 0, - .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, - .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, - .srcAccessMask = 0, - .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + VkSubpassDependency dependencies[2] = { + { + .srcSubpass = VK_SUBPASS_EXTERNAL, + .dstSubpass = 0, + .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .srcAccessMask = 0, + .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + }, + { + .srcSubpass = 0, + .dstSubpass = VK_SUBPASS_EXTERNAL, + .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .dstStageMask = VK_PIPELINE_STAGE_TRANSFER_BIT, + .srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + .dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT, + }, }; VkRenderPassCreateInfo renderPassInfo = { .sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, @@ -3897,10 +4085,15 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int .pAttachments = &colorAttachment, .subpassCount = 1, .pSubpasses = &subpass, - .dependencyCount = 1, - .pDependencies = &dependency, + .dependencyCount = 2, + .pDependencies = dependencies, }; - VK_CHECK(mDvk->vkCreateRenderPass(mDevice, &renderPassInfo, nullptr, &tempRenderPass)); + vkRes = mDvk->vkCreateRenderPass(mDevice, &renderPassInfo, nullptr, &tempRenderPass); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkCreateRenderPass failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } mDebugUtilsHelper.addDebugLabel(tempRenderPass, "readColorBufferPixelsScaledGpu.tempRenderPass"); // Framebuffer creation @@ -3913,30 +4106,68 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int .height = (uint32_t)pixelsHeight, .layers = 1, }; - VK_CHECK(mDvk->vkCreateFramebuffer(mDevice, &framebufferInfo, nullptr, &tempFramebuffer)); + vkRes = mDvk->vkCreateFramebuffer(mDevice, &framebufferInfo, nullptr, &tempFramebuffer); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkCreateFramebuffer failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } mDebugUtilsHelper.addDebugLabel(tempFramebuffer, "readColorBufferPixelsScaledGpu.tempFramebuffer"); const VkCommandBufferBeginInfo beginInfo = { .sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, .flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, }; - VK_CHECK(mDvk->vkBeginCommandBuffer(mCommandBuffer, &beginInfo)); + vkRes = mDvk->vkBeginCommandBuffer(mCommandBuffer, &beginInfo); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkBeginCommandBuffer failed with %s", __func__, string_VkResult(vkRes)); + cleanupTemporaryResources(); + return false; + } // Acquire ImmediateModeResources CompositorVkBase::ImmediateModeResources* imResources = mCompositorVk->acquireImmediateModeResources(); if (!imResources) { GFXSTREAM_ERROR("Failed to acquire immediate mode resources."); - // Cleanup before returning VK_CHECK(mDvk->vkEndCommandBuffer(mCommandBuffer)); - mDvk->vkDestroyFramebuffer(mDevice, tempFramebuffer, nullptr); - mDvk->vkDestroyRenderPass(mDevice, tempRenderPass, nullptr); - mDvk->vkDestroyImageView(mDevice, tempImageView, nullptr); - mDvk->vkDestroyImage(mDevice, tempImage, nullptr); - mDvk->vkFreeMemory(mDevice, tempImageMemory, nullptr); + cleanupTemporaryResources(); return false; } + // Transition sourceCbInfo->image to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL + if (sourceCbInfo->currentLayout == VK_IMAGE_LAYOUT_UNDEFINED) { + sourceCbInfo->currentLayout = adjustImageLayout(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR); + } + const VkImageLayout origSourceLayout = sourceCbInfo->currentLayout; + const VkImageAspectFlags sourceAspectMask = + getFormatAspects(sourceCbInfo->imageCreateInfoShallow.format); + + if (origSourceLayout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { + const VkImageMemoryBarrier toShaderReadBarrier = { + .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, + .pNext = nullptr, + .srcAccessMask = VK_ACCESS_MEMORY_WRITE_BIT, + .dstAccessMask = VK_ACCESS_SHADER_READ_BIT, + .oldLayout = origSourceLayout, + .newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, + .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, + .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, + .image = sourceCbInfo->image, + .subresourceRange = + { + .aspectMask = sourceAspectMask, + .baseMipLevel = 0, + .levelCount = 1, + .baseArrayLayer = 0, + .layerCount = 1, + }, + }; + mDvk->vkCmdPipelineBarrier(mCommandBuffer, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, 0, nullptr, 0, + nullptr, 1, &toShaderReadBarrier); + } + // 2. Call m_compositorVk->drawImage for the transformation. CompositorVk::ImageDrawParams drawParams = { .commandBuffer = mCommandBuffer, @@ -3952,6 +4183,33 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int }; mCompositorVk->drawImage(drawParams, sourceCbInfo->imageView); + // Restore sourceCbInfo->image back to its original layout + if (origSourceLayout != VK_IMAGE_LAYOUT_UNDEFINED && + origSourceLayout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { + const VkImageMemoryBarrier toOrigLayoutBarrier = { + .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, + .pNext = nullptr, + .srcAccessMask = VK_ACCESS_SHADER_READ_BIT, + .dstAccessMask = VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT, + .oldLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, + .newLayout = origSourceLayout, + .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, + .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, + .image = sourceCbInfo->image, + .subresourceRange = + { + .aspectMask = sourceAspectMask, + .baseMipLevel = 0, + .levelCount = 1, + .baseArrayLayer = 0, + .layerCount = 1, + }, + }; + mDvk->vkCmdPipelineBarrier(mCommandBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 0, nullptr, 0, + nullptr, 1, &toOrigLayoutBarrier); + } + // 3. Perform GPU-side readback from tempImage to staging buffer. mDebugUtilsHelper.cmdBeginDebugLabel(mCommandBuffer, "readColorBufferPixelsScaledGpu_Readback"); @@ -3973,7 +4231,13 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int mDebugUtilsHelper.cmdEndDebugLabel(mCommandBuffer); - VK_CHECK(mDvk->vkEndCommandBuffer(mCommandBuffer)); + vkRes = mDvk->vkEndCommandBuffer(mCommandBuffer); + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkEndCommandBuffer failed with %s", __func__, string_VkResult(vkRes)); + mCompositorVk->releaseImmediateModeResources(imResources); + cleanupTemporaryResources(); + return false; + } // Submit command buffer and wait const VkSubmitInfo submitInfo = { @@ -3983,11 +4247,34 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int }; { gfxstream::base::AutoLock queueLock(*mQueueLock); - VK_CHECK(mDvk->vkQueueSubmit(mQueue, 1, &submitInfo, mCommandBufferFence)); + vkRes = mDvk->vkQueueSubmit(mQueue, 1, &submitInfo, mCommandBufferFence); + } + if (vkRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkQueueSubmit failed with %s", __func__, string_VkResult(vkRes)); + mCompositorVk->releaseImmediateModeResources(imResources); + cleanupTemporaryResources(); + return false; } + static constexpr uint64_t ANB_MAX_WAIT_NS = 5ULL * 1000ULL * 1000ULL * 1000ULL; - VK_CHECK(mDvk->vkWaitForFences(mDevice, 1, &mCommandBufferFence, VK_TRUE, ANB_MAX_WAIT_NS)); - VK_CHECK(mDvk->vkResetFences(mDevice, 1, &mCommandBufferFence)); + VkResult waitRes = + mDvk->vkWaitForFences(mDevice, 1, &mCommandBufferFence, VK_TRUE, ANB_MAX_WAIT_NS); + if (waitRes == VK_TIMEOUT) { + GFXSTREAM_ERROR("%s: vkWaitForFences timed out, retrying...", __func__); + waitRes = + mDvk->vkWaitForFences(mDevice, 1, &mCommandBufferFence, VK_TRUE, ANB_MAX_WAIT_NS * 2); + } + if (waitRes != VK_SUCCESS) { + GFXSTREAM_ERROR("%s: vkWaitForFences failed with %s", __func__, string_VkResult(waitRes)); + mCompositorVk->releaseImmediateModeResources(imResources); + { + gfxstream::base::AutoLock queueLock(*mQueueLock); + mDvk->vkQueueWaitIdle(mQueue); + } + cleanupTemporaryResources(); + return false; + } + mDvk->vkResetFences(mDevice, 1, &mCommandBufferFence); // Release ImmediateModeResources after the fence is signaled. mCompositorVk->releaseImmediateModeResources(imResources); @@ -4003,11 +4290,7 @@ bool VkEmulation::readColorBufferPixelsScaledGpu(uint32_t colorBufferHandle, int } // 5. Cleanup temporary resources - mDvk->vkDestroyFramebuffer(mDevice, tempFramebuffer, nullptr); - mDvk->vkDestroyRenderPass(mDevice, tempRenderPass, nullptr); - mDvk->vkDestroyImageView(mDevice, tempImageView, nullptr); - mDvk->vkDestroyImage(mDevice, tempImage, nullptr); - mDvk->vkFreeMemory(mDevice, tempImageMemory, nullptr); + cleanupTemporaryResources(); const uint8_t* srcPixelsBytes = static_cast(mStaging.mMappedPtr); return readbackFromR8G8B8A8WithFormatChange(srcPixelsBytes, pixelsFormat, pixelsWidth, pixelsHeight, @@ -4035,6 +4318,40 @@ bool VkEmulation::updateColorBufferFromBytes(uint32_t colorBufferHandle, uint32_ return updateColorBufferFromBytesLocked(colorBufferHandle, x, y, w, h, pixels, 0); } +bool VkEmulation::clearColorBuffer(uint32_t colorBufferHandle) { + std::lock_guard lock(mMutex); + + // TODO(b/546537675): optimize this by using vkCmdClearColorImage/vkCmdClearDepthStencilImage + // and support different clear colors for fixed color color buffers in the snapshot + auto colorBufferInfo = gfxstream::base::find(mColorBuffers, colorBufferHandle); + if (!colorBufferInfo) { + GFXSTREAM_ERROR("Failed to update ColorBuffer:%d, not found.", colorBufferHandle); + return false; + } + + // Get TransferInfo to determine the size of the staging buffer and unpack function + const VkFormat creationFormat = colorBufferInfo->imageCreateInfoShallow.format; + TransferInfo transferInfo; + if (!getFormatTransferInfo(creationFormat, colorBufferInfo->imageCreateInfoShallow.extent, + &transferInfo)) { + GFXSTREAM_ERROR("Failed to clear ColorBuffer:%d, unable to get transfer info.", + colorBufferHandle); + return false; + } + + VkDeviceSize dstBufferSize = transferInfo.stagingBufferCopySize; + if (dstBufferSize > mStaging.mAllocationSize) { + GFXSTREAM_ERROR("Failed to clear ColorBuffer:%d, transfer size %" PRIu64 + " too large for staging buffer size:%" PRIu64 ".", + colorBufferHandle, dstBufferSize, mStaging.mAllocationSize); + return false; + } + const std::vector clearData(dstBufferSize, 0); + return updateColorBufferFromBytesLocked( + colorBufferHandle, 0, 0, colorBufferInfo->imageCreateInfoShallow.extent.width, + colorBufferInfo->imageCreateInfoShallow.extent.height, clearData.data(), clearData.size()); +} + static void convertRgbToRgbaPixels(void* dst, const void* src, uint32_t w, uint32_t h) { const size_t pixelCount = w * h; const uint8_t* srcBytes = reinterpret_cast(src); @@ -4064,6 +4381,7 @@ static void convertRgba4ToBGRA4Pixels(void* dst, const void* src, uint32_t w, ui bool VkEmulation::updateColorBufferFromBytesLocked(uint32_t colorBufferHandle, uint32_t x, uint32_t y, uint32_t w, uint32_t h, const void* pixels, size_t inputPixelsSize) { + // TODO(b/546537675): optimize this by using VK_EXT_host_image_copy auto vk = mDvk; auto colorBufferInfo = gfxstream::base::find(mColorBuffers, colorBufferHandle); diff --git a/host/vulkan/vk_common_operations.h b/host/vulkan/vk_common_operations.h index bafab240e..51a4c35b7 100644 --- a/host/vulkan/vk_common_operations.h +++ b/host/vulkan/vk_common_operations.h @@ -13,6 +13,10 @@ // limitations under the License. #pragma once +#ifdef __ANDROID__ +#include +#endif + #include #include @@ -23,6 +27,8 @@ #include #include +#include "vk_vvl_configuration.h" + #include "color_buffer_vk.h" #include "compositor_vk.h" #include "debug_utils_helper.h" @@ -85,6 +91,30 @@ enum class AstcEmulationMode { Gpu, // Decompress ASTC textures on the GPU }; +#ifdef __ANDROID__ +// The AHardwareBuffer_Desc fields that fully determine an AHB's allocation/property-query +// result, derived from a VkImageCreateInfo the same way allocAhb() derives its own AHB. Used to +// match an image against an AHB allocated for a different image of the identical shape. +struct AhbShapeKey { + uint32_t width = 0; + uint32_t height = 0; + uint32_t ahbFormat = 0; + uint64_t ahbUsage = 0; + + bool operator==(const AhbShapeKey& other) const { + return width == other.width && height == other.height && ahbFormat == other.ahbFormat && + ahbUsage == other.ahbUsage; + } +}; +struct AhbShapeKeyHash { + size_t operator()(const AhbShapeKey& key) const { + return (static_cast(key.width) << 48) ^ (static_cast(key.height) << 32) ^ + (static_cast(key.ahbFormat) << 16) ^ static_cast(key.ahbUsage); + } +}; +AhbShapeKey ComputeAhbShapeKey(const VkImageCreateInfo* imageCreateInfo); +#endif + // Global state that holds a global Vulkan instance along with globally // exported memory allocations + images. This is in order to service things // like AndroidHardwareBuffer/FuchsiaImagePipeHandle. Each such allocation is @@ -106,8 +136,6 @@ class VkEmulation { bool useVulkanComposition = false; bool useVulkanNativeSwapchain = false; std::unique_ptr guestRenderDoc = nullptr; - AstcEmulationMode astcLdrEmulationMode = AstcEmulationMode::Disabled; - bool enableEtc2Emulation = false; bool enableYcbcrEmulation = false; bool guestVulkanOnly = false; bool useDedicatedAllocations = false; @@ -159,6 +187,10 @@ class VkEmulation { bool isGuestVulkanOnly() const; + std::unique_ptr createVVLContext( + const std::string& appName, const std::string& engineName, + VkDebugUtilsMessengerCreateInfoEXT* outCreateInfo = nullptr) const; + bool commandBufferCheckpointsEnabled() const; bool supportsSamplerYcbcrConversion() const; @@ -205,6 +237,7 @@ class VkEmulation { void onVkDeviceLost(); VkExternalMemoryHandleTypeFlagBits getDefaultExternalMemoryHandleType(); + void appendExternalMemoryModeDeviceExtensions(std::vector& outDeviceExtensions); ExternalMemory::Mode getExternalMemoryMode() const; bool supportsExternalMemory() { @@ -409,6 +442,7 @@ class VkEmulation { bool updateColorBufferFromBytes(uint32_t colorBufferHandle, const std::vector& bytes); bool updateColorBufferFromBytes(uint32_t colorBufferHandle, uint32_t x, uint32_t y, uint32_t w, uint32_t h, const void* pixels); + bool clearColorBuffer(uint32_t colorBufferHandle); // Data buffer operations bool getBufferAllocationInfo(uint32_t bufferHandle, VkDeviceSize* outSize, @@ -466,6 +500,23 @@ class VkEmulation { uint32_t vulkanInstanceVersion() const; +#ifdef __ANDROID__ + // Stashes an AHB allocated to answer a deferred AHB-external image's zero-size layout query + // (see on_vkCreateImage), so that a same-shaped ColorBuffer's own backing allocation can + // adopt it instead of allocating a second one -- see allocExternalMemory's AndroidAHB case. + // Takes its own reference via AHardwareBuffer_acquire, independent of whatever reference the + // caller (the probing image's own DeferredLayoutInfo) already holds. + void stashPendingDeferredLayoutAhb(const VkImageCreateInfo* imageCreateInfo, + AHardwareBuffer* ahb); + + // Withdraws a previously stashed AHB from the pending pool, releasing the pool's reference. + // Must be called once the probing image imports the AHB as its own backing memory: at that + // point it is in use, and letting a ColorBuffer adopt it would alias two unrelated images + // onto one allocation. No-op if it was already adopted or never stashed. + void unstashPendingDeferredLayoutAhb(const VkImageCreateInfo* imageCreateInfo, + AHardwareBuffer* ahb); +#endif + private: VkEmulation() = default; @@ -707,6 +758,23 @@ class VkEmulation { // memory handles. std::unordered_map mExternalMemories GUARDED_BY(mMutex); +#ifdef __ANDROID__ + // AHBs stashed by stashPendingDeferredLayoutAhb(), each holding its own + // AHardwareBuffer_acquire()'d reference, waiting for a same-shaped ColorBuffer to adopt + // instead of allocating a second AHB (see allocExternalMemory's AndroidAHB case). Any left + // unclaimed are released at VkEmulation teardown. + std::unordered_multimap + mPendingDeferredLayoutAhbs GUARDED_BY(mMutex); + + // Pops one AHB matching imageCreateInfo's shape from mPendingDeferredLayoutAhbs, or nullptr + // if none is pending. Caller already holds mMutex -- NO_THREAD_SAFETY_ANALYSIS rather than + // REQUIRES(mMutex) because its only caller, allocExternalMemory(), predates thread-safety + // annotations itself and isn't annotated, so REQUIRES here would just move the same + // unverifiable-by-the-analyzer assumption one frame up instead of removing it. + AHardwareBuffer* takePendingDeferredLayoutAhbLocked(const VkImageCreateInfo* imageCreateInfo) + NO_THREAD_SAFETY_ANALYSIS; +#endif + // The host keeps a set of occupied guest memory addresses to avoid a // host memory address mapped to guest twice. std::unordered_set mOccupiedGpas GUARDED_BY(mMutex); @@ -731,6 +799,7 @@ class VkEmulation { std::vector> mTransferQueueCommandBufferPool GUARDED_BY(mMutex); std::unique_ptr mCompositorVk; + std::atomic mGpuScaledReadbackFailed = false; // The implementation for Vulkan native swapchain. Only initialized in initVkEmulationFeatures // if useVulkanNativeSwapchain is set. @@ -738,8 +807,15 @@ class VkEmulation { // UdmabufCreator std::unique_ptr mUdmabufCreator; + + std::optional mVVLConfig; }; +#ifdef __ANDROID__ +// Allocates an AHardwareBuffer matching an image's create info. +AHardwareBuffer* allocAhb(const VkImageCreateInfo* imageCreateInfo); +#endif + } // namespace vk } // namespace host } // namespace gfxstream diff --git a/host/vulkan/vk_decoder.cpp b/host/vulkan/vk_decoder.cpp index 9728139e8..736f1ab86 100644 --- a/host/vulkan/vk_decoder.cpp +++ b/host/vulkan/vk_decoder.cpp @@ -1866,8 +1866,17 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, return ptr - (unsigned char*)buf; } sizeLeft -= readStream; - uint8_t* targetRange = hostPtr + offset; - memcpy(targetRange, *readStreamPtrPtr, readStream); + auto memorySize = m_state->getDeviceMemorySize(memory); + if (offset > memorySize || readStream > memorySize - offset) { + GFXSTREAM_ERROR( + "vkFlushMappedMemoryRanges: dropping out-of-bounds guest range " + "[offset %llu, size %llu] for memory size %llu", + (unsigned long long)offset, (unsigned long long)readStream, + (unsigned long long)memorySize); + } else { + uint8_t* targetRange = hostPtr + offset; + memcpy(targetRange, *readStreamPtrPtr, readStream); + } *readStreamPtrPtr += readStream; packetLen += 8 + readStream; } @@ -1946,13 +1955,25 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, auto size = range.size; auto offset = range.offset; auto hostPtr = m_state->getMappedHostPointer(memory); - auto actualSize = - size == VK_WHOLE_SIZE ? m_state->getDeviceMemorySize(memory) : size; + auto memorySize = m_state->getDeviceMemorySize(memory); + auto actualSize = size == VK_WHOLE_SIZE + ? (offset <= memorySize ? memorySize - offset : 0) + : size; uint64_t writeStream = 0; if (!hostPtr) { vkStream->write(&writeStream, sizeof(uint64_t)); continue; }; + if (offset > memorySize || actualSize > memorySize - offset) { + GFXSTREAM_ERROR( + "vkInvalidateMappedMemoryRanges: dropping out-of-bounds guest " + "range " + "[offset %llu, size %llu] for memory size %llu", + (unsigned long long)offset, (unsigned long long)actualSize, + (unsigned long long)memorySize); + vkStream->write(&writeStream, sizeof(uint64_t)); + continue; + } uint8_t* targetRange = hostPtr + offset; writeStream = actualSize; vkStream->write(&writeStream, sizeof(uint64_t)); @@ -3399,14 +3420,12 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkImage image; const VkImageSubresource* pSubresource; VkSubresourceLayout* pLayout; - // Begin non wrapped dispatchable handle unboxing for device; + // Begin global wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); - auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); - // End manual dispatchable handle unboxing for device; uint64_t cgen_var_1; memcpy((uint64_t*)&cgen_var_1, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; @@ -3435,7 +3454,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, (unsigned long long)pSubresource, (unsigned long long)pLayout); } if (CC_LIKELY(vk)) { - vk->vkGetImageSubresourceLayout(unboxed_device, image, pSubresource, pLayout); + m_state->on_vkGetImageSubresourceLayout(&m_pool, snapshotApiCallHandle, device, + image, pSubresource, pLayout); } vkStream->unsetHandleMapping(); if (pLayout) { @@ -5395,12 +5415,14 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; VkPipelineCache pipelineCache; const VkAllocationCallbacks* pAllocator; - // Begin global wrapped dispatchable handle unboxing for device; + // Begin non wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); + auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); + // End manual dispatchable handle unboxing for device; // Begin manual non dispatchable handle destroy unboxing for pipelineCache; VkPipelineCache boxed_pipelineCache_preserve; uint64_t cgen_var_1; @@ -5440,7 +5462,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, &m_pool, snapshotApiCallHandle, packet, packetLen, device, boxed_pipelineCache_preserve, pAllocator); } - delete_VkPipelineCache(boxed_pipelineCache_preserve); + delayed_delete_VkPipelineCache(boxed_pipelineCache_preserve, unboxed_device, + nullptr); vkReadStream->clearPool(); if (m_queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst); @@ -5981,12 +6004,14 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; VkSampler sampler; const VkAllocationCallbacks* pAllocator; - // Begin global wrapped dispatchable handle unboxing for device; + // Begin non wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); + auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); + // End manual dispatchable handle unboxing for device; // Begin manual non dispatchable handle destroy unboxing for sampler; VkSampler boxed_sampler_preserve; uint64_t cgen_var_1; @@ -6024,7 +6049,7 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, packetLen, device, boxed_sampler_preserve, pAllocator); } - delete_VkSampler(boxed_sampler_preserve); + delayed_delete_VkSampler(boxed_sampler_preserve, unboxed_device, nullptr); vkReadStream->clearPool(); if (m_queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst); @@ -6121,12 +6146,14 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; VkDescriptorSetLayout descriptorSetLayout; const VkAllocationCallbacks* pAllocator; - // Begin global wrapped dispatchable handle unboxing for device; + // Begin non wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); + auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); + // End manual dispatchable handle unboxing for device; // Begin manual non dispatchable handle destroy unboxing for descriptorSetLayout; VkDescriptorSetLayout boxed_descriptorSetLayout_preserve; uint64_t cgen_var_1; @@ -6167,7 +6194,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, &m_pool, snapshotApiCallHandle, packet, packetLen, device, boxed_descriptorSetLayout_preserve, pAllocator); } - delete_VkDescriptorSetLayout(boxed_descriptorSetLayout_preserve); + delayed_delete_VkDescriptorSetLayout(boxed_descriptorSetLayout_preserve, + unboxed_device, nullptr); vkReadStream->clearPool(); if (m_queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst); @@ -7440,12 +7468,14 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; VkRenderPass renderPass; const VkAllocationCallbacks* pAllocator; - // Begin global wrapped dispatchable handle unboxing for device; + // Begin non wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); + auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); + // End manual dispatchable handle unboxing for device; // Begin manual non dispatchable handle destroy unboxing for renderPass; VkRenderPass boxed_renderPass_preserve; uint64_t cgen_var_1; @@ -7484,7 +7514,7 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, packetLen, device, boxed_renderPass_preserve, pAllocator); } - delete_VkRenderPass(boxed_renderPass_preserve); + delayed_delete_VkRenderPass(boxed_renderPass_preserve, unboxed_device, nullptr); vkReadStream->clearPool(); if (m_queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst); @@ -10369,12 +10399,14 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; VkSamplerYcbcrConversion ycbcrConversion; const VkAllocationCallbacks* pAllocator; - // Begin global wrapped dispatchable handle unboxing for device; + // Begin non wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); + auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); + // End manual dispatchable handle unboxing for device; // Begin manual non dispatchable handle destroy unboxing for ycbcrConversion; VkSamplerYcbcrConversion boxed_ycbcrConversion_preserve; uint64_t cgen_var_1; @@ -10415,7 +10447,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, &m_pool, snapshotApiCallHandle, packet, packetLen, device, boxed_ycbcrConversion_preserve, pAllocator); } - delete_VkSamplerYcbcrConversion(boxed_ycbcrConversion_preserve); + delayed_delete_VkSamplerYcbcrConversion(boxed_ycbcrConversion_preserve, + unboxed_device, nullptr); vkReadStream->clearPool(); if (m_queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst); @@ -11748,14 +11781,12 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; const VkDeviceBufferMemoryRequirements* pInfo; VkMemoryRequirements2* pMemoryRequirements; - // Begin non wrapped dispatchable handle unboxing for device; + // Begin global wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); - auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); - // End manual dispatchable handle unboxing for device; vkReadStream->alloc((void**)&pInfo, sizeof(const VkDeviceBufferMemoryRequirements)); reservedunmarshal_VkDeviceBufferMemoryRequirements( vkReadStream, VK_STRUCTURE_TYPE_MAX_ENUM, @@ -11781,8 +11812,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, (unsigned long long)pMemoryRequirements); } if (CC_LIKELY(vk)) { - vk->vkGetDeviceBufferMemoryRequirements(unboxed_device, pInfo, - pMemoryRequirements); + m_state->on_vkGetDeviceBufferMemoryRequirements( + &m_pool, snapshotApiCallHandle, device, pInfo, pMemoryRequirements); } vkStream->unsetHandleMapping(); if (pMemoryRequirements) { @@ -16363,12 +16394,14 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; VkSamplerYcbcrConversion ycbcrConversion; const VkAllocationCallbacks* pAllocator; - // Begin global wrapped dispatchable handle unboxing for device; + // Begin non wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); + auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); + // End manual dispatchable handle unboxing for device; // Begin manual non dispatchable handle destroy unboxing for ycbcrConversion; VkSamplerYcbcrConversion boxed_ycbcrConversion_preserve; uint64_t cgen_var_1; @@ -16409,7 +16442,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, &m_pool, snapshotApiCallHandle, packet, packetLen, device, boxed_ycbcrConversion_preserve, pAllocator); } - delete_VkSamplerYcbcrConversion(boxed_ycbcrConversion_preserve); + delayed_delete_VkSamplerYcbcrConversion(boxed_ycbcrConversion_preserve, + unboxed_device, nullptr); vkReadStream->clearPool(); if (m_queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst); @@ -17635,14 +17669,12 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, VkDevice device; const VkDeviceBufferMemoryRequirements* pInfo; VkMemoryRequirements2* pMemoryRequirements; - // Begin non wrapped dispatchable handle unboxing for device; + // Begin global wrapped dispatchable handle unboxing for device; uint64_t cgen_var_0; memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8); *readStreamPtrPtr += 1 * 8; *(VkDevice*)&device = (VkDevice)(VkDevice)((VkDevice)(*&cgen_var_0)); - auto unboxed_device = unbox_VkDevice(device); auto vk = dispatch_VkDevice(device); - // End manual dispatchable handle unboxing for device; vkReadStream->alloc((void**)&pInfo, sizeof(const VkDeviceBufferMemoryRequirements)); reservedunmarshal_VkDeviceBufferMemoryRequirements( vkReadStream, VK_STRUCTURE_TYPE_MAX_ENUM, @@ -17669,8 +17701,8 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, (unsigned long long)pMemoryRequirements); } if (CC_LIKELY(vk)) { - vk->vkGetDeviceBufferMemoryRequirementsKHR(unboxed_device, pInfo, - pMemoryRequirements); + m_state->on_vkGetDeviceBufferMemoryRequirementsKHR( + &m_pool, snapshotApiCallHandle, device, pInfo, pMemoryRequirements); } vkStream->unsetHandleMapping(); if (pMemoryRequirements) { diff --git a/host/vulkan/vk_decoder_global_state.cpp b/host/vulkan/vk_decoder_global_state.cpp index 9c00af40c..90e58ae37 100644 --- a/host/vulkan/vk_decoder_global_state.cpp +++ b/host/vulkan/vk_decoder_global_state.cpp @@ -42,6 +42,7 @@ #include "common/goldfish_vk_dispatch.h" #include "common/goldfish_vk_marshaling.h" #include "common/goldfish_vk_reserved_marshaling.h" +#include "common/goldfish_vk_supported_extensions.h" #include "emulated_textures/astc_texture.h" #include "emulated_textures/compressed_image_info.h" #include "emulated_textures/gpu_decompression_pipeline.h" @@ -173,9 +174,115 @@ static constexpr const char* const kEmulatedInstanceExtensions[] = { static constexpr uint64_t kPageSizeforBlob = 4096; static constexpr uint64_t kPageMaskForBlob = ~(0xfff); -static std::atomic sNextHostBlobId{1}; static std::atomic sUniqueShmemId = 0; +static bool isDescriptorTypeImageInfo(VkDescriptorType descType) { + return (descType == VK_DESCRIPTOR_TYPE_SAMPLER) || + (descType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) || + (descType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE) || + (descType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) || + (descType == VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT); +} + +static bool isDescriptorTypeBufferInfo(VkDescriptorType descType) { + return (descType == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER) || + (descType == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC) || + (descType == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER) || + (descType == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC); +} + +static bool isDescriptorTypeBufferView(VkDescriptorType descType) { + return (descType == VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER) || + (descType == VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER); +} + +DescriptorUpdateTemplateInfo calcLinearizedDescriptorUpdateTemplateInfo( + const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo) { + DescriptorUpdateTemplateInfo res; + res.createInfo = *pCreateInfo; + + size_t numImageInfos = 0; + size_t numBufferInfos = 0; + size_t numBufferViews = 0; + size_t numInlineUniformBlocks = 0; + + for (uint32_t i = 0; i < pCreateInfo->descriptorUpdateEntryCount; ++i) { + const auto& entry = pCreateInfo->pDescriptorUpdateEntries[i]; + auto type = entry.descriptorType; + auto count = entry.descriptorCount; + if (isDescriptorTypeImageInfo(type)) { + numImageInfos += count; + } else if (isDescriptorTypeBufferInfo(type)) { + numBufferInfos += count; + } else if (isDescriptorTypeBufferView(type)) { + numBufferViews += count; + } else if (type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) { + numInlineUniformBlocks += count; + } else { + const std::string typeString = string_VkDescriptorType(type); + GFXSTREAM_FATAL("Unhandled descriptor type %s.", typeString.c_str()); + } + } + + size_t imageInfoBytes = numImageInfos * sizeof(VkDescriptorImageInfo); + size_t bufferInfoBytes = numBufferInfos * sizeof(VkDescriptorBufferInfo); + size_t bufferViewBytes = numBufferViews * sizeof(VkBufferView); + size_t inlineUniformBlockBytes = numInlineUniformBlocks; + + res.data.resize(imageInfoBytes + bufferInfoBytes + bufferViewBytes + inlineUniformBlockBytes); + res.imageInfoStart = 0; + res.imageInfoCount = numImageInfos; + res.bufferInfoStart = imageInfoBytes; + res.bufferInfoCount = numBufferInfos; + res.bufferViewStart = imageInfoBytes + bufferInfoBytes; + res.bufferViewCount = numBufferViews; + res.inlineUniformBlockStart = imageInfoBytes + bufferInfoBytes + bufferViewBytes; + res.inlineUniformBlockCount = numInlineUniformBlocks; + + size_t imageInfoCount = 0; + size_t bufferInfoCount = 0; + size_t bufferViewCount = 0; + size_t inlineUniformBlockCount = 0; + + for (uint32_t i = 0; i < pCreateInfo->descriptorUpdateEntryCount; ++i) { + const auto& entry = pCreateInfo->pDescriptorUpdateEntries[i]; + VkDescriptorUpdateTemplateEntry entryForHost = entry; + + auto type = entry.descriptorType; + + // The guest sends every array element of an entry, in entry order, so an entry + // starts after all elements of the entries before it. + if (isDescriptorTypeImageInfo(type)) { + entryForHost.offset = + res.imageInfoStart + imageInfoCount * sizeof(VkDescriptorImageInfo); + entryForHost.stride = sizeof(VkDescriptorImageInfo); + imageInfoCount += entryForHost.descriptorCount; + } else if (isDescriptorTypeBufferInfo(type)) { + entryForHost.offset = + res.bufferInfoStart + bufferInfoCount * sizeof(VkDescriptorBufferInfo); + entryForHost.stride = sizeof(VkDescriptorBufferInfo); + bufferInfoCount += entryForHost.descriptorCount; + } else if (isDescriptorTypeBufferView(type)) { + entryForHost.offset = res.bufferViewStart + bufferViewCount * sizeof(VkBufferView); + entryForHost.stride = sizeof(VkBufferView); + bufferViewCount += entryForHost.descriptorCount; + } else if (type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) { + entryForHost.offset = res.inlineUniformBlockStart + inlineUniformBlockCount; + entryForHost.stride = 0; + inlineUniformBlockCount += entryForHost.descriptorCount; + } else { + const std::string typeString = string_VkDescriptorType(type); + GFXSTREAM_FATAL("Unhandled descriptor type %s.", typeString.c_str()); + } + + res.linearizedTemplateEntries.push_back(entryForHost); + } + + res.createInfo.pDescriptorUpdateEntries = res.linearizedTemplateEntries.data(); + + return res; +} + class VkDecoderGlobalState::Impl { public: Impl(VkEmulation* emulation) @@ -482,25 +589,26 @@ class VkDecoderGlobalState::Impl { } } + stream->putBe64(mNextHostBlobId.load()); + snapshot()->saveReplayBuffers(stream); - // Save mapped memory - uint32_t memoryCount = 0; + // Save mapped memory and host/guest blob ids. + GFXSTREAM_DEBUG("snapshot save: mapped memory and host blob ids"); + stream->putBe32(static_cast(mMemoryInfo.size())); for (const auto& it : mMemoryInfo) { - if (it.second.ptr) { - memoryCount++; - } - } - GFXSTREAM_DEBUG("snapshot save: mapped memory"); - stream->putBe32(memoryCount); - for (const auto& it : mMemoryInfo) { - if (!it.second.ptr) { - continue; - } stream->putBe64(reinterpret_cast( unboxed_to_boxed_non_dispatchable_VkDeviceMemory(it.first))); - stream->putBe64(it.second.size); - stream->write(it.second.ptr, it.second.size); + + bool hasPtr = it.second.ptr != nullptr; + stream->putByte(hasPtr ? 1 : 0); + if (hasPtr) { + stream->putBe64(it.second.size); + stream->write(it.second.ptr, it.second.size); + } + + stream->putBe64(it.second.hostmemId); + stream->putBe64(it.second.blobId); } // Set up VK structs to snapshot other Vulkan objects @@ -752,6 +860,11 @@ class VkDecoderGlobalState::Impl { mSnapshotState = SnapshotState::Normal; GFXSTREAM_DEBUG("VulkanSnapshots save (end)"); + if (stream && stream->hasErrors()) { + GFXSTREAM_ERROR("VulkanSnapshots save failed due to stream errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return false; + } return true; } @@ -793,6 +906,9 @@ class VkDecoderGlobalState::Impl { } } + GFXSTREAM_DEBUG("snapshot load: host blob id counter"); + mNextHostBlobId.store(stream->getBe64()); + // Replay command stream: GFXSTREAM_DEBUG("snapshot load: replay command stream"); { @@ -826,24 +942,86 @@ class VkDecoderGlobalState::Impl { { std::lock_guard lock(mMutex); - // load mapped memory - GFXSTREAM_DEBUG("snapshot load: mapped memory"); + // load mapped memory and host blob ids + GFXSTREAM_DEBUG("snapshot load: mapped memory and host blob ids"); uint32_t memoryCount = stream->getBe32(); for (uint32_t i = 0; i < memoryCount; i++) { VkDeviceMemory boxedMemory = reinterpret_cast(stream->getBe64()); - VkDeviceMemory unboxedMemory = unbox_VkDeviceMemory(boxedMemory); - auto it = mMemoryInfo.find(unboxedMemory); + VkDeviceMemory unboxedMemory = try_unbox_VkDeviceMemory(boxedMemory); + auto it = (unboxedMemory != VK_NULL_HANDLE) ? mMemoryInfo.find(unboxedMemory) + : mMemoryInfo.end(); if (it == mMemoryInfo.end()) { - GFXSTREAM_ERROR("Snapshot load failure: cannot find memory handle for VkDeviceMemory:%p", boxedMemory); - return false; + GFXSTREAM_WARNING( + "Snapshot load: cannot find memory handle for VkDeviceMemory:%p, " + "skipping memory info restore.", + boxedMemory); + bool hasPtr = stream->getByte() != 0; + if (hasPtr) { + VkDeviceSize size = stream->getBe64(); + std::vector discard(size); + stream->read(discard.data(), size); + } + stream->getBe64(); // hostmemId + stream->getBe64(); // blobId + continue; } - VkDeviceSize size = stream->getBe64(); - if (size != it->second.size || !it->second.ptr) { - GFXSTREAM_ERROR("Snapshot load failure: memory size does not match for VkDeviceMemory:%p", boxedMemory); - return false; + + bool hasPtr = stream->getByte() != 0; + if (hasPtr) { + VkDeviceSize size = stream->getBe64(); + if (size != it->second.size || !it->second.ptr) { + GFXSTREAM_ERROR( + "Snapshot load failure: memory size does not match for " + "VkDeviceMemory:%p", + boxedMemory); + return false; + } + stream->read(it->second.ptr, size); + } + + uint64_t hostmemId = stream->getBe64(); + uint64_t blobId = stream->getBe64(); + uint64_t existingBlobId = + it->second.hostmemId ? it->second.hostmemId : it->second.blobId; + it->second.hostmemId = hostmemId; + it->second.blobId = blobId; + uint64_t blobIdToRestore = hostmemId ? hostmemId : blobId; + if (blobIdToRestore) { + const bool isDeferredMapping = !hostmemId; + if (isDeferredMapping && !it->second.virtioGpuMapped) { + // Allocated with VkCreateBlobGOOGLE (so blobId != 0), and on Windows + // VulkanAllocateHostMemory also set ptr != nullptr at vkAllocateMemory time, + // but the guest never called vkGetBlobGOOGLE (OP_vkGetBlobGOOGLE was not + // replayed). Do not register it in ExternalObjectManager; if the guest maps + // this memory later, vkGetBlobGOOGLE will register it then. + continue; + } + if (!it->second.ptr) { + // Nothing to remap: this memory has a blob id but was never mapped on + // the host (e.g. a guest-handle blob). Keep the ids so that a later + // vkGetBlobGOOGLE() still sees consistent state, but do not fail the + // whole snapshot load. + GFXSTREAM_WARNING( + "Snapshot load: no host mapping for blob id %" PRIu64 + ", skipping external object remapping.", + blobIdToRestore); + continue; + } + auto ctxIdOpt = getContextIdForDeviceLocked(it->second.device); + if (!ctxIdOpt) { + GFXSTREAM_ERROR( + "Snapshot load failure: missing context id for blob id %" PRIu64, + blobIdToRestore); + return false; + } + if (existingBlobId) { + ExternalObjectManager::get()->removeMapping(*ctxIdOpt, existingBlobId); + } + ExternalObjectManager::get()->addMapping(*ctxIdOpt, blobIdToRestore, + it->second.ptr, it->second.caching); } - stream->read(it->second.ptr, size); } + // Set up VK structs to snapshot other Vulkan objects // TODO(b/323064243): group all images from the same device and reuse queue / command // pool @@ -1091,6 +1269,11 @@ class VkDecoderGlobalState::Impl { mSnapshotState = SnapshotState::Normal; } GFXSTREAM_DEBUG("VulkanSnapshots load (end)"); + if (stream && stream->hasErrors()) { + GFXSTREAM_ERROR("VulkanSnapshots load failed due to stream errors: %s", + stream->getErrors().value_or("unknown error").c_str()); + return false; + } return true; } @@ -1133,11 +1316,43 @@ class VkDecoderGlobalState::Impl { VkSnapshotApiCallHandle, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) { + if (pPropertyCount == nullptr) { + return VK_INCOMPLETE; + } + #if defined(__linux__) // TODO(b/401005629) always lock before the call on linux std::lock_guard lock(mMutex); #endif - return m_vk->vkEnumerateInstanceExtensionProperties(pLayerName, pPropertyCount, pProperties); + // Start with host extensions: + std::vector properties; + VkResult result = enumerateInstanceExtensionProperties(m_vk, pLayerName, properties); + if (result != VK_SUCCESS) { + GFXSTREAM_ERROR("Failed to query host instance extensions."); + return result; + } + + // Remove all extensions that are not supported by the host codegen to prevent + // guest to host compatibility issues: + const auto& supportedInstanceExtensions = GetInstanceExtensionsSupportedByCodegen(); + properties.erase( + std::remove_if(properties.begin(), properties.end(), + [&](const VkExtensionProperties& extension) { + return supportedInstanceExtensions.find(extension.extensionName) == + supportedInstanceExtensions.end(); + }), + properties.end()); + + if (pProperties == nullptr) { + *pPropertyCount = properties.size(); + } else { + // return number of structures actually written to pProperties. + *pPropertyCount = std::min((uint32_t)properties.size(), *pPropertyCount); + if (*pPropertyCount > 0) { + std::memcpy(pProperties, properties.data(), *pPropertyCount * sizeof(VkExtensionProperties)); + } + } + return *pPropertyCount < properties.size() ? VK_INCOMPLETE : VK_SUCCESS; } VkResult on_vkCreateInstance(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle, @@ -1164,6 +1379,38 @@ class VkDecoderGlobalState::Impl { deepcopy_VkInstanceCreateInfo(pool, VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, pCreateInfo, &createInfoFiltered); + std::string vvlAppName = ""; + std::string vvlEngineName = ""; + if (pCreateInfo->pApplicationInfo) { + if (pCreateInfo->pApplicationInfo->pApplicationName) { + vvlAppName = pCreateInfo->pApplicationInfo->pApplicationName; + } + if (pCreateInfo->pApplicationInfo->pEngineName) { + vvlEngineName = pCreateInfo->pApplicationInfo->pEngineName; + } + } + + VkDebugUtilsMessengerCreateInfoEXT debugInfo = {}; + std::unique_ptr debugContext = + m_vkEmulation->createVVLContext(vvlAppName, vvlEngineName, &debugInfo); + + if (debugContext) { + GFXSTREAM_INFO("Enabling VVL for %s %s", vvlAppName.c_str(), vvlEngineName.c_str()); + + bool hasDebugUtils = false; + for (const char* ext : finalExts) { + if (ext && strcmp(ext, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) == 0) { + hasDebugUtils = true; + break; + } + } + if (!hasDebugUtils) { + finalExts.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); + } + } else { + GFXSTREAM_VERBOSE("Not enabling VVL for %s %s", vvlAppName.c_str(), vvlEngineName.c_str()); + } + createInfoFiltered.enabledExtensionCount = static_cast(finalExts.size()); createInfoFiltered.ppEnabledExtensionNames = finalExts.data(); if (createInfoFiltered.pApplicationInfo != nullptr) { @@ -1175,6 +1422,11 @@ class VkDecoderGlobalState::Impl { vk_struct_chain_filter(&createInfoFiltered); vk_struct_chain_filter(&createInfoFiltered); + if (debugContext) { + auto chainIter = vk_make_chain_iterator(&createInfoFiltered); + vk_append_struct(&chainIter, &debugInfo); + } + #if defined(__APPLE__) if (m_vkEmulation->supportsPortabilityEnumeration()) { createInfoFiltered.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR; @@ -1234,14 +1486,30 @@ class VkDecoderGlobalState::Impl { info.contextId = renderThreadInfo->ctx_id; } + if (debugContext) { + auto vk = dispatch_VkInstance(boxed); + if (vk && vk->vkCreateDebugUtilsMessengerEXT && vk->vkDestroyDebugUtilsMessengerEXT) { + VkDebugUtilsMessengerEXT messenger = VK_NULL_HANDLE; + VkResult messengerRes = vk->vkCreateDebugUtilsMessengerEXT(*pInstance, &debugInfo, nullptr, &messenger); + if (messengerRes == VK_SUCCESS) { + info.debugMessenger = messenger; + } else { + GFXSTREAM_WARNING("Failed to create Vulkan debug utils messenger: %s", string_VkResult(messengerRes)); + } + } + } + + uint64_t contextId = info.contextId; + info.debugContext = std::move(debugContext); + VALIDATE_NEW_HANDLE_INFO_ENTRY(mInstanceInfo, *pInstance); - mInstanceInfo[*pInstance] = info; + mInstanceInfo[*pInstance] = std::move(info); - *pInstance = (VkInstance)info.boxed; + *pInstance = (VkInstance)boxed; if (vkCleanupEnabled()) { m_vkEmulation->getGlobalState()->registerProcessCleanupCallback( - unbox_VkInstance(boxed), info.contextId, [this, boxed] { + unbox_VkInstance(boxed), contextId, [this, boxed] { if (snapshotsEnabled()) { snapshot()->vkDestroyInstance(nullptr, kInvalidSnapshotApiCallHandle, nullptr, 0, boxed, nullptr); } @@ -1519,6 +1787,8 @@ class VkDecoderGlobalState::Impl { vk_find_struct(pFeatures); VkPhysicalDeviceVulkan13Features* vulkan13Features = vk_find_struct(pFeatures); + VkPhysicalDeviceVulkan14Features* vulkan14Features = + vk_find_struct(pFeatures); VkPhysicalDeviceProtectedMemoryFeatures* protectedMemoryFeatures = vk_find_struct(pFeatures); VkPhysicalDevicePipelineProtectedAccessFeatures* pipelineAccessFeatures = @@ -1534,6 +1804,9 @@ class VkDecoderGlobalState::Impl { if (pipelineAccessFeatures) { pipelineAccessFeatures->pipelineProtectedAccess = VK_TRUE; } + if (vulkan14Features) { + vulkan14Features->pipelineProtectedAccess = VK_TRUE; + } } else { if (protectedMemoryFeatures) { protectedMemoryFeatures->protectedMemory = VK_FALSE; @@ -1541,9 +1814,8 @@ class VkDecoderGlobalState::Impl { if (vk11Features) { vk11Features->protectedMemory = VK_FALSE; } - if (pipelineAccessFeatures) { - pipelineAccessFeatures->pipelineProtectedAccess = VK_FALSE; - } + // No need to change pipelineProtectedAccess features as they + // can be enabled without enabling 'protectedMemory' } if (m_vkEmulation->getFeatures().VulkanBatchedDescriptorSetUpdate.enabled()) { @@ -1631,10 +1903,35 @@ class VkDecoderGlobalState::Impl { auto* extImageFormatInfo = vk_find_struct(pImageFormatInfo); - if (extImageFormatInfo && - extImageFormatInfo->handleType == VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT) { - const_cast(extImageFormatInfo)->handleType = - m_vkEmulation->getDefaultExternalMemoryHandleType(); + if (extImageFormatInfo) { + if (extImageFormatInfo->handleType & + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) { + VkFormat resolvedFormat = resolveAhbFormat(pImageFormatInfo->format); + std::unique_ptr colorBufferVkImageCi = + m_vkEmulation->generateColorBufferVkImageCreateInfo( + resolvedFormat, 1, 1, pImageFormatInfo->tiling, 1); + if (colorBufferVkImageCi) { + if (pImageFormatInfo != &imageFormatInfo) { + imageFormatInfo = *pImageFormatInfo; + pImageFormatInfo = &imageFormatInfo; + } + imageFormatInfo.format = resolvedFormat; + imageFormatInfo.flags |= colorBufferVkImageCi->flags; + imageFormatInfo.usage |= colorBufferVkImageCi->usage; + } + } + + auto* mutExtImageFormatInfo = + const_cast(extImageFormatInfo); + mutExtImageFormatInfo->handleType = + static_cast( + m_vkEmulation->transformExternalMemoryHandleTypeFlags_tohost( + mutExtImageFormatInfo->handleType)); + if (mutExtImageFormatInfo->handleType == + VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT) { + mutExtImageFormatInfo->handleType = + m_vkEmulation->getDefaultExternalMemoryHandleType(); + } } VkResult res = VK_ERROR_INITIALIZATION_FAILED; @@ -1986,36 +2283,37 @@ class VkDecoderGlobalState::Impl { auto physicalDevice = unbox_VkPhysicalDevice(boxed_physicalDevice); auto vk = dispatch_VkPhysicalDevice(boxed_physicalDevice); - bool shouldPassthrough = !m_vkEmulation->isYcbcrEmulationEnabled(); -#if defined(__APPLE__) - shouldPassthrough = shouldPassthrough && !(m_vkEmulation->getExternalMemoryMode() == - ExternalMemory::Mode::Metal); -#endif + // Start with host extensions: + std::vector properties; + VkResult result = + enumerateDeviceExtensionProperties(vk, physicalDevice, pLayerName, properties); + if (result != VK_SUCCESS) { + GFXSTREAM_ERROR("Failed to query host device extensions."); + return result; + } + + // Remove all extensions that are not supported by the host codegen to prevent + // guest to host compatibility issues: + const auto& supportedDeviceExtensions = GetDeviceExtensionsSupportedByCodegen(); + properties.erase( + std::remove_if(properties.begin(), properties.end(), + [&](const VkExtensionProperties& extension) { + return supportedDeviceExtensions.find(extension.extensionName) == + supportedDeviceExtensions.end(); + }), + properties.end()); + + // Add in emulated extensions: #if defined(_WIN32) // Temporary fix to get old system images working with lavapipe // TODO(b/409769371): remove this once system images updated or win32 extension is supported const bool advertiseHostAllocAsWin32 = (m_vkEmulation->getExternalMemoryMode() == ExternalMemory::Mode::HostAllocation); - if (advertiseHostAllocAsWin32) { - shouldPassthrough = false; - } #endif - if (shouldPassthrough) { - return vk->vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName, - pPropertyCount, pProperties); - } - // If MoltenVK is supported on host, we need to ensure that we include // VK_MVK_moltenvk extenstion in returned properties. - std::vector properties; - VkResult result = - enumerateDeviceExtensionProperties(vk, physicalDevice, pLayerName, properties); - if (result != VK_SUCCESS) { - return result; - } - #if defined(__APPLE__) && defined(VK_MVK_moltenvk) // Guest will check for VK_MVK_moltenvk extension for enabling AHB support if ((m_vkEmulation->getExternalMemoryMode() == ExternalMemory::Mode::Metal) && @@ -2053,13 +2351,16 @@ class VkDecoderGlobalState::Impl { } #endif - if (enableProtectedMemoryEmulation() ) { - // Enable VK_EXT_pipeline_protected_access extension support - VkExtensionProperties ycbcr_props; - strncpy(ycbcr_props.extensionName, VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME, - sizeof(ycbcr_props.extensionName)); - ycbcr_props.specVersion = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION; - properties.push_back(ycbcr_props); + if (enableProtectedMemoryEmulation()) { + if (!hasDeviceExtension(properties, VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME)) { + // Enable VK_EXT_pipeline_protected_access extension support + VkExtensionProperties protected_access_props; + strncpy(protected_access_props.extensionName, + VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME, + sizeof(protected_access_props.extensionName)); + protected_access_props.specVersion = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION; + properties.push_back(protected_access_props); + } } if (pProperties == nullptr) { @@ -2208,10 +2509,6 @@ class VkDecoderGlobalState::Impl { // protected memory devices without checking the feature support. GFXSTREAM_INFO("%s: Unsupported protected memory feature is requested!", __func__); return VK_ERROR_FEATURE_NOT_PRESENT; - } else if (pipelineProtectedAccessFeatureRequested) { - GFXSTREAM_INFO("%s: Unsupported pipeline protected access feature is requested!", - __func__); - return VK_ERROR_FEATURE_NOT_PRESENT; } // Always clear protected memory bits when passing the call to the host driver @@ -2338,6 +2635,7 @@ class VkDecoderGlobalState::Impl { // Filter device memory report as callbacks can not be passed between guest and host. vk_struct_chain_filter(&createInfoFiltered); + vk_struct_chain_filter(&createInfoFiltered); // Filter device groups as they are effectively disabled. vk_struct_chain_filter(&createInfoFiltered); @@ -2402,6 +2700,7 @@ class VkDecoderGlobalState::Impl { VALIDATE_NEW_HANDLE_INFO_ENTRY(mDeviceInfo, *pDevice); auto& deviceInfo = mDeviceInfo[*pDevice]; deviceInfo.physicalDevice = physicalDevice; + deviceInfo.maxImageDimension2D = physicalDeviceInfo.props.limits.maxImageDimension2D; deviceInfo.emulateTextureEtc2 = emulateTextureEtc2; deviceInfo.emulateTextureAstc = emulateTextureAstc; deviceInfo.emulateProtectedMemory = emulateProtectedMemory; @@ -2697,6 +2996,65 @@ class VkDecoderGlobalState::Impl { pPropertyCount, pProperties); } + void on_vkGetDeviceBufferMemoryRequirements(gfxstream::base::BumpPool* pool, + VkSnapshotApiCallHandle apiCallHandle, + VkDevice boxed_device, + const VkDeviceBufferMemoryRequirements* pInfo, + VkMemoryRequirements2* pMemoryRequirements) { + auto device = unbox_VkDevice(boxed_device); + auto vk = dispatch_VkDevice(boxed_device); + + VkDeviceBufferMemoryRequirements localInfo; + VkBufferCreateInfo localCreateInfo; + if (snapshotsEnabled()) { + localInfo = *pInfo; + localCreateInfo = *pInfo->pCreateInfo; + if (localCreateInfo.usage & VK_BUFFER_USAGE_TRANSFER_DST_BIT) { + localCreateInfo.usage |= VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + } + localInfo.pCreateInfo = &localCreateInfo; + pInfo = &localInfo; + } + + VkExternalMemoryBufferCreateInfo externalCI = { + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO}; + if (m_vkEmulation->getFeatures().VulkanAllocateHostMemory.enabled()) { + localInfo = *pInfo; + localCreateInfo = *pInfo->pCreateInfo; + externalCI.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT; + externalCI.pNext = localCreateInfo.pNext; + localCreateInfo.pNext = &externalCI; + localInfo.pCreateInfo = &localCreateInfo; + pInfo = &localInfo; + } + + if (vk->vkGetDeviceBufferMemoryRequirements) { + vk->vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements); + } else if (vk->vkGetDeviceBufferMemoryRequirementsKHR) { + vk->vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements); + } else { + GFXSTREAM_FATAL("%s: function implementation cannot be found!", __func__); + } + + std::lock_guard lock(mMutex); + + auto* deviceInfo = gfxstream::base::find(mDeviceInfo, device); + if (!deviceInfo) { + GFXSTREAM_ERROR("%s: Failed to find device info for device: %p", __func__, device); + return; + } + + auto* physicalDeviceInfo = gfxstream::base::find(mPhysdevInfo, deviceInfo->physicalDevice); + if (!physicalDeviceInfo) { + GFXSTREAM_FATAL("No physical device info available for VkPhysicalDevice: %p", + deviceInfo->physicalDevice); + } + + auto& physicalDeviceMemHelper = physicalDeviceInfo->memoryPropertiesHelper; + physicalDeviceMemHelper->transformToGuestMemoryRequirements( + &pMemoryRequirements->memoryRequirements); + } + void on_vkGetDeviceImageMemoryRequirements(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice boxed_device, @@ -2713,13 +3071,6 @@ class VkDecoderGlobalState::Impl { GFXSTREAM_FATAL("%s: function implementation cannot be found!"); } - const VkFormat format = pInfo->pCreateInfo->format; - bool needDecompression = isEtc2(format) || isAstc(format); - if (!needDecompression) { - // No modifications needed - return; - } - std::lock_guard lock(mMutex); auto* deviceInfo = gfxstream::base::find(mDeviceInfo, device); @@ -2728,9 +3079,20 @@ class VkDecoderGlobalState::Impl { return; } - needDecompression = deviceInfo->needEmulatedDecompression(format); + auto* physicalDeviceInfo = gfxstream::base::find(mPhysdevInfo, deviceInfo->physicalDevice); + if (!physicalDeviceInfo) { + GFXSTREAM_ERROR("Failed to find physical device info for physical device:%p", + deviceInfo->physicalDevice); + return; + } + auto& physicalDeviceMemHelper = physicalDeviceInfo->memoryPropertiesHelper; + + const VkFormat format = pInfo->pCreateInfo->format; + const bool needDecompression = + (isEtc2(format) || isAstc(format)) && deviceInfo->needEmulatedDecompression(format); if (!needDecompression) { - // No modifications needed + physicalDeviceMemHelper->transformToGuestImageMemoryRequirements( + pInfo->pCreateInfo->tiling, &pMemoryRequirements->memoryRequirements); return; } @@ -2753,16 +3115,8 @@ class VkDecoderGlobalState::Impl { pMemoryRequirements->memoryRequirements = cmpInfo.getMemoryRequirements(); cmpInfo.destroy(vk); - auto* physicalDeviceInfo = gfxstream::base::find(mPhysdevInfo, deviceInfo->physicalDevice); - if (!physicalDeviceInfo) { - GFXSTREAM_ERROR("Failed to find physical device info for physical device:%p", - deviceInfo->physicalDevice); - return; - } - - auto& physicalDeviceMemHelper = physicalDeviceInfo->memoryPropertiesHelper; - physicalDeviceMemHelper->transformToGuestMemoryRequirements( - &pMemoryRequirements->memoryRequirements); + physicalDeviceMemHelper->transformToGuestImageMemoryRequirements( + pInfo->pCreateInfo->tiling, &pMemoryRequirements->memoryRequirements); } void destroyDeviceWithExclusiveInfo(VkDevice device, DeviceInfo& deviceInfo, @@ -3070,49 +3424,16 @@ class VkDecoderGlobalState::Impl { } #ifdef __APPLE__ - // TODO(b/438924843) this is probably not optimal as it might slow down image creation a - // bit. Not validating the dimensions seems to be only fatal on macOS, and can create false - // positives on desktop GPUs with the format's support, so it's only checked on macOS. - { - auto physicalDevice = deviceInfo->physicalDevice; - auto* physdevInfo = gfxstream::base::find(mPhysdevInfo, physicalDevice); - if (!physdevInfo) { - GFXSTREAM_ERROR("vkCreateImage: Could not find physical device info."); - return VK_ERROR_OUT_OF_HOST_MEMORY; - } - - auto* instanceInfo = gfxstream::base::find(mInstanceInfo, physdevInfo->instance); - if (!instanceInfo) { - GFXSTREAM_ERROR("vkCreateImage: Could not find instance info."); - return VK_ERROR_OUT_OF_HOST_MEMORY; - } - - auto ivk = dispatch_VkInstance(instanceInfo->boxed); - VkImageFormatProperties imageFormatProperties; - VkResult res = ivk->vkGetPhysicalDeviceImageFormatProperties( - physicalDevice, pCreateInfo->format, pCreateInfo->imageType, pCreateInfo->tiling, - pCreateInfo->usage, pCreateInfo->flags, &imageFormatProperties); - - if (res != VK_SUCCESS) { - GFXSTREAM_WARNING( - "vkCreateImage: vkGetPhysicalDeviceImageFormatProperties failed with %s on " - "format %s[%d]", - string_VkResult(res), string_VkFormat(pCreateInfo->format), - pCreateInfo->format); - return VK_ERROR_VALIDATION_FAILED_EXT; - } - - if (pCreateInfo->extent.width > imageFormatProperties.maxExtent.width || - pCreateInfo->extent.height > imageFormatProperties.maxExtent.height || - pCreateInfo->extent.depth > imageFormatProperties.maxExtent.depth) { - GFXSTREAM_WARNING( - "vkCreateImage: requested image dimensions (%u x %u x %u) " - "exceeds device limits (%u x %u x %u).", - pCreateInfo->extent.width, pCreateInfo->extent.height, - pCreateInfo->extent.depth, imageFormatProperties.maxExtent.width, - imageFormatProperties.maxExtent.height, imageFormatProperties.maxExtent.depth); - return VK_ERROR_VALIDATION_FAILED_EXT; - } + // We do some validation on macOS, because it can crash the whole app if exceeded. + if (pCreateInfo->imageType == VK_IMAGE_TYPE_2D && + (pCreateInfo->extent.width > deviceInfo->maxImageDimension2D || + pCreateInfo->extent.height > deviceInfo->maxImageDimension2D)) { + GFXSTREAM_WARNING( + "vkCreateImage: requested image dimensions (%u x %u) " + "exceeds maxImageDimension2D limit (%u).", + pCreateInfo->extent.width, pCreateInfo->extent.height, + deviceInfo->maxImageDimension2D); + return VK_ERROR_VALIDATION_FAILED; } #endif @@ -3164,6 +3485,71 @@ class VkDecoderGlobalState::Impl { imageInfo.imageCreateInfoShallow = vk_make_orphan_copy(*pCreateInfo); imageInfo.layout = pCreateInfo->initialLayout; imageInfo.anbInfo = std::move(anbInfo); + if (const auto* extMemCreateInfo = + vk_find_struct(pCreateInfo)) { + imageInfo.externalHandleTypes = extMemCreateInfo->handleTypes; + } +#ifdef __ANDROID__ + // Deferred image layout, see ImageInfo::DeferredLayoutInfo. Only for AHB-external + // images we are not already backing another way: the ANB path owns its own buffer, and for + // compressed images updateImageMemoryRequirementsLocked() overwrites them anyway. + if ((imageInfo.externalHandleTypes & + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID) && + !imageInfo.anbInfo && !imageInfo.compressInfo) { + VkMemoryRequirements probeReqs = {}; + vk->vkGetImageMemoryRequirements(device, *pImage, &probeReqs); + // Only intervene where the driver actually refused to answer. A driver that reports a + // real size needs no help from us, and substituting there would be a regression. + if (probeReqs.size == 0) { + AHardwareBuffer* rawAhb = allocAhb(pCreateInfo); + if (rawAhb) { + VkAndroidHardwareBufferPropertiesANDROID ahbProps = { + .sType = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID, + .pNext = nullptr, + }; + VkResult propsRes = + vk->vkGetAndroidHardwareBufferPropertiesANDROID(device, rawAhb, &ahbProps); + if (propsRes == VK_SUCCESS && ahbProps.allocationSize > 0) { + imageInfo.deferredLayout.ahb = + std::shared_ptr(rawAhb, [](AHardwareBuffer* b) { + if (b) AHardwareBuffer_release(b); + }); + imageInfo.deferredLayout.size = ahbProps.allocationSize; + // The driver reported no alignment either; the AHB satisfies its own. + imageInfo.deferredLayout.alignment = + probeReqs.alignment ? probeReqs.alignment : 1; + imageInfo.deferredLayout.memoryTypeBits = ahbProps.memoryTypeBits; + // The driver will also refuse to report rowPitch for this image; the AHB + // knows its own stride (in pixels), so derive the byte pitch from it. + AHardwareBuffer_Desc ahbDesc = {}; + AHardwareBuffer_describe(rawAhb, &ahbDesc); + uint32_t bytesPerPixel = 4; // allocAhb only ever picks 32-bit RGBA/BGRA + imageInfo.deferredLayout.rowPitch = + static_cast(ahbDesc.stride) * bytesPerPixel; + // Also offer this AHB to a same-shaped ColorBuffer's own allocation, + // which otherwise pays for a second AHardwareBuffer_allocate() for what + // is usually the very same image a moment later (see the guest's + // vkCreateImage -> vkGetImageSubresourceLayout -> CreateBlob sequence). + m_vkEmulation->stashPendingDeferredLayoutAhb(pCreateInfo, rawAhb); + GFXSTREAM_INFO( + "DL-AHB tracked image=%p size=%llu typeBits=0x%x rowPitch=%llu " + "ahbStridePx=%u (driver said size=0)", + (void*)*pImage, (unsigned long long)imageInfo.deferredLayout.size, + imageInfo.deferredLayout.memoryTypeBits, + (unsigned long long)imageInfo.deferredLayout.rowPitch, ahbDesc.stride); + } else { + GFXSTREAM_ERROR( + "DL-AHB properties query failed (res=%d size=%llu); leaving " + "requirements untouched", + (int)propsRes, (unsigned long long)ahbProps.allocationSize); + AHardwareBuffer_release(rawAhb); + } + } else { + GFXSTREAM_ERROR("DL-AHB allocAhb failed for image=%p", (void*)*pImage); + } + } + } +#endif if (boxImage) { *pImage = new_boxed_non_dispatchable_VkImage(*pImage); @@ -5454,6 +5840,11 @@ class VkDecoderGlobalState::Impl { } } + // An AHB-backed image does not need to be CPU-mappable, and it + // must not be: if the guest picks a HOST_VISIBLE memory type, gfxstream has to expose the + // allocation as a mappable blob, and crosvm's resource_map_blob() only accepts Mesa handles -- + // an AHB-backed blob fails with "invalid Mesa handle" and the guest's mmap64 returns EINVAL. + // So hand back only the device-local, non-host-visible subset when one exists. void on_vkGetImageMemoryRequirements(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle, VkDevice boxed_device, VkImage image, VkMemoryRequirements* pMemoryRequirements) { @@ -5461,7 +5852,6 @@ class VkDecoderGlobalState::Impl { auto vk = dispatch_VkDevice(boxed_device); vk->vkGetImageMemoryRequirements(device, image, pMemoryRequirements); std::lock_guard lock(mMutex); - updateImageMemorySizeLocked(device, image, pMemoryRequirements); auto* deviceInfo = gfxstream::base::find(mDeviceInfo, device); if (!deviceInfo) { @@ -5477,7 +5867,31 @@ class VkDecoderGlobalState::Impl { } auto& physicalDeviceMemHelper = physicalDeviceInfo->memoryPropertiesHelper; - physicalDeviceMemHelper->transformToGuestMemoryRequirements(pMemoryRequirements); + updateImageMemoryRequirementsLocked(device, image, pMemoryRequirements); + physicalDeviceMemHelper->transformToGuestImageMemoryRequirements( + imageTilingLocked(image), pMemoryRequirements); + } + + // A driver that defers the layout also reports rowPitch=0; answer with the AHB's stride. + void on_vkGetImageSubresourceLayout(gfxstream::base::BumpPool*, VkSnapshotApiCallHandle, + VkDevice boxed_device, VkImage image, + const VkImageSubresource* pSubresource, + VkSubresourceLayout* pLayout) { + auto device = unbox_VkDevice(boxed_device); + auto vk = dispatch_VkDevice(boxed_device); + vk->vkGetImageSubresourceLayout(device, image, pSubresource, pLayout); +#ifdef __ANDROID__ + if (pLayout && pLayout->rowPitch == 0) { + std::lock_guard lock(mMutex); + auto* dlInfo = gfxstream::base::find(mImageInfo, image); + if (dlInfo && dlInfo->deferredLayout.rowPitch > 0) { + pLayout->rowPitch = dlInfo->deferredLayout.rowPitch; + if (pLayout->size == 0) pLayout->size = dlInfo->deferredLayout.size; + GFXSTREAM_INFO("DL-AHB stride image=%p rowPitch=%llu", (void*)image, + (unsigned long long)pLayout->rowPitch); + } + } +#endif } void on_vkGetImageMemoryRequirements2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle, @@ -5518,11 +5932,11 @@ class VkDecoderGlobalState::Impl { &pMemoryRequirements->memoryRequirements); } - updateImageMemorySizeLocked(device, pInfo->image, &pMemoryRequirements->memoryRequirements); - auto& physicalDeviceMemHelper = physicalDeviceInfo->memoryPropertiesHelper; - physicalDeviceMemHelper->transformToGuestMemoryRequirements( - &pMemoryRequirements->memoryRequirements); + updateImageMemoryRequirementsLocked(device, pInfo->image, + &pMemoryRequirements->memoryRequirements); + physicalDeviceMemHelper->transformToGuestImageMemoryRequirements( + imageTilingLocked(pInfo->image), &pMemoryRequirements->memoryRequirements); } void on_vkGetBufferMemoryRequirements(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle, @@ -5765,31 +6179,42 @@ class VkDecoderGlobalState::Impl { } } - inline void convertQueueFamilyForeignToExternal(uint32_t* queueFamilyIndexPtr) { - if (*queueFamilyIndexPtr == VK_QUEUE_FAMILY_FOREIGN_EXT) { - *queueFamilyIndexPtr = VK_QUEUE_FAMILY_EXTERNAL; + void ConvertQueueFamilyForeignToExternal(uint32_t* queue_family_index_ptr) { + if (*queue_family_index_ptr == VK_QUEUE_FAMILY_FOREIGN_EXT) { + *queue_family_index_ptr = VK_QUEUE_FAMILY_EXTERNAL; + } + } + + void ConvertQueueFamilyIgnored(uint32_t* src_queue_family_index_ptr, uint32_t* dst_queue_family_index_ptr) { + if (*src_queue_family_index_ptr == *dst_queue_family_index_ptr) { + *src_queue_family_index_ptr = VK_QUEUE_FAMILY_IGNORED; + *dst_queue_family_index_ptr = VK_QUEUE_FAMILY_IGNORED; } } void convertQueueFamilyForeignToExternal_VkBufferMemoryBarrier( VkBufferMemoryBarrier& barrier) { - convertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); - convertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyIgnored(&barrier.srcQueueFamilyIndex, &barrier.dstQueueFamilyIndex); } void convertQueueFamilyForeignToExternal_VkImageMemoryBarrier( VkImageMemoryBarrier& barrier) { - convertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); - convertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyIgnored(&barrier.srcQueueFamilyIndex, &barrier.dstQueueFamilyIndex); } void convertQueueFamilyForeignToExternal_VkBufferMemoryBarrier2( VkBufferMemoryBarrier2& barrier) { - convertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); - convertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyIgnored(&barrier.srcQueueFamilyIndex, &barrier.dstQueueFamilyIndex); } void convertQueueFamilyForeignToExternal_VkImageMemoryBarrier2( VkImageMemoryBarrier2& barrier) { - convertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); - convertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.srcQueueFamilyIndex); + ConvertQueueFamilyForeignToExternal(&barrier.dstQueueFamilyIndex); + ConvertQueueFamilyIgnored(&barrier.srcQueueFamilyIndex, &barrier.dstQueueFamilyIndex); } inline VkImage getIMBImage(const VkImageMemoryBarrier& imb) { return imb.image; } @@ -6595,7 +7020,8 @@ class VkDecoderGlobalState::Impl { uint32_t virtioGpuContextId = 0; VkMemoryPropertyFlags memoryPropertyFlags; - bool deviceHasDmabufExt = false; + // Only read where dma-buf exists. + [[maybe_unused]] bool deviceHasDmabufExt = false; // Map guest memory index to host memory index and lookup memory properties: { @@ -6708,15 +7134,25 @@ class VkDecoderGlobalState::Impl { #endif } else if (m_vkEmulation->getFeatures().SystemBlob.enabled() || m_vkEmulation->getFeatures().VulkanAllocateHostVisibleAsUdmabuf.enabled()) { + // A system blob is imported as a host pointer, and a driver can ask for a + // coarser alignment than a page: Apple silicon pages are 16KB. + uint64_t blobAlignment = kPageSizeforBlob; + if (m_vkEmulation->supportsExternalMemoryHostProperties()) { + blobAlignment = std::max(blobAlignment, + m_vkEmulation->externalMemoryHostProperties() + .minImportedHostPointerAlignment); + } + // Ensure size is page-aligned. - VkDeviceSize alignedSize = ALIGN(localAllocInfo.allocationSize, kPageSizeforBlob); + VkDeviceSize alignedSize = ALIGN(localAllocInfo.allocationSize, blobAlignment); if (alignedSize != localAllocInfo.allocationSize) { GFXSTREAM_ERROR("Warning: Aligning allocation size from %llu to %llu", static_cast(localAllocInfo.allocationSize), static_cast(alignedSize)); } localAllocInfo.allocationSize = alignedSize; - auto memory = SharedMemory("shared-memory-vk-" + std::to_string(sUniqueShmemId++), + auto memory = SharedMemory("shared-memory-vk-" + std::to_string(getpid()) + "-" + + std::to_string(sUniqueShmemId++), localAllocInfo.allocationSize); if (m_vkEmulation->getFeatures().VulkanAllocateHostVisibleAsUdmabuf.enabled()) { @@ -6761,8 +7197,7 @@ class VkDecoderGlobalState::Impl { return VK_ERROR_OUT_OF_HOST_MEMORY; } mappedPtr = memory.get(); - int mappedPtrAlignment = - reinterpret_cast(mappedPtr) % kPageSizeforBlob; + int mappedPtrAlignment = reinterpret_cast(mappedPtr) % blobAlignment; if (mappedPtrAlignment != 0) { GFXSTREAM_ERROR( "Warning: Mapped shared memory pointer is not aligned to page size, " @@ -7088,6 +7523,20 @@ class VkDecoderGlobalState::Impl { return false; } + // Convenience function to call vkEnumerateInstanceExtensionProperties and get the results as an + // std::vector + VkResult enumerateInstanceExtensionProperties(VulkanDispatch* vk, const char* pLayerName, + std::vector& properties) { + uint32_t propertyCount = 0; + VkResult result = + vk->vkEnumerateInstanceExtensionProperties(pLayerName, &propertyCount, nullptr); + if (result != VK_SUCCESS) return result; + + properties.resize(propertyCount); + return vk->vkEnumerateInstanceExtensionProperties(pLayerName, &propertyCount, + properties.data()); + } + // Convenience function to call vkEnumerateDeviceExtensionProperties and get the results as an // std::vector VkResult enumerateDeviceExtensionProperties(VulkanDispatch* vk, VkPhysicalDevice physicalDevice, @@ -7336,7 +7785,11 @@ class VkDecoderGlobalState::Impl { auto* deviceInfo = gfxstream::base::find(mDeviceInfo, device); if (!deviceInfo) return VK_ERROR_OUT_OF_HOST_MEMORY; - hostBlobId = (info->blobId && !hostBlobId) ? info->blobId : hostBlobId; + if (hostBlobId) { + info->hostmemId = hostBlobId; + } else { + hostBlobId = info->blobId; + } if ((m_vkEmulation->getFeatures().SystemBlob.enabled() || m_vkEmulation->getFeatures().VulkanAllocateHostVisibleAsUdmabuf.enabled()) && @@ -7347,7 +7800,10 @@ class VkDecoderGlobalState::Impl { ExternalObjectManager::get()->addBlobDescriptorInfo( virtioGpuContextId, hostBlobId, info->sharedMemory->releaseHandle(), STREAM_HANDLE_TYPE_MEM_SHM, info->caching, std::nullopt); - } else if (m_vkEmulation->getFeatures().ExternalBlob.enabled()) { + } else if (m_vkEmulation->getFeatures().ExternalBlob.enabled() || + info->boundColorBuffer.has_value()) { + // A ColorBuffer's memory must always be exported for scanout, regardless of + // ExternalBlob (which only governs the map_blob transport for non-scanout memory). #ifdef __APPLE__ if (m_vkEmulation->getExternalMemoryMode() == ExternalMemory::Mode::Metal) { GFXSTREAM_FATAL("ExternalBlob feature is not supported with external memory metal"); @@ -7367,7 +7823,7 @@ class VkDecoderGlobalState::Impl { memcpy(vulkanInfo.driverUUID, driverUuidOpt->data(), sizeof(vulkanInfo.driverUUID)); } - if (snapshotsEnabled()) { + if (snapshotsEnabled() && !info->needUnmap) { VkResult mapResult = vk->vkMapMemory(device, memory, 0, info->size, 0, &info->ptr); if (mapResult != VK_SUCCESS) { return VK_ERROR_OUT_OF_HOST_MEMORY; @@ -7418,7 +7874,6 @@ class VkDecoderGlobalState::Impl { ExternalObjectManager::get()->addMapping(virtioGpuContextId, hostBlobId, (void*)(uintptr_t)alignedHva, info->caching); info->virtioGpuMapped = true; - info->hostmemId = hostBlobId; } return VK_SUCCESS; @@ -7433,7 +7888,7 @@ class VkDecoderGlobalState::Impl { VkSnapshotApiCallHandle, VkDevice boxed_device, VkDeviceMemory memory, uint64_t* pAddress, uint64_t* pSize, uint64_t* pHostmemId) { - uint64_t hostBlobId = sNextHostBlobId++; + uint64_t hostBlobId = mNextHostBlobId++; *pHostmemId = hostBlobId; return vkGetBlobInternal(boxed_device, memory, hostBlobId); } @@ -7687,6 +8142,7 @@ class VkDecoderGlobalState::Impl { const VkSubmitInfo* pSubmits, VkFence fence) { VkResult res = vk->vkQueueSubmit(unboxed_queue, submitCount, pSubmits, fence); if (res != VK_SUCCESS) { + GFXSTREAM_VERBOSE("vkQueueSubmit failed with %s [%d]", string_VkResult(res), res); return res; } @@ -7714,6 +8170,7 @@ class VkDecoderGlobalState::Impl { const VkSubmitInfo2* pSubmits, VkFence fence) { VkResult res = vk->vkQueueSubmit2(unboxed_queue, submitCount, pSubmits, fence); if (res != VK_SUCCESS) { + GFXSTREAM_VERBOSE("vkQueueSubmit2 failed with %s [%d]", string_VkResult(res), res); return res; } @@ -7940,6 +8397,7 @@ class VkDecoderGlobalState::Impl { if (result != VK_SUCCESS) { GFXSTREAM_WARNING("dispatchVkQueueSubmit failed: %s [%d]", string_VkResult(result), result); + builder.OnQueueSubmissionAborted(usedFence); return result; } } else { @@ -7977,6 +8435,7 @@ class VkDecoderGlobalState::Impl { if (result != VK_SUCCESS) { GFXSTREAM_WARNING("dispatchVkQueueSubmit failed: %s [%d]", string_VkResult(result), result); + builder.OnQueueSubmissionAborted(usedFence); return result; } } @@ -8075,7 +8534,7 @@ class VkDecoderGlobalState::Impl { for (uint32_t i = 0; i < submitCount; ++i) { const uint32_t cmdCount = getCommandBufferCount(pSubmits[i]); for (uint32_t j = 0; j < cmdCount; ++j) { - auto commandBuffer = getCommandBuffer(pSubmits[i], i); + auto commandBuffer = getCommandBuffer(pSubmits[i], j); processEventsForSubmittedCommandBuffer(queue, commandBuffer); } } @@ -9935,6 +10394,22 @@ class VkDecoderGlobalState::Impl { } } + VkFormat resolveAhbFormat(VkFormat format) { + // Use UNORM formats for SRGB format requests. + switch (format) { + case VK_FORMAT_R8G8B8A8_SRGB: + return VK_FORMAT_R8G8B8A8_UNORM; + case VK_FORMAT_R8G8B8_SRGB: + return VK_FORMAT_R8G8B8_UNORM; + case VK_FORMAT_B8G8R8A8_SRGB: + return VK_FORMAT_B8G8R8A8_UNORM; + case VK_FORMAT_R8_SRGB: + return VK_FORMAT_R8_UNORM; + default: + return format; + } + } + void transformImpl_VkImageCreateInfo_tohost(const VkImageCreateInfo* pImageCreateInfos, uint32_t count) { for (uint32_t i = 0; i < count; i++) { @@ -9969,24 +10444,7 @@ class VkDecoderGlobalState::Impl { // the contents of the memory differently, ... std::unique_ptr colorBufferVkImageCi = nullptr; const char* importSourceDebug = ""; - VkFormat resolvedFormat = VK_FORMAT_UNDEFINED; - // Use UNORM formats for SRGB format requests. - switch (imageCreateInfo.format) { - case VK_FORMAT_R8G8B8A8_SRGB: - resolvedFormat = VK_FORMAT_R8G8B8A8_UNORM; - break; - case VK_FORMAT_R8G8B8_SRGB: - resolvedFormat = VK_FORMAT_R8G8B8_UNORM; - break; - case VK_FORMAT_B8G8R8A8_SRGB: - resolvedFormat = VK_FORMAT_B8G8R8A8_UNORM; - break; - case VK_FORMAT_R8_SRGB: - resolvedFormat = VK_FORMAT_R8_UNORM; - break; - default: - resolvedFormat = imageCreateInfo.format; - } + VkFormat resolvedFormat = resolveAhbFormat(imageCreateInfo.format); if (importAndroidHardwareBuffer) { // For AHardwareBufferImage binding, we can't know which ColorBuffer this // to-be-created VkImage will bind to, so we try our best to infer the creation @@ -10153,7 +10611,10 @@ class VkDecoderGlobalState::Impl { } \ } - DEFINE_EXTERNAL_HANDLE_TYPE_TRANSFORM(VkPhysicalDeviceExternalImageFormatInfo, handleType) + void transformImpl_VkPhysicalDeviceExternalImageFormatInfo_tohost( + const VkPhysicalDeviceExternalImageFormatInfo*, uint32_t) {} + void transformImpl_VkPhysicalDeviceExternalImageFormatInfo_fromhost( + const VkPhysicalDeviceExternalImageFormatInfo*, uint32_t) {} DEFINE_EXTERNAL_HANDLE_TYPE_TRANSFORM(VkPhysicalDeviceExternalBufferInfo, handleType) DEFINE_EXTERNAL_HANDLE_TYPE_TRANSFORM(VkExternalMemoryImageCreateInfo, handleTypes) DEFINE_EXTERNAL_HANDLE_TYPE_TRANSFORM(VkExternalMemoryBufferCreateInfo, handleTypes) @@ -10345,14 +10806,32 @@ class VkDecoderGlobalState::Impl { return false; } - void updateImageMemorySizeLocked(VkDevice device, VkImage image, - VkMemoryRequirements* pMemoryRequirements) REQUIRES(mMutex) { + VkImageTiling imageTilingLocked(VkImage image) REQUIRES(mMutex) { auto* imageInfo = gfxstream::base::find(mImageInfo, image); - if (!imageInfo || !imageInfo->compressInfo) { + return imageInfo ? imageInfo->imageCreateInfoShallow.tiling : VK_IMAGE_TILING_OPTIMAL; + } + + void updateImageMemoryRequirementsLocked(VkDevice device, VkImage image, + VkMemoryRequirements* pMemoryRequirements) + REQUIRES(mMutex) { + auto* imageInfo = gfxstream::base::find(mImageInfo, image); + if (!imageInfo) return; + + if (imageInfo->compressInfo) { + *pMemoryRequirements = imageInfo->compressInfo->getMemoryRequirements(); return; } - - *pMemoryRequirements = imageInfo->compressInfo->getMemoryRequirements(); +#ifdef __ANDROID__ + // A driver that defers an AHB-external image's layout answers size=0 until bind. Answer + // with what the image's own AHB needs instead. Host memory type indices here; the caller + // must still run transformToGuestMemoryRequirements afterwards. + if (pMemoryRequirements && pMemoryRequirements->size == 0 && + imageInfo->deferredLayout.size > 0) { + pMemoryRequirements->size = imageInfo->deferredLayout.size; + pMemoryRequirements->alignment = imageInfo->deferredLayout.alignment; + pMemoryRequirements->memoryTypeBits = imageInfo->deferredLayout.memoryTypeBits; + } +#endif } bool enableEmulatedEtc2() const { return m_vkEmulation->isEtc2EmulationEnabled(); } @@ -10659,6 +11138,36 @@ class VkDecoderGlobalState::Impl { pFormatProp->formatProperties.bufferFeatures &= kEmulatedTextureBufferFeatureMask; } + static const VkFormatFeatureFlags kUnsupportedFormatFeatureFlags = + VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR | + VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR | + VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR | + VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR; + + static const VkFormatFeatureFlags2 kUnsupportedFormatFeatureFlags2 = + VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR | + VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR | + VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR | + VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR | + VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR | + VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR; + + void maskFormatPropertiesForUnsupportedExtensions(VkFormatProperties* pFormatProp) { + pFormatProp->linearTilingFeatures &= ~kUnsupportedFormatFeatureFlags; + pFormatProp->optimalTilingFeatures &= ~kUnsupportedFormatFeatureFlags; + pFormatProp->bufferFeatures &= ~kUnsupportedFormatFeatureFlags; + } + + void maskFormatPropertiesForUnsupportedExtensions(VkFormatProperties2* pFormatProp) { + maskFormatPropertiesForUnsupportedExtensions(&pFormatProp->formatProperties); + VkFormatProperties3* formatProps3 = vk_find_struct(pFormatProp); + if (formatProps3) { + formatProps3->linearTilingFeatures &= ~kUnsupportedFormatFeatureFlags2; + formatProps3->optimalTilingFeatures &= ~kUnsupportedFormatFeatureFlags2; + formatProps3->bufferFeatures &= ~kUnsupportedFormatFeatureFlags2; + } + } + void maskImageFormatPropertiesForEmulatedTextures(VkImageFormatProperties* pProperties) { // dEQP-VK.api.info.image_format_properties.2d.optimal#etc2_r8g8b8_unorm_block pProperties->sampleCounts &= VK_SAMPLE_COUNT_1_BIT; @@ -10675,9 +11184,11 @@ class VkDecoderGlobalState::Impl { physicalDevice, CompressedImageInfo::getOutputFormat(format), pFormatProperties); maskFormatPropertiesForEmulatedTextures(pFormatProperties); + maskFormatPropertiesForUnsupportedExtensions(pFormatProperties); return; } getPhysicalDeviceFormatPropertiesFunc(physicalDevice, format, pFormatProperties); + maskFormatPropertiesForUnsupportedExtensions(pFormatProperties); } template vkDestroyDebugUtilsMessengerEXT) { + vk->vkDestroyDebugUtilsMessengerEXT(instance, instanceInfo.debugMessenger, nullptr); + } + } + m_vk->vkDestroyInstance(instance, nullptr); GFXSTREAM_INFO("Destroyed VkInstance:%p for application:'%s' engine:'%s'.", instance, instanceInfo.applicationName.c_str(), instanceInfo.engineName.c_str()); @@ -10914,14 +11432,6 @@ class VkDecoderGlobalState::Impl { sBoxedHandleManager.getHandlesCount()); } - bool isDescriptorTypeImageInfo(VkDescriptorType descType) { - return (descType == VK_DESCRIPTOR_TYPE_SAMPLER) || - (descType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) || - (descType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE) || - (descType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) || - (descType == VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT); - } - bool descriptorTypeContainsImage(VkDescriptorType descType) { return (descType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) || (descType == VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE) || @@ -10934,18 +11444,6 @@ class VkDecoderGlobalState::Impl { (descType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER); } - bool isDescriptorTypeBufferInfo(VkDescriptorType descType) { - return (descType == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER) || - (descType == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC) || - (descType == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER) || - (descType == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC); - } - - bool isDescriptorTypeBufferView(VkDescriptorType descType) { - return (descType == VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER) || - (descType == VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER); - } - bool isDescriptorTypeInlineUniformBlock(VkDescriptorType descType) { return descType == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT; } @@ -10974,92 +11472,6 @@ class VkDecoderGlobalState::Impl { } } - DescriptorUpdateTemplateInfo calcLinearizedDescriptorUpdateTemplateInfo( - const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo) { - DescriptorUpdateTemplateInfo res; - res.createInfo = *pCreateInfo; - - size_t numImageInfos = 0; - size_t numBufferInfos = 0; - size_t numBufferViews = 0; - size_t numInlineUniformBlocks = 0; - - for (uint32_t i = 0; i < pCreateInfo->descriptorUpdateEntryCount; ++i) { - const auto& entry = pCreateInfo->pDescriptorUpdateEntries[i]; - auto type = entry.descriptorType; - auto count = entry.descriptorCount; - if (isDescriptorTypeImageInfo(type)) { - numImageInfos += count; - } else if (isDescriptorTypeBufferInfo(type)) { - numBufferInfos += count; - } else if (isDescriptorTypeBufferView(type)) { - numBufferViews += count; - } else if (type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) { - numInlineUniformBlocks += count; - } else { - const std::string typeString = string_VkDescriptorType(type); - GFXSTREAM_FATAL("Unhandled descriptor type %s.", typeString.c_str()); - } - } - - size_t imageInfoBytes = numImageInfos * sizeof(VkDescriptorImageInfo); - size_t bufferInfoBytes = numBufferInfos * sizeof(VkDescriptorBufferInfo); - size_t bufferViewBytes = numBufferViews * sizeof(VkBufferView); - size_t inlineUniformBlockBytes = numInlineUniformBlocks; - - res.data.resize(imageInfoBytes + bufferInfoBytes + bufferViewBytes + - inlineUniformBlockBytes); - res.imageInfoStart = 0; - res.imageInfoCount = numImageInfos; - res.bufferInfoStart = imageInfoBytes; - res.bufferInfoCount = numBufferInfos; - res.bufferViewStart = imageInfoBytes + bufferInfoBytes; - res.bufferViewCount = numBufferViews; - res.inlineUniformBlockStart = imageInfoBytes + bufferInfoBytes + bufferViewBytes; - res.inlineUniformBlockCount = numInlineUniformBlocks; - - size_t imageInfoCount = 0; - size_t bufferInfoCount = 0; - size_t bufferViewCount = 0; - size_t inlineUniformBlockCount = 0; - - for (uint32_t i = 0; i < pCreateInfo->descriptorUpdateEntryCount; ++i) { - const auto& entry = pCreateInfo->pDescriptorUpdateEntries[i]; - VkDescriptorUpdateTemplateEntry entryForHost = entry; - - auto type = entry.descriptorType; - - if (isDescriptorTypeImageInfo(type)) { - entryForHost.offset = - res.imageInfoStart + imageInfoCount * sizeof(VkDescriptorImageInfo); - entryForHost.stride = sizeof(VkDescriptorImageInfo); - ++imageInfoCount; - } else if (isDescriptorTypeBufferInfo(type)) { - entryForHost.offset = - res.bufferInfoStart + bufferInfoCount * sizeof(VkDescriptorBufferInfo); - entryForHost.stride = sizeof(VkDescriptorBufferInfo); - ++bufferInfoCount; - } else if (isDescriptorTypeBufferView(type)) { - entryForHost.offset = res.bufferViewStart + bufferViewCount * sizeof(VkBufferView); - entryForHost.stride = sizeof(VkBufferView); - ++bufferViewCount; - } else if (type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) { - entryForHost.offset = res.inlineUniformBlockStart + inlineUniformBlockCount; - entryForHost.stride = 0; - inlineUniformBlockCount += entryForHost.descriptorCount; - } else { - const std::string typeString = string_VkDescriptorType(type); - GFXSTREAM_FATAL("Unhandled descriptor type %s.", typeString.c_str()); - } - - res.linearizedTemplateEntries.push_back(entryForHost); - } - - res.createInfo.pDescriptorUpdateEntries = res.linearizedTemplateEntries.data(); - - return res; - } - void registerDescriptorUpdateTemplate(VkDescriptorUpdateTemplate descriptorUpdateTemplate, const DescriptorUpdateTemplateInfo& info) { std::lock_guard lock(mMutex); @@ -11179,6 +11591,8 @@ class VkDecoderGlobalState::Impl { } } + std::atomic mNextHostBlobId{1}; + // Info tracking for vulkan objects std::unordered_map mInstanceInfo GUARDED_BY(mMutex); std::unordered_map mPhysdevInfo GUARDED_BY(mMutex); @@ -11583,6 +11997,20 @@ void VkDecoderGlobalState::on_vkGetPhysicalDeviceSparseImageFormatProperties2KHR mImpl->on_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(pool, apiCallHandle, physicalDevice, pFormatInfo, pPropertyCount, pProperties); } +void VkDecoderGlobalState::on_vkGetDeviceBufferMemoryRequirements( + gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, + const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) { + mImpl->on_vkGetDeviceBufferMemoryRequirements(pool, apiCallHandle, device, pInfo, + pMemoryRequirements); +} + +void VkDecoderGlobalState::on_vkGetDeviceBufferMemoryRequirementsKHR( + gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, + const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) { + mImpl->on_vkGetDeviceBufferMemoryRequirements(pool, apiCallHandle, device, pInfo, + pMemoryRequirements); +} + void VkDecoderGlobalState::on_vkGetDeviceImageMemoryRequirements( gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) { @@ -12015,6 +12443,13 @@ void VkDecoderGlobalState::on_vkCmdCopyImageToBuffer2KHR( mImpl->on_vkCmdCopyImageToBuffer2KHR(pool, apiCallHandle, commandBuffer, pCopyImageToBufferInfo); } +void VkDecoderGlobalState::on_vkGetImageSubresourceLayout( + gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, + VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) { + mImpl->on_vkGetImageSubresourceLayout(pool, apiCallHandle, device, image, pSubresource, + pLayout); +} + void VkDecoderGlobalState::on_vkGetImageMemoryRequirements( gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) { diff --git a/host/vulkan/vk_decoder_global_state.h b/host/vulkan/vk_decoder_global_state.h index 204e2e51b..164c5aaf1 100644 --- a/host/vulkan/vk_decoder_global_state.h +++ b/host/vulkan/vk_decoder_global_state.h @@ -235,6 +235,17 @@ class VkDecoderGlobalState { VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); + void on_vkGetDeviceBufferMemoryRequirements(gfxstream::base::BumpPool* pool, + VkSnapshotApiCallHandle apiCallHandle, + VkDevice device, + const VkDeviceBufferMemoryRequirements* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + void on_vkGetDeviceBufferMemoryRequirementsKHR(gfxstream::base::BumpPool* pool, + VkSnapshotApiCallHandle apiCallHandle, + VkDevice device, + const VkDeviceBufferMemoryRequirements* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + void on_vkGetDeviceImageMemoryRequirements(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, @@ -457,6 +468,11 @@ class VkDecoderGlobalState { VkSnapshotApiCallHandle apiCallHandle, VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); + void on_vkGetImageSubresourceLayout(gfxstream::base::BumpPool* pool, + VkSnapshotApiCallHandle apiCallHandle, VkDevice device, + VkImage image, const VkImageSubresource* pSubresource, + VkSubresourceLayout* pLayout); + void on_vkGetImageMemoryRequirements2(gfxstream::base::BumpPool* pool, VkSnapshotApiCallHandle apiCallHandle, VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, diff --git a/host/vulkan/vk_decoder_global_state_unittest.cpp b/host/vulkan/vk_decoder_global_state_unittest.cpp deleted file mode 100644 index aa517cca6..000000000 --- a/host/vulkan/vk_decoder_global_state_unittest.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// copyright (c) 2022 the android open source project -// -// licensed under the apache license, version 2.0 (the "license"); -// you may not use this file except in compliance with the license. -// you may obtain a copy of the license at -// -// http://www.apache.org/licenses/license-2.0 -// -// unless required by applicable law or agreed to in writing, software -// distributed under the license is distributed on an "as is" basis, -// without warranties or conditions of any kind, either express or implied. -// see the license for the specific language governing permissions and -// limitations under the license. - -#include "vk_decoder_global_state.cpp" - -#include -#include - -#include "gfxstream/testing/TestUtils.h" - -namespace gfxstream { -namespace host { -namespace vk { -namespace { -using ::testing::_; -using ::testing::InSequence; -using ::testing::MockFunction; -using ::testing::Return; -using ::testing::Test; -using ::testing::UnorderedElementsAre; - -class VkDecoderGlobalStateExternalFenceTest : public Test { -protected: - class MockDispatch { - public: - MOCK_METHOD(VkResult, vkGetFenceStatus, (VkDevice device, VkFence fence), ()); - MOCK_METHOD(VkResult, - vkResetFences, - (VkDevice device, uint32_t numFences, const VkFence* fence), - ()); - }; - - VkDecoderGlobalStateExternalFenceTest() - : mDevice(reinterpret_cast(0x2222'0000)), mPool(&mMockDispatch, mDevice) {} - - ~VkDecoderGlobalStateExternalFenceTest() { - mPool.popAll(); - } - - MockDispatch mMockDispatch; - VkDevice mDevice; - ExternalFencePool mPool; -}; - -using VkDecoderGlobalStateExternalFenceDeathTest = VkDecoderGlobalStateExternalFenceTest; - -TEST_F(VkDecoderGlobalStateExternalFenceTest, poolNoDeviceFences) { - VkFenceCreateInfo createInfo{ - .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, - .pNext = 0, - .flags = 0, - }; - ASSERT_EQ(VK_NULL_HANDLE, mPool.pop(&createInfo)); -} - -TEST_F(VkDecoderGlobalStateExternalFenceTest, poolReuseSignalledFence) { - { - InSequence s; - EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).WillOnce(Return(VK_SUCCESS)); - EXPECT_CALL(mMockDispatch, vkResetFences(_, _, _)).WillOnce(Return(VK_SUCCESS)); - } - - VkFence fence = reinterpret_cast(0x1234'0000); - VkFenceCreateInfo createInfo{ - .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, - .pNext = 0, - .flags = 0, - }; - mPool.add(fence); - VkFence reusedFence = mPool.pop(&createInfo); - - ASSERT_EQ(fence, reusedFence); -} - -TEST_F(VkDecoderGlobalStateExternalFenceTest, poolReuseSignalledFenceAsSignaled) { - { - InSequence s; - EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).WillOnce(Return(VK_SUCCESS)); - EXPECT_CALL(mMockDispatch, vkResetFences(_, _, _)).Times(0); - } - - VkFence fence = reinterpret_cast(0x1234'0000); - VkFenceCreateInfo createInfo{ - .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, - .pNext = 0, - .flags = VK_FENCE_CREATE_SIGNALED_BIT, - }; - mPool.add(fence); - VkFence reusedFence = mPool.pop(&createInfo); - - ASSERT_EQ(fence, reusedFence); -} - -TEST_F(VkDecoderGlobalStateExternalFenceTest, poolUnsignalledFence) { - { - InSequence s; - EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).WillOnce(Return(VK_NOT_READY)); - EXPECT_CALL(mMockDispatch, vkResetFences(_, _, _)).Times(0); - } - - VkFence fence = reinterpret_cast(0x1234'0000); - VkFenceCreateInfo createInfo{ - .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, - .pNext = 0, - .flags = 0, - }; - mPool.add(fence); - - ASSERT_EQ(VK_NULL_HANDLE, mPool.pop(&createInfo)); -} - -TEST_F(VkDecoderGlobalStateExternalFenceTest, poolPopAll) { - VkFence fence1 = reinterpret_cast(0x1234'0000); - VkFence fence2 = reinterpret_cast(0x2234'0000); - VkFence fence3 = reinterpret_cast(0x3234'0000); - mPool.add(fence1); - mPool.add(fence2); - mPool.add(fence3); - - std::vector result = mPool.popAll(); - ASSERT_THAT(result, UnorderedElementsAre(fence1, fence2, fence3)); -} - -TEST_F(VkDecoderGlobalStateExternalFenceDeathTest, undestroyedFences) { - ASSERT_DEATH( - { - ExternalFencePool pool(&mMockDispatch, mDevice); - VkFence fence = reinterpret_cast(0x1234'0000); - pool.add(fence); - }, - MatchesStdRegex( - "External fence pool for VkDevice:0000000022220000|0x22220000 destroyed but 1 " - "fences still not destroyed.")); -} - -} // namespace -} // namespace vk -} // namespace host -} // namespace gfxstream diff --git a/host/vulkan/vk_decoder_internal_structs.h b/host/vulkan/vk_decoder_internal_structs.h index 75dc2199b..8cd873d3c 100644 --- a/host/vulkan/vk_decoder_internal_structs.h +++ b/host/vulkan/vk_decoder_internal_structs.h @@ -16,6 +16,10 @@ #include +#ifdef __ANDROID__ +#include +#endif + #ifdef _WIN32 #include #endif @@ -23,12 +27,15 @@ #include #include +#include #include #include #include #include #include +#include "vk_vvl_configuration.h" + #include "common/goldfish_vk_deepcopy.h" #include "debug_utils_helper.h" #include "device_op_tracker.h" @@ -211,6 +218,8 @@ struct InstanceInfo { std::string applicationName; std::string engineName; uint32_t contextId = 0; + std::unique_ptr debugContext; + VkDebugUtilsMessengerEXT debugMessenger = VK_NULL_HANDLE; }; struct PhysicalDeviceInfo { @@ -242,6 +251,7 @@ struct DeviceInfo { std::unique_ptr decompPipelines = nullptr; DeviceOpTrackerPtr deviceOpTracker = nullptr; std::optional virtioGpuContextId; + uint32_t maxImageDimension2D = 0; // Physical device limit cached for efficient validation bool needEmulatedDecompression(VkFormat format) { return (emulateTextureEtc2 && isEtc2(format)) || @@ -359,6 +369,20 @@ struct ImageInfo { // TODO: might need to use an array of layouts to represent each sub resource VkImageLayout layout = VK_IMAGE_LAYOUT_UNDEFINED; VkDeviceMemory memory = VK_NULL_HANDLE; + // From VkExternalMemoryImageCreateInfo; imageCreateInfoShallow drops pNext. + VkExternalMemoryHandleTypeFlags externalHandleTypes = 0; +#ifdef __ANDROID__ + // Set when a driver defers an AHB-external image's layout to vkBindImageMemory and reports + // size=0 until then. The AHB is shared_ptr-held so every mImageInfo teardown path frees it. + struct DeferredLayoutInfo { + std::shared_ptr ahb; + VkDeviceSize size = 0; + VkDeviceSize alignment = 0; + uint32_t memoryTypeBits = 0; + VkDeviceSize rowPitch = 0; + }; + DeferredLayoutInfo deferredLayout; +#endif }; struct ImageViewInfo { @@ -492,6 +516,9 @@ struct DescriptorUpdateTemplateInfo { uint32_t inlineUniformBlockCount = 0; }; +DescriptorUpdateTemplateInfo calcLinearizedDescriptorUpdateTemplateInfo( + const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo); + struct DescriptorPoolInfo { VkDevice device = 0; VkDescriptorPool boxed = 0; diff --git a/host/vulkan/vk_decoder_internal_structs_tests.cpp b/host/vulkan/vk_decoder_internal_structs_tests.cpp new file mode 100644 index 000000000..cc692761b --- /dev/null +++ b/host/vulkan/vk_decoder_internal_structs_tests.cpp @@ -0,0 +1,284 @@ +// copyright (c) 2022 the android open source project +// +// licensed under the apache license, version 2.0 (the "license"); +// you may not use this file except in compliance with the license. +// you may obtain a copy of the license at +// +// http://www.apache.org/licenses/license-2.0 +// +// unless required by applicable law or agreed to in writing, software +// distributed under the license is distributed on an "as is" basis, +// without warranties or conditions of any kind, either express or implied. +// see the license for the specific language governing permissions and +// limitations under the license. + +#include "vk_decoder_internal_structs.h" + +#include +#include + +#include "gfxstream/testing/TestUtils.h" + +namespace gfxstream { +namespace host { +namespace vk { +namespace { +using ::testing::_; +using ::testing::InSequence; +using ::testing::MockFunction; +using ::testing::Return; +using ::testing::Test; +using ::testing::UnorderedElementsAre; + +class ExternalFencePoolTest : public Test { +protected: + class MockDispatch { + public: + MOCK_METHOD(VkResult, vkGetFenceStatus, (VkDevice device, VkFence fence), ()); + MOCK_METHOD(VkResult, + vkResetFences, + (VkDevice device, uint32_t numFences, const VkFence* fence), + ()); + }; + + ExternalFencePoolTest() + : mDevice(reinterpret_cast(0x2222'0000)), mPool(&mMockDispatch, mDevice) {} + + ~ExternalFencePoolTest() { + mPool.popAll(); + } + + MockDispatch mMockDispatch; + VkDevice mDevice; + ExternalFencePool mPool; +}; + +using ExternalFencePoolDeathTest = ExternalFencePoolTest; + +TEST_F(ExternalFencePoolTest, poolNoDeviceFences) { + VkFenceCreateInfo createInfo{ + .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, + .pNext = 0, + .flags = 0, + }; + ASSERT_EQ(VK_NULL_HANDLE, mPool.pop(&createInfo)); +} + +TEST_F(ExternalFencePoolTest, poolReuseSignalledFence) { + { + InSequence s; + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).WillOnce(Return(VK_SUCCESS)); + EXPECT_CALL(mMockDispatch, vkResetFences(_, _, _)).WillOnce(Return(VK_SUCCESS)); + } + + VkFence fence = reinterpret_cast(0x1234'0000); + VkFenceCreateInfo createInfo{ + .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, + .pNext = 0, + .flags = 0, + }; + mPool.add(fence); + VkFence reusedFence = mPool.pop(&createInfo); + + ASSERT_EQ(fence, reusedFence); +} + +TEST_F(ExternalFencePoolTest, poolReuseSignalledFenceAsSignaled) { + { + InSequence s; + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).WillOnce(Return(VK_SUCCESS)); + EXPECT_CALL(mMockDispatch, vkResetFences(_, _, _)).Times(0); + } + + VkFence fence = reinterpret_cast(0x1234'0000); + VkFenceCreateInfo createInfo{ + .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, + .pNext = 0, + .flags = VK_FENCE_CREATE_SIGNALED_BIT, + }; + mPool.add(fence); + VkFence reusedFence = mPool.pop(&createInfo); + + ASSERT_EQ(fence, reusedFence); +} + +TEST_F(ExternalFencePoolTest, poolUnsignalledFence) { + { + InSequence s; + EXPECT_CALL(mMockDispatch, vkGetFenceStatus(_, _)).WillOnce(Return(VK_NOT_READY)); + EXPECT_CALL(mMockDispatch, vkResetFences(_, _, _)).Times(0); + } + + VkFence fence = reinterpret_cast(0x1234'0000); + VkFenceCreateInfo createInfo{ + .sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO, + .pNext = 0, + .flags = 0, + }; + mPool.add(fence); + + ASSERT_EQ(VK_NULL_HANDLE, mPool.pop(&createInfo)); +} + +TEST_F(ExternalFencePoolTest, poolPopAll) { + VkFence fence1 = reinterpret_cast(0x1234'0000); + VkFence fence2 = reinterpret_cast(0x2234'0000); + VkFence fence3 = reinterpret_cast(0x3234'0000); + mPool.add(fence1); + mPool.add(fence2); + mPool.add(fence3); + + std::vector result = mPool.popAll(); + ASSERT_THAT(result, UnorderedElementsAre(fence1, fence2, fence3)); +} + +TEST_F(ExternalFencePoolDeathTest, undestroyedFences) { + ASSERT_DEATH( + { + ExternalFencePool pool(&mMockDispatch, mDevice); + VkFence fence = reinterpret_cast(0x1234'0000); + pool.add(fence); + }, + MatchesStdRegex( + "External fence pool for VkDevice:0000000022220000|0x22220000 destroyed but 1 " + "fences still not destroyed.")); +} + +TEST(VkDecoderGlobalStateDescriptorUpdateTemplateTest, linearizedEntriesSkipWholeArrays) { + constexpr size_t kImageInfoSize = sizeof(VkDescriptorImageInfo); + constexpr size_t kBufferInfoSize = sizeof(VkDescriptorBufferInfo); + constexpr size_t kBufferViewSize = sizeof(VkBufferView); + + struct TestEntryInfo { + uint32_t descriptorBinding; + uint32_t descriptorCount; + VkDescriptorType descriptorType; + + // Expected offset and stride into the linearized buffer. + size_t expectedOffset; + size_t expectedStride; + }; + // Each array entry is followed by an entry of the same kind, which has to start after all of + // the array's elements: every entry's offset is the previous entry's offset plus the size of + // the previous entry's descriptor type times its descriptorCount. + const std::vector infos = { + { + .descriptorBinding = 0, + .descriptorCount = 3, + .descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, + .expectedOffset = 0, + .expectedStride = kImageInfoSize, + }, + { + .descriptorBinding = 1, + .descriptorCount = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, + .expectedOffset = 3 * kImageInfoSize, + .expectedStride = kImageInfoSize, + }, + { + .descriptorBinding = 2, + .descriptorCount = 2, + .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, + .expectedOffset = 3 * kImageInfoSize + + 1 * kImageInfoSize, + .expectedStride = kBufferInfoSize, + }, + { + .descriptorBinding = 3, + .descriptorCount = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .expectedOffset = 3 * kImageInfoSize + + 1 * kImageInfoSize + + 2 * kBufferInfoSize, + .expectedStride = kBufferInfoSize, + }, + { + .descriptorBinding = 4, + .descriptorCount = 2, + .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, + .expectedOffset = 3 * kImageInfoSize + + 1 * kImageInfoSize + + 2 * kBufferInfoSize + + 1 * kBufferInfoSize, + .expectedStride = kBufferViewSize, + }, + { + .descriptorBinding = 5, + .descriptorCount = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, + .expectedOffset = 3 * kImageInfoSize + + 1 * kImageInfoSize + + 2 * kBufferInfoSize + + 1 * kBufferInfoSize + + 2 * kBufferViewSize, + .expectedStride = kBufferViewSize, + }, + { + .descriptorBinding = 6, + .descriptorCount = 16, + .descriptorType = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT, + .expectedOffset = 3 * kImageInfoSize + + 1 * kImageInfoSize + + 2 * kBufferInfoSize + + 1 * kBufferInfoSize + + 2 * kBufferViewSize + + 1 * kBufferViewSize, + .expectedStride = 0, + }, + }; + + std::vector entries; + for (const TestEntryInfo& info : infos) { + entries.push_back(VkDescriptorUpdateTemplateEntry{ + .dstBinding = info.descriptorBinding, + .dstArrayElement = 0, + .descriptorCount = info.descriptorCount, + .descriptorType = info.descriptorType, + .offset = 0, + .stride = 0, + }); + } + const VkDescriptorUpdateTemplateCreateInfo createInfo = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, + .pNext = nullptr, + .flags = 0, + .descriptorUpdateEntryCount = static_cast(entries.size()), + .pDescriptorUpdateEntries = entries.data(), + .templateType = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, + .descriptorSetLayout = VK_NULL_HANDLE, + .pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS, + .pipelineLayout = VK_NULL_HANDLE, + .set = 0, + }; + + const DescriptorUpdateTemplateInfo templateInfo = + calcLinearizedDescriptorUpdateTemplateInfo(&createInfo); + + // The image infos, buffer infos, buffer views and inline uniform block bytes each start where + // the first entry of that kind starts. + EXPECT_EQ(templateInfo.imageInfoStart, infos[0].expectedOffset); + EXPECT_EQ(templateInfo.imageInfoCount, 3u + 1u); + EXPECT_EQ(templateInfo.bufferInfoStart, infos[2].expectedOffset); + EXPECT_EQ(templateInfo.bufferInfoCount, 2u + 1u); + EXPECT_EQ(templateInfo.bufferViewStart, infos[4].expectedOffset); + EXPECT_EQ(templateInfo.bufferViewCount, 2u + 1u); + EXPECT_EQ(templateInfo.inlineUniformBlockStart, infos[6].expectedOffset); + EXPECT_EQ(templateInfo.inlineUniformBlockCount, 16u); + EXPECT_EQ(templateInfo.data.size(), infos[6].expectedOffset + 16); + + ASSERT_EQ(templateInfo.linearizedTemplateEntries.size(), infos.size()); + for (size_t i = 0; i < infos.size(); ++i) { + const TestEntryInfo& info = infos[i]; + const VkDescriptorUpdateTemplateEntry& entry = templateInfo.linearizedTemplateEntries[i]; + EXPECT_EQ(entry.dstBinding, info.descriptorBinding) << "entry " << i; + EXPECT_EQ(entry.descriptorCount, info.descriptorCount) << "entry " << i; + EXPECT_EQ(entry.offset, info.expectedOffset) << "entry " << i; + EXPECT_EQ(entry.stride, info.expectedStride) << "entry " << i; + } +} + +} // namespace +} // namespace vk +} // namespace host +} // namespace gfxstream diff --git a/host/vulkan/vk_decoder_snapshot_utils.cpp b/host/vulkan/vk_decoder_snapshot_utils.cpp index 24614c166..3933591d3 100644 --- a/host/vulkan/vk_decoder_snapshot_utils.cpp +++ b/host/vulkan/vk_decoder_snapshot_utils.cpp @@ -25,6 +25,15 @@ namespace vk { namespace { +#define VK_RETURN_FALSE_ON_ERROR(x) \ + do { \ + VkResult err = x; \ + if (err != VK_SUCCESS) { \ + GFXSTREAM_ERROR("Vulkan error %d", err); \ + return false; \ + } \ + } while (0) + uint32_t GetMemoryType(const PhysicalDeviceInfo& physicalDevice, const VkMemoryRequirements& memoryRequirements, VkMemoryPropertyFlags memoryProperties) { @@ -44,9 +53,9 @@ uint32_t GetMemoryType(const PhysicalDeviceInfo& physicalDevice, VkExtent3D getMipmapExtent(VkExtent3D baseExtent, uint32_t mipLevel) { return VkExtent3D{ - .width = baseExtent.width >> mipLevel, - .height = baseExtent.height >> mipLevel, - .depth = baseExtent.depth, + .width = std::max(baseExtent.width >> mipLevel, 1u), + .height = std::max(baseExtent.height >> mipLevel, 1u), + .depth = std::max(baseExtent.depth >> mipLevel, 1u), }; } @@ -201,7 +210,7 @@ bool saveImageContent(gfxstream::Stream* stream, StateBlock* stateBlock, VkImage .pCommandBuffers = &commandBuffer, }; VK_CHECK(dispatch->vkQueueSubmit(stateBlock->queue, 1, &submitInfo, fence)); - VK_CHECK( + VK_RETURN_FALSE_ON_ERROR( dispatch->vkWaitForFences(stateBlock->device, 1, &fence, VK_TRUE, 3000000000L)); VK_CHECK(dispatch->vkResetFences(stateBlock->device, 1, &fence)); auto bytes = mipmapStagingBufferSize; diff --git a/host/vulkan/vk_emulated_physical_device_memory.cpp b/host/vulkan/vk_emulated_physical_device_memory.cpp index 0006d0a7e..d50962cf2 100644 --- a/host/vulkan/vk_emulated_physical_device_memory.cpp +++ b/host/vulkan/vk_emulated_physical_device_memory.cpp @@ -24,7 +24,23 @@ namespace host { namespace vk { namespace { -static constexpr const uint32_t kInvalidMemoryTypeIndex = std::numeric_limits::max(); +#if defined(__APPLE__) +// The first device local type, if every type is host visible. +std::optional FindDeviceLocalMemoryTypeIfAllAreHostVisible( + const VkPhysicalDeviceMemoryProperties& memoryProperties) { + std::optional deviceLocalIndex; + for (uint32_t i = 0; i < memoryProperties.memoryTypeCount; i++) { + const VkMemoryPropertyFlags flags = memoryProperties.memoryTypes[i].propertyFlags; + if (!(flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)) { + return std::nullopt; + } + if (!deviceLocalIndex && (flags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)) { + deviceLocalIndex = i; + } + } + return deviceLocalIndex; +} +#endif } // namespace @@ -34,12 +50,6 @@ EmulatedPhysicalDeviceMemoryProperties::EmulatedPhysicalDeviceMemoryProperties( // Start with the original host memory properties: mHostMemoryProperties = hostMemoryProperties; mGuestMemoryProperties = hostMemoryProperties; - std::fill_n(mGuestToHostMemoryTypeIndexMap, VK_MAX_MEMORY_TYPES, kInvalidMemoryTypeIndex); - std::fill_n(mHostToGuestMemoryTypeIndexMap, VK_MAX_MEMORY_TYPES, kInvalidMemoryTypeIndex); - for (uint32_t i = 0; i < mHostMemoryProperties.memoryTypeCount; i++) { - mGuestToHostMemoryTypeIndexMap[i] = i; - mHostToGuestMemoryTypeIndexMap[i] = i; - } mGuestColorBufferMemoryTypeIndex = hostColorBufferMemoryTypeIndex; // Limit max safe memory heap size if the VulkanMaxSafeHeapSize feature is set to a non-zero @@ -129,29 +139,83 @@ EmulatedPhysicalDeviceMemoryProperties::EmulatedPhysicalDeviceMemoryProperties( } } + for (uint32_t i = 0; i < mGuestMemoryProperties.memoryTypeCount; i++) { + mGuestMemoryTypes.push_back(EmulatedGuestMemoryType{ + .hostMemoryTypeIndex = i, + .memoryType = mGuestMemoryProperties.memoryTypes[i], + }); + } + +#if defined(__APPLE__) + const std::optional hostDeviceLocalIndex = + features.SystemBlob.enabled() + ? FindDeviceLocalMemoryTypeIfAllAreHostVisible(hostMemoryProperties) + : std::nullopt; + if (hostDeviceLocalIndex && mGuestMemoryTypes.size() < VK_MAX_MEMORY_TYPES) { + const VkMemoryType memoryType = { + .propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, + .heapIndex = hostMemoryProperties.memoryTypes[*hostDeviceLocalIndex].heapIndex, + }; + const uint32_t index = findIndexForNewMemoryType(memoryType.propertyFlags); + mGuestMemoryTypes.insert(mGuestMemoryTypes.begin() + index, + EmulatedGuestMemoryType{ + .hostMemoryTypeIndex = *hostDeviceLocalIndex, + .memoryType = memoryType, + }); + mGuestAppleSystemBlobMemoryTypeIndex = index; + if (index <= mGuestColorBufferMemoryTypeIndex) { + mGuestColorBufferMemoryTypeIndex++; + } + } +#endif + // If enabled, reserve an additional memory type for AHB backed buffers and images // so that the host can control its memory properties. This ensures that the guest // only sees `VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT` and will not try to map the // memory. if (features.VulkanUseDedicatedAhbMemoryType.enabled()) { - if (mGuestMemoryProperties.memoryTypeCount == VK_MAX_MEMORY_TYPES) { + if (mGuestMemoryTypes.size() == VK_MAX_MEMORY_TYPES) { GFXSTREAM_FATAL( "Unable to create emulated AHB memory type because VK_MAX_MEMORY_TYPES " "already in use."); } - uint32_t ahbMemoryTypeIndex = mGuestMemoryProperties.memoryTypeCount; - ++mGuestMemoryProperties.memoryTypeCount; - - VkMemoryType& ahbMemoryType = mGuestMemoryProperties.memoryTypes[ahbMemoryTypeIndex]; - ahbMemoryType.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; - ahbMemoryType.heapIndex = - mHostMemoryProperties.memoryTypes[hostColorBufferMemoryTypeIndex].heapIndex; + const VkMemoryType memoryType = { + .propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, + .heapIndex = + mHostMemoryProperties.memoryTypes[hostColorBufferMemoryTypeIndex].heapIndex, + }; + const uint32_t index = findIndexForNewMemoryType(memoryType.propertyFlags); + mGuestMemoryTypes.insert(mGuestMemoryTypes.begin() + index, + EmulatedGuestMemoryType{ + .hostMemoryTypeIndex = hostColorBufferMemoryTypeIndex, + .isReservedForAhbAllocations = true, + .memoryType = memoryType, + }); + mGuestColorBufferMemoryTypeIndex = index; + if (mGuestAppleSystemBlobMemoryTypeIndex && + index <= *mGuestAppleSystemBlobMemoryTypeIndex) { + ++*mGuestAppleSystemBlobMemoryTypeIndex; + } + } - mGuestToHostMemoryTypeIndexMap[ahbMemoryTypeIndex] = hostColorBufferMemoryTypeIndex; + mGuestMemoryProperties.memoryTypeCount = static_cast(mGuestMemoryTypes.size()); + for (uint32_t i = 0; i < mGuestMemoryProperties.memoryTypeCount; i++) { + mGuestMemoryProperties.memoryTypes[i] = mGuestMemoryTypes[i].memoryType; + } +} - mGuestColorBufferMemoryTypeIndex = ahbMemoryTypeIndex; +uint32_t EmulatedPhysicalDeviceMemoryProperties::findIndexForNewMemoryType( + VkMemoryPropertyFlags propertyFlags) const { + // A memory type whose flags are a strict subset of another's must come before it, see + // https://docs.vulkan.org/refpages/latest/refpages/source/VkPhysicalDeviceMemoryProperties.html + for (uint32_t i = 0; i < mGuestMemoryTypes.size(); i++) { + const VkMemoryPropertyFlags existingFlags = mGuestMemoryTypes[i].memoryType.propertyFlags; + if (existingFlags != propertyFlags && (existingFlags & propertyFlags) == propertyFlags) { + return i; + } } + return static_cast(mGuestMemoryTypes.size()); } std::optional @@ -174,9 +238,14 @@ EmulatedPhysicalDeviceMemoryProperties::getHostMemoryInfoFromGuestMemoryTypeInde return std::nullopt; } - uint32_t hostMemoryTypeIndex = mGuestToHostMemoryTypeIndexMap[guestMemoryTypeIndex]; - if (hostMemoryTypeIndex == kInvalidMemoryTypeIndex) { - return std::nullopt; + uint32_t hostMemoryTypeIndex = mGuestMemoryTypes[guestMemoryTypeIndex].hostMemoryTypeIndex; + + // The host type with its host visibility withheld, so no host visible emulation. + if (guestMemoryTypeIndex == mGuestAppleSystemBlobMemoryTypeIndex) { + return HostMemoryInfo{ + .index = hostMemoryTypeIndex, + .memoryType = mGuestMemoryProperties.memoryTypes[guestMemoryTypeIndex], + }; } return getHostMemoryInfoFromHostMemoryTypeIndex(hostMemoryTypeIndex); @@ -187,14 +256,14 @@ void EmulatedPhysicalDeviceMemoryProperties::transformToGuestMemoryRequirements( uint32_t guestMemoryTypeBits = 0; const uint32_t hostMemoryTypeBits = memoryRequirements->memoryTypeBits; - for (uint32_t hostMemoryTypeIndex = 0; - hostMemoryTypeIndex < mHostMemoryProperties.memoryTypeCount; hostMemoryTypeIndex++) { + for (uint32_t guestMemoryTypeIndex = 0; guestMemoryTypeIndex < mGuestMemoryTypes.size(); + guestMemoryTypeIndex++) { + uint32_t hostMemoryTypeIndex = mGuestMemoryTypes[guestMemoryTypeIndex].hostMemoryTypeIndex; if (!(hostMemoryTypeBits & (1u << hostMemoryTypeIndex))) { continue; } - uint32_t guestMemoryTypeIndex = mHostToGuestMemoryTypeIndexMap[hostMemoryTypeIndex]; - if (guestMemoryTypeIndex == kInvalidMemoryTypeIndex) { + if (mGuestMemoryTypes[guestMemoryTypeIndex].isReservedForAhbAllocations) { continue; } @@ -204,6 +273,21 @@ void EmulatedPhysicalDeviceMemoryProperties::transformToGuestMemoryRequirements( memoryRequirements->memoryTypeBits = guestMemoryTypeBits; } +void EmulatedPhysicalDeviceMemoryProperties::transformToGuestImageMemoryRequirements( + VkImageTiling tiling, VkMemoryRequirements* memoryRequirements) const { + transformToGuestMemoryRequirements(memoryRequirements); + if (tiling == VK_IMAGE_TILING_LINEAR || !mGuestAppleSystemBlobMemoryTypeIndex) { + return; + } + + // The type is set only when the host allows the host type behind it, so a tiled image + // is left that alone; without it, what the host allows is better than nothing. + const uint32_t tiledMemoryTypeBit = 1u << *mGuestAppleSystemBlobMemoryTypeIndex; + if (memoryRequirements->memoryTypeBits & tiledMemoryTypeBit) { + memoryRequirements->memoryTypeBits = tiledMemoryTypeBit; + } +} + void EmulatedPhysicalDeviceMemoryProperties::clampMemoryBudgetToGuestHeapSizes( VkPhysicalDeviceMemoryBudgetPropertiesEXT* budgetProps) const { if (budgetProps == nullptr) { diff --git a/host/vulkan/vk_emulated_physical_device_memory.h b/host/vulkan/vk_emulated_physical_device_memory.h index 9d344dc5f..344669bd8 100644 --- a/host/vulkan/vk_emulated_physical_device_memory.h +++ b/host/vulkan/vk_emulated_physical_device_memory.h @@ -17,6 +17,7 @@ #include #include +#include #include "gfxstream/host/features.h" @@ -54,20 +55,37 @@ class EmulatedPhysicalDeviceMemoryProperties { void transformToGuestMemoryRequirements(VkMemoryRequirements* hostMemoryRequirements) const; + // As above, but a tiled image is left only the types reserved for it. + void transformToGuestImageMemoryRequirements( + VkImageTiling tiling, VkMemoryRequirements* hostMemoryRequirements) const; + // Clamp heapBudget/heapUsage to the guest-visible heap sizes. No-op if budgetProps is null. void clampMemoryBudgetToGuestHeapSizes( VkPhysicalDeviceMemoryBudgetPropertiesEXT* budgetProps) const; private: + uint32_t findIndexForNewMemoryType(VkMemoryPropertyFlags propertyFlags) const; + VkPhysicalDeviceMemoryProperties mGuestMemoryProperties; VkPhysicalDeviceMemoryProperties mHostMemoryProperties; - uint32_t mGuestToHostMemoryTypeIndexMap[VK_MAX_MEMORY_TYPES]; - uint32_t mHostToGuestMemoryTypeIndexMap[VK_MAX_MEMORY_TYPES]; + + struct EmulatedGuestMemoryType { + uint32_t hostMemoryTypeIndex; + // Reserved for AHBs with the VulkanUseDedicatedAhbMemoryType feature. + bool isReservedForAhbAllocations = false; + // The memory properties reported to the guest. + VkMemoryType memoryType; + }; + std::vector mGuestMemoryTypes; // The memory type index reported to the guest for VkDeviceMemory requirements which would // try to import host ColorBuffer allocations // (e.g. vkGetAndroidHardwareBufferPropertiesANDROID()). uint32_t mGuestColorBufferMemoryTypeIndex; + + // The memory type index reported to the guest for tiled images on Apple with system + // blobs: device local only, so that the host never imports shared memory for them. + std::optional mGuestAppleSystemBlobMemoryTypeIndex; }; } // namespace vk diff --git a/host/vulkan/vk_emulated_physical_device_memory_tests.cpp b/host/vulkan/vk_emulated_physical_device_memory_tests.cpp index cb8167f5b..0b3744b18 100644 --- a/host/vulkan/vk_emulated_physical_device_memory_tests.cpp +++ b/host/vulkan/vk_emulated_physical_device_memory_tests.cpp @@ -116,6 +116,54 @@ TEST(VkGuestMemoryUtilsTest, Passthrough) { EqsVkPhysicalDeviceMemoryProperties(hostMemoryProperties)); } +#if defined(__APPLE__) +TEST(VkGuestMemoryUtilsTest, SystemBlobDeviceLocalTypeWhenEverythingIsHostVisible) { + const VkPhysicalDeviceMemoryProperties hostMemoryProperties = { + .memoryTypeCount = 2, + .memoryTypes = + { + {.propertyFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT}, + {.propertyFlags = + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT}, + }, + .memoryHeapCount = 1, + .memoryHeaps = {{.size = 0x1000000, .flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT}}, + }; + + gfxstream::host::FeatureSet features; + features.SystemBlob.setEnabled(true); + EmulatedPhysicalDeviceMemoryProperties helper(hostMemoryProperties, 1, features); + + // Device local alone is a strict subset of the second host type, so it goes before it. + VkPhysicalDeviceMemoryProperties expectedGuestMemoryProperties = hostMemoryProperties; + expectedGuestMemoryProperties.memoryTypeCount = 3; + expectedGuestMemoryProperties.memoryTypes[1] = {.propertyFlags = + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT}; + expectedGuestMemoryProperties.memoryTypes[2] = hostMemoryProperties.memoryTypes[1]; + EXPECT_THAT(helper.getGuestMemoryProperties(), + EqsVkPhysicalDeviceMemoryProperties(expectedGuestMemoryProperties)); + EXPECT_THAT(helper.getHostMemoryInfoFromGuestMemoryTypeIndex(1), + Optional(EqsHostMemoryInfo(EmulatedPhysicalDeviceMemoryProperties::HostMemoryInfo{ + .index = 1, + .memoryType = expectedGuestMemoryProperties.memoryTypes[1], + }))); + EXPECT_EQ(helper.getGuestColorBufferMemoryTypeIndex(), 2u); + + VkMemoryRequirements requirements = {.memoryTypeBits = 0b11}; + helper.transformToGuestImageMemoryRequirements(VK_IMAGE_TILING_LINEAR, &requirements); + EXPECT_EQ(requirements.memoryTypeBits, 0b111u); + + requirements = {.memoryTypeBits = 0b11}; + helper.transformToGuestImageMemoryRequirements(VK_IMAGE_TILING_OPTIMAL, &requirements); + EXPECT_EQ(requirements.memoryTypeBits, 0b010u); + + // Nothing reserved is allowed, so what the host allows stays. + requirements = {.memoryTypeBits = 0b01}; + helper.transformToGuestImageMemoryRequirements(VK_IMAGE_TILING_OPTIMAL, &requirements); + EXPECT_EQ(requirements.memoryTypeBits, 0b001u); +} +#endif + TEST(VkGuestMemoryUtilsTest, ReserveAHardwareBuffer) { const VkPhysicalDeviceMemoryProperties hostMemoryProperties = { .memoryTypeCount = 2, diff --git a/host/vulkan/vk_emulated_physical_device_queue.cpp b/host/vulkan/vk_emulated_physical_device_queue.cpp index 3a2305f89..2fce8a001 100644 --- a/host/vulkan/vk_emulated_physical_device_queue.cpp +++ b/host/vulkan/vk_emulated_physical_device_queue.cpp @@ -51,6 +51,19 @@ EmulatedPhysicalDeviceQueueProperties::EmulatedPhysicalDeviceQueueProperties( } } } + + // Gfxstream supports ASTC and ETC2 emulation by inspecting `vkCmdPipelineBarrier()` + // calls and inserting extra commands into the provided command buffers to dispatch + // compute shaders. Gfxstream, however, does not control which queues these command + // buffers are submitted to so we must hide transfer-only queues to ensure compute + // shader work is not scheduled on transfer-only queues. + if (features.VulkanAstcEmulation.enabled() || features.VulkanEtc2Emulation.enabled()) { + for (VkQueueFamilyProperties& qfp : mQueueFamilyProperties) { + if (!(qfp.queueFlags & (VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT))) { + qfp.queueFlags &= ~VK_QUEUE_TRANSFER_BIT; + } + } + } } } // namespace vk diff --git a/host/vulkan/vk_emulated_physical_device_queue_tests.cpp b/host/vulkan/vk_emulated_physical_device_queue_tests.cpp index e654980bd..f77e81493 100644 --- a/host/vulkan/vk_emulated_physical_device_queue_tests.cpp +++ b/host/vulkan/vk_emulated_physical_device_queue_tests.cpp @@ -152,6 +152,101 @@ TEST(VkGuestQueueUtilsTest, VulkanProtectedVirtualQueue) { EXPECT_THAT(actualQueueProperties[0], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[0])); } +// Gfxstream supports ETC2 emulation by inspecting `vkCmdPipelineBarrier()` calls +// and inserting extra commands into the provided command buffers to dispatch +// compute shaders. Gfxstream, however, does not control which queues these command +// buffers are submitted to so we must hide transfer-only queues to ensure compute +// shader work is not scheduled on transfer-only queues. +TEST(VkGuestQueueUtilsTest, VulkanEtc2EmulationHidesTransferOnlyQueue) { + const std::vector hostQueueFamilyProperties = { + {.queueFlags = VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 16, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + {.queueFlags = VK_QUEUE_TRANSFER_BIT | VK_QUEUE_SPARSE_BINDING_BIT, + .queueCount = 2, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + {.queueFlags = VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 8, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}}; + + const std::vector expectedQueueFamilyProperties = { + {.queueFlags = VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 16, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + // NOTE: VK_QUEUE_TRANSFER_BIT is removed here: + {.queueFlags = VK_QUEUE_SPARSE_BINDING_BIT, + .queueCount = 2, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + {.queueFlags = VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 8, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}}; + + gfxstream::host::FeatureSet features; + features.Vulkan.setEnabled(true); + features.VulkanEtc2Emulation.setEnabled(true); + + EmulatedPhysicalDeviceQueueProperties helper(hostQueueFamilyProperties, features); + + const auto actualQueueProperties = helper.getQueueFamilyProperties(); + EXPECT_THAT(actualQueueProperties.size(), 3); + EXPECT_THAT(actualQueueProperties[0], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[0])); + EXPECT_THAT(actualQueueProperties[1], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[1])); + EXPECT_THAT(actualQueueProperties[2], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[2])); +} + +// Gfxstream supports ASTC emulation by inspecting `vkCmdPipelineBarrier()` calls +// and inserting extra commands into the provided command buffers to dispatch +// compute shaders. Gfxstream, however, does not control which queues these command +// buffers are submitted to so we must hide transfer-only queues to ensure compute +// shader work is not scheduled on transfer-only queues. +TEST(VkGuestQueueUtilsTest, VulkanAstcEmulationHidesTransferOnlyQueue) { + const std::vector hostQueueFamilyProperties = { + {.queueFlags = VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 16, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + {.queueFlags = VK_QUEUE_TRANSFER_BIT | VK_QUEUE_SPARSE_BINDING_BIT, + .queueCount = 2, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + {.queueFlags = VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 8, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}}; + + const std::vector expectedQueueFamilyProperties = { + {.queueFlags = VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 16, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + // NOTE: VK_QUEUE_TRANSFER_BIT is removed here: + {.queueFlags = VK_QUEUE_SPARSE_BINDING_BIT, + .queueCount = 2, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}, + {.queueFlags = VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT, + .queueCount = 8, + .timestampValidBits = 64, + .minImageTransferGranularity = {1, 1, 1}}}; + + gfxstream::host::FeatureSet features; + features.Vulkan.setEnabled(true); + features.VulkanAstcEmulation.setEnabled(true); + + EmulatedPhysicalDeviceQueueProperties helper(hostQueueFamilyProperties, features); + + const auto actualQueueProperties = helper.getQueueFamilyProperties(); + EXPECT_THAT(actualQueueProperties.size(), 3); + EXPECT_THAT(actualQueueProperties[0], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[0])); + EXPECT_THAT(actualQueueProperties[1], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[1])); + EXPECT_THAT(actualQueueProperties[2], EqsVkQueueFamilyProperties(expectedQueueFamilyProperties[2])); +} } // namespace } // namespace vk diff --git a/host/vulkan/vk_format_utils.cpp b/host/vulkan/vk_format_utils.cpp index 71d74b1ac..296d6e8f2 100644 --- a/host/vulkan/vk_format_utils.cpp +++ b/host/vulkan/vk_format_utils.cpp @@ -14,10 +14,12 @@ #include "vk_format_utils.h" +#include #include #include "gfxstream/common/logging.h" #include "gfxstream/host/gfxstream_format.h" +#include "gfxstream/host/guest_operations.h" #include "vulkan/vk_enum_string_helper.h" namespace gfxstream { @@ -28,29 +30,33 @@ namespace { struct FormatPlaneLayout { uint32_t horizontalSubsampling = 1; uint32_t verticalSubsampling = 1; + uint32_t texelBlockWidth = 1; + uint32_t texelBlockHeight = 1; uint32_t sampleIncrementBytes = 0; VkImageAspectFlags aspectMask = 0; }; -inline uint32_t alignToPower2(uint32_t val, uint32_t align) { +template +inline T alignToPower2(T val, T align) { return (val + (align - 1)) & ~(align - 1); } struct FormatPlaneLayouts { uint32_t horizontalAlignmentPixels = 1; + uint32_t verticalAlignmentPixels = 1; std::vector planeLayouts; TransferInfo::PackFunction packFunction = nullptr; TransferInfo::UnpackFunction unpackFunction = nullptr; }; void PackD16S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { - const uint32_t numPixels = extent.width * extent.height * extent.depth; - const uint32_t plane0Size = numPixels * 2; - const uint32_t plane1Offset = alignToPower2(plane0Size, 4); + const size_t numPixels = static_cast(extent.width) * extent.height * extent.depth; + const size_t plane0Size = numPixels * 2; + const size_t plane1Offset = alignToPower2(plane0Size, 4); const uint8_t* srcPixels = src; uint8_t* dstDepth = dst; uint8_t* dstStencil = dst + plane1Offset; - for (uint32_t i = 0; i < numPixels; ++i) { + for (size_t i = 0; i < numPixels; ++i) { dstDepth[i * 2 + 0] = srcPixels[i * 3 + 0]; dstDepth[i * 2 + 1] = srcPixels[i * 3 + 1]; dstStencil[i] = srcPixels[i * 3 + 2]; @@ -58,13 +64,13 @@ void PackD16S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { } void UnpackD16S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { - const uint32_t numPixels = extent.width * extent.height * extent.depth; - const uint32_t plane0Size = numPixels * 2; - const uint32_t plane1Offset = alignToPower2(plane0Size, 4); + const size_t numPixels = static_cast(extent.width) * extent.height * extent.depth; + const size_t plane0Size = numPixels * 2; + const size_t plane1Offset = alignToPower2(plane0Size, 4); const uint8_t* srcDepth = src; const uint8_t* srcStencil = src + plane1Offset; uint8_t* dstPixels = dst; - for (uint32_t i = 0; i < numPixels; ++i) { + for (size_t i = 0; i < numPixels; ++i) { dstPixels[i * 3 + 0] = srcDepth[i * 2 + 0]; dstPixels[i * 3 + 1] = srcDepth[i * 2 + 1]; dstPixels[i * 3 + 2] = srcStencil[i]; @@ -74,13 +80,13 @@ void UnpackD16S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { // Per the Vulkan spec, buffer copies of the depth aspect of D24 formats use // VK_FORMAT_X8_D24_UNORM_PACK32: one 32-bit word per texel, upper 8 bits unused. void PackD24S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { - const uint32_t numPixels = extent.width * extent.height * extent.depth; - const uint32_t plane0Size = numPixels * 4; - const uint32_t plane1Offset = alignToPower2(plane0Size, 4); + const size_t numPixels = static_cast(extent.width) * extent.height * extent.depth; + const size_t plane0Size = numPixels * 4; + const size_t plane1Offset = alignToPower2(plane0Size, 4); const uint8_t* srcPixels = src; uint8_t* dstDepth = dst; uint8_t* dstStencil = dst + plane1Offset; - for (uint32_t i = 0; i < numPixels; ++i) { + for (size_t i = 0; i < numPixels; ++i) { dstDepth[i * 4 + 0] = srcPixels[i * 4 + 0]; dstDepth[i * 4 + 1] = srcPixels[i * 4 + 1]; dstDepth[i * 4 + 2] = srcPixels[i * 4 + 2]; @@ -91,13 +97,13 @@ void PackD24S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { } void UnpackD24S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { - const uint32_t numPixels = extent.width * extent.height * extent.depth; - const uint32_t plane0Size = numPixels * 4; - const uint32_t plane1Offset = alignToPower2(plane0Size, 4); + const size_t numPixels = static_cast(extent.width) * extent.height * extent.depth; + const size_t plane0Size = numPixels * 4; + const size_t plane1Offset = alignToPower2(plane0Size, 4); const uint8_t* srcDepth = src; const uint8_t* srcStencil = src + plane1Offset; uint8_t* dstPixels = dst; - for (uint32_t i = 0; i < numPixels; ++i) { + for (size_t i = 0; i < numPixels; ++i) { dstPixels[i * 4 + 0] = srcDepth[i * 4 + 0]; dstPixels[i * 4 + 1] = srcDepth[i * 4 + 1]; dstPixels[i * 4 + 2] = srcDepth[i * 4 + 2]; @@ -106,13 +112,13 @@ void UnpackD24S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { } void PackD32S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { - const uint32_t numPixels = extent.width * extent.height * extent.depth; - const uint32_t plane0Size = numPixels * 4; - const uint32_t plane1Offset = alignToPower2(plane0Size, 4); + const size_t numPixels = static_cast(extent.width) * extent.height * extent.depth; + const size_t plane0Size = numPixels * 4; + const size_t plane1Offset = alignToPower2(plane0Size, 4); const uint8_t* srcPixels = src; uint8_t* dstDepth = dst; uint8_t* dstStencil = dst + plane1Offset; - for (uint32_t i = 0; i < numPixels; ++i) { + for (size_t i = 0; i < numPixels; ++i) { dstDepth[i * 4 + 0] = srcPixels[i * 5 + 0]; dstDepth[i * 4 + 1] = srcPixels[i * 5 + 1]; dstDepth[i * 4 + 2] = srcPixels[i * 5 + 2]; @@ -122,13 +128,13 @@ void PackD32S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { } void UnpackD32S8(const VkExtent3D& extent, const uint8_t* src, uint8_t* dst) { - const uint32_t numPixels = extent.width * extent.height * extent.depth; - const uint32_t plane0Size = numPixels * 4; - const uint32_t plane1Offset = alignToPower2(plane0Size, 4); + const size_t numPixels = static_cast(extent.width) * extent.height * extent.depth; + const size_t plane0Size = numPixels * 4; + const size_t plane1Offset = alignToPower2(plane0Size, 4); const uint8_t* srcDepth = src; const uint8_t* srcStencil = src + plane1Offset; uint8_t* dstPixels = dst; - for (uint32_t i = 0; i < numPixels; ++i) { + for (size_t i = 0; i < numPixels; ++i) { dstPixels[i * 5 + 0] = srcDepth[i * 4 + 0]; dstPixels[i * 5 + 1] = srcDepth[i * 4 + 1]; dstPixels[i * 5 + 2] = srcDepth[i * 4 + 2]; @@ -303,6 +309,25 @@ const std::unordered_map& getFormatPlaneLayoutsMap LIST_VK_FORMATS_LINEAR(ADD_SINGLE_PLANE_FORMAT_INFO) #undef ADD_SINGLE_PLANE_FORMAT_INFO +#define ADD_BC_FORMAT_INFO(format, blockWidth, blockHeight, bytesPerBlock) \ + (*map)[format] = FormatPlaneLayouts{ \ + .horizontalAlignmentPixels = blockWidth, \ + .verticalAlignmentPixels = blockHeight, \ + .planeLayouts = \ + { \ + { \ + .horizontalSubsampling = 1, \ + .verticalSubsampling = 1, \ + .texelBlockWidth = blockWidth, \ + .texelBlockHeight = blockHeight, \ + .sampleIncrementBytes = bytesPerBlock, \ + .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, \ + }, \ + }, \ + }; + LIST_VK_FORMATS_BC(ADD_BC_FORMAT_INFO) +#undef ADD_BC_FORMAT_INFO + return map; }(); return *kPlaneLayoutsMap; @@ -445,23 +470,58 @@ bool getFormatTransferInfo(VkFormat format, VkExtent3D extent, TransferInfo* out return false; } - const uint32_t alignedWidth = - alignToPower2(extent.width, formatInfo->horizontalAlignmentPixels); - const uint32_t alignedHeight = extent.height; - uint32_t cumulativeOffset = 0; + uint32_t alignmentPixels = formatInfo->horizontalAlignmentPixels; + if (format == VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM) { + if (gfxstream::host::get_gfxstream_guest_android_gralloc() == MINIGBM) { + alignmentPixels = 32; + } else { + alignmentPixels = 1; + } + } + + const VkDeviceSize alignedWidth64 = + alignToPower2(extent.width, alignmentPixels); + if (alignedWidth64 > std::numeric_limits::max()) { + GFXSTREAM_ERROR("Overflow aligning width %u with alignment %u", extent.width, + alignmentPixels); + return false; + } + const VkDeviceSize alignedHeight64 = + alignToPower2(extent.height, formatInfo->verticalAlignmentPixels); + if (alignedHeight64 > std::numeric_limits::max()) { + GFXSTREAM_ERROR("Overflow aligning height %u with alignment %u", extent.height, + formatInfo->verticalAlignmentPixels); + return false; + } + const uint32_t alignedWidth = static_cast(alignedWidth64); + const uint32_t alignedHeight = static_cast(alignedHeight64); + VkDeviceSize cumulativeOffset = 0; outTransferInfo->bufferImageCopies.clear(); for (const FormatPlaneLayout& planeInfo : formatInfo->planeLayouts) { // Align to 4 for VUID-vkCmdCopyBufferToImage-dstImage-07978 - const uint32_t planeOffset = (formatInfo->packFunction || formatInfo->unpackFunction) - ? alignToPower2(cumulativeOffset, 4) - : cumulativeOffset; + const VkDeviceSize planeOffset = (formatInfo->packFunction || formatInfo->unpackFunction) + ? alignToPower2(cumulativeOffset, 4) + : cumulativeOffset; const uint32_t planeWidth = alignedWidth / planeInfo.horizontalSubsampling; const uint32_t planeHeight = alignedHeight / planeInfo.verticalSubsampling; - const uint32_t planeBpp = planeInfo.sampleIncrementBytes; + const uint32_t planeBlocksWide = planeWidth / planeInfo.texelBlockWidth; + const uint32_t planeBlocksHigh = planeHeight / planeInfo.texelBlockHeight; + const VkDeviceSize planeBpp = planeInfo.sampleIncrementBytes; const uint32_t planeStrideTexels = planeWidth; - const uint32_t planeStrideBytes = planeStrideTexels * planeBpp; - const uint32_t planeSize = planeHeight * planeStrideBytes * extent.depth; + const VkDeviceSize planeStrideBytes = + static_cast(planeBlocksWide) * planeBpp; + const VkDeviceSize planeSize = + static_cast(planeBlocksHigh) * planeStrideBytes * extent.depth; + + const uint32_t imageExtentWidth = + (planeInfo.texelBlockWidth > 1) + ? (extent.width / planeInfo.horizontalSubsampling) + : planeWidth; + const uint32_t imageExtentHeight = + (planeInfo.texelBlockHeight > 1) + ? (extent.height / planeInfo.verticalSubsampling) + : planeHeight; outTransferInfo->bufferImageCopies.emplace_back(VkBufferImageCopy{ .bufferOffset = planeOffset, @@ -482,8 +542,8 @@ bool getFormatTransferInfo(VkFormat format, VkExtent3D extent, TransferInfo* out }, .imageExtent = { - .width = planeWidth, - .height = planeHeight, + .width = imageExtentWidth, + .height = imageExtentHeight, .depth = extent.depth, }, }); diff --git a/host/vulkan/vk_format_utils.h b/host/vulkan/vk_format_utils.h index 56e882228..10ff4628d 100644 --- a/host/vulkan/vk_format_utils.h +++ b/host/vulkan/vk_format_utils.h @@ -167,6 +167,25 @@ namespace vk { f(VK_FORMAT_A8_UNORM_KHR, 1) \ f(VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 8) +// Block-compressed (BC) formats: f(format, blockWidth, blockHeight, bytesPerBlock) +#define LIST_VK_FORMATS_BC(f) \ + f(VK_FORMAT_BC1_RGB_UNORM_BLOCK, 4, 4, 8) \ + f(VK_FORMAT_BC1_RGB_SRGB_BLOCK, 4, 4, 8) \ + f(VK_FORMAT_BC1_RGBA_UNORM_BLOCK, 4, 4, 8) \ + f(VK_FORMAT_BC1_RGBA_SRGB_BLOCK, 4, 4, 8) \ + f(VK_FORMAT_BC2_UNORM_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC2_SRGB_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC3_UNORM_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC3_SRGB_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC4_UNORM_BLOCK, 4, 4, 8) \ + f(VK_FORMAT_BC4_SNORM_BLOCK, 4, 4, 8) \ + f(VK_FORMAT_BC5_UNORM_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC5_SNORM_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC6H_UFLOAT_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC6H_SFLOAT_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC7_UNORM_BLOCK, 4, 4, 16) \ + f(VK_FORMAT_BC7_SRGB_BLOCK, 4, 4, 16) + constexpr uint32_t getBytesPerPixel(VkFormat format) { #define VK_FORMAT_BPP(format, bpp) case (format): return (bpp); switch(format) { diff --git a/host/vulkan/vk_format_utils_unittest.cpp b/host/vulkan/vk_format_utils_unittest.cpp index 6ec7322a8..87303e712 100644 --- a/host/vulkan/vk_format_utils_unittest.cpp +++ b/host/vulkan/vk_format_utils_unittest.cpp @@ -405,6 +405,176 @@ TEST(VkFormatUtilsTest, GetTransferInfoDepthStencilWithDepth) { }))); } +TEST(VkFormatUtilsTest, GetTransferInfoLargeExtentNoUint32Overflow) { + // 16384 * 16384 * 16 bytes/pixel (R32G32B32A32_SFLOAT) = 4,294,967,296 bytes (2^32). + // Verify stagingBufferCopySize does not wrap around to 0 in 32-bit arithmetic (b/514121060). + const VkFormat format = VK_FORMAT_R32G32B32A32_SFLOAT; + const uint32_t width = 16384; + const uint32_t height = 16384; + + TransferInfo transferInfo; + ASSERT_THAT(getFormatTransferInfo(format, {width, height, 1}, &transferInfo), IsTrue()); + EXPECT_THAT(transferInfo.stagingBufferCopySize, Eq(4294967296ULL)); + ASSERT_THAT(transferInfo.bufferImageCopies, + ElementsAre(EqsVkBufferImageCopy(VkBufferImageCopy{ + .bufferOffset = 0, + .bufferRowLength = 16384, + .bufferImageHeight = 0, + .imageSubresource = + { + .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + .mipLevel = 0, + .baseArrayLayer = 0, + .layerCount = 1, + }, + .imageOffset = + { + .x = 0, + .y = 0, + .z = 0, + }, + .imageExtent = + { + .width = 16384, + .height = 16384, + .depth = 1, + }, + }))); +} + +TEST(VkFormatUtilsTest, GetTransferInfoMultiPlaneLargeOffsetNoUint32Overflow) { + // Verify planeOffset for a second plane beyond 4 GiB is preserved as a 64-bit VkDeviceSize. + const VkFormat format = VK_FORMAT_D24_UNORM_S8_UINT; + const uint32_t width = 32768; + const uint32_t height = 32768; + + TransferInfo transferInfo; + ASSERT_THAT(getFormatTransferInfo(format, {width, height, 1}, &transferInfo), IsTrue()); + // Depth plane (4 bytes/pixel): 32768 * 32768 * 4 = 4,294,967,296 bytes (4 GiB) + // Stencil plane (1 byte/pixel): 32768 * 32768 * 1 = 1,073,741,824 bytes (1 GiB) + EXPECT_THAT(transferInfo.stagingBufferCopySize, Eq(5368709120ULL)); + ASSERT_THAT(transferInfo.bufferImageCopies.size(), Eq(2u)); + EXPECT_THAT(transferInfo.bufferImageCopies[0].bufferOffset, Eq(0ULL)); + EXPECT_THAT(transferInfo.bufferImageCopies[1].bufferOffset, Eq(4294967296ULL)); +} + +TEST(VkFormatUtilsTest, GetTransferInfoWidthAlignmentOverflowReturnsFalse) { + // VK_FORMAT_G8_B8R8_2PLANE_420_UNORM aligns width to a multiple of 2. + // UINT32_MAX + 1 overflows uint32_t and must fail rather than wrapping alignedWidth to 0. + const VkFormat format = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM; + TransferInfo transferInfo; + EXPECT_THAT(getFormatTransferInfo(format, {UINT32_MAX, 16, 1}, &transferInfo), IsFalse()); +} + +TEST(VkFormatUtilsTest, GetTransferInfoBC1) { + const VkFormat format = VK_FORMAT_BC1_RGBA_UNORM_BLOCK; + const uint32_t width = 16; + const uint32_t height = 16; + + TransferInfo transferInfo; + ASSERT_THAT(getFormatTransferInfo(format, {width, height, 1}, &transferInfo), IsTrue()); + // 16x16 texels = 4x4 blocks; 8 bytes per BC1 block = 128 bytes. + EXPECT_THAT(transferInfo.stagingBufferCopySize, Eq(128)); + ASSERT_THAT(transferInfo.bufferImageCopies, + ElementsAre(EqsVkBufferImageCopy(VkBufferImageCopy{ + .bufferOffset = 0, + .bufferRowLength = 16, + .bufferImageHeight = 0, + .imageSubresource = + { + .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + .mipLevel = 0, + .baseArrayLayer = 0, + .layerCount = 1, + }, + .imageOffset = + { + .x = 0, + .y = 0, + .z = 0, + }, + .imageExtent = + { + .width = 16, + .height = 16, + .depth = 1, + }, + }))); +} + +TEST(VkFormatUtilsTest, GetTransferInfoBC3) { + const VkFormat format = VK_FORMAT_BC3_UNORM_BLOCK; + const uint32_t width = 16; + const uint32_t height = 16; + + TransferInfo transferInfo; + ASSERT_THAT(getFormatTransferInfo(format, {width, height, 1}, &transferInfo), IsTrue()); + // 16x16 texels = 4x4 blocks; 16 bytes per BC3 block = 256 bytes. + EXPECT_THAT(transferInfo.stagingBufferCopySize, Eq(256)); + ASSERT_THAT(transferInfo.bufferImageCopies, + ElementsAre(EqsVkBufferImageCopy(VkBufferImageCopy{ + .bufferOffset = 0, + .bufferRowLength = 16, + .bufferImageHeight = 0, + .imageSubresource = + { + .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + .mipLevel = 0, + .baseArrayLayer = 0, + .layerCount = 1, + }, + .imageOffset = + { + .x = 0, + .y = 0, + .z = 0, + }, + .imageExtent = + { + .width = 16, + .height = 16, + .depth = 1, + }, + }))); +} + +TEST(VkFormatUtilsTest, GetTransferInfoBC3SubBlockMipExtent) { + const VkFormat format = VK_FORMAT_BC3_UNORM_BLOCK; + const uint32_t width = 2; + const uint32_t height = 2; + + TransferInfo transferInfo; + ASSERT_THAT(getFormatTransferInfo(format, {width, height, 1}, &transferInfo), IsTrue()); + // 2x2 mip level still occupies 1x1 4x4 block (16 bytes), with bufferRowLength aligned to 4 + // and imageExtent matching the 2x2 subresource dimensions. + EXPECT_THAT(transferInfo.stagingBufferCopySize, Eq(16)); + ASSERT_THAT(transferInfo.bufferImageCopies, + ElementsAre(EqsVkBufferImageCopy(VkBufferImageCopy{ + .bufferOffset = 0, + .bufferRowLength = 4, + .bufferImageHeight = 0, + .imageSubresource = + { + .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + .mipLevel = 0, + .baseArrayLayer = 0, + .layerCount = 1, + }, + .imageOffset = + { + .x = 0, + .y = 0, + .z = 0, + }, + .imageExtent = + { + .width = 2, + .height = 2, + .depth = 1, + }, + }))); +} + } // namespace } // namespace vk } // namespace host diff --git a/host/vulkan/vk_utils.cpp b/host/vulkan/vk_utils.cpp index 18b5335a9..4179cf52c 100644 --- a/host/vulkan/vk_utils.cpp +++ b/host/vulkan/vk_utils.cpp @@ -280,7 +280,7 @@ bool YcbcrSamplerPool::getOrCreateSamplerInfo(GfxstreamFormat format, YCbCrSampl VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT; if ((formatFeatures & kYcbcrFeatures) == 0) { - GFXSTREAM_ERROR("Format %s does not support YCbCr sampler conversion", string_VkFormat(vkFormat)); + GFXSTREAM_INFO("Format %s does not support YCbCr sampler conversion", string_VkFormat(vkFormat)); return false; } diff --git a/host/vulkan/vk_vvl_configuration.cpp b/host/vulkan/vk_vvl_configuration.cpp new file mode 100644 index 000000000..98b7cb2e9 --- /dev/null +++ b/host/vulkan/vk_vvl_configuration.cpp @@ -0,0 +1,188 @@ +#include "vk_vvl_configuration.h" +#include "vulkan_dispatch.h" + +#include +#include +#include +#include + +#include "gfxstream/common/logging.h" +#include "gfxstream/host/features.h" +#include "gfxstream/strings.h" + +namespace gfxstream { +namespace host { +namespace vk { + +namespace { + +std::string toLowerString(const std::string& str) { + std::string res = str; + std::transform(res.begin(), res.end(), res.begin(), + [](unsigned char c) { return std::tolower(c); }); + return res; +} + +std::unordered_set parseFilterList(const std::string& filterList) { + std::unordered_set patterns; + for (const auto& token : gfxstream::Split(filterList, ", \t\r\n")) { + if (token.empty()) { + continue; + } + patterns.insert(toLowerString(token)); + } + return patterns; +} + +VVLBehavior parseVVLBehaviorString(const std::string& modeStr) { + if (modeStr.empty()) { + return VVLBehavior::None; + } + if (modeStr == "print") { + return VVLBehavior::PrintOnly; + } else if (modeStr == "fail") { + return VVLBehavior::Fail; + } else if (modeStr == "crash") { + return VVLBehavior::Crash; + } else if (modeStr == "off") { + return VVLBehavior::None; + } else { + GFXSTREAM_WARNING("Unknown Vulkan validation mode '%s', defaulting to off.", + modeStr.c_str()); + return VVLBehavior::None; + } +} + +VKAPI_ATTR VkBool32 VKAPI_CALL +vk_debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, + VkDebugUtilsMessageTypeFlagsEXT messageTypes, + const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData) { + auto* context = static_cast(pUserData); + if (!context) { + GFXSTREAM_ERROR("VVL debug callback invoked without a valid VVLContext!"); + return VK_FALSE; + } + + gfxstream::host::LogLevel logSeverity = gfxstream::host::LogLevel::kInfo; + if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { + logSeverity = gfxstream::host::LogLevel::kError; + } else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) { + logSeverity = gfxstream::host::LogLevel::kWarning; + } else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT) { + logSeverity = gfxstream::host::LogLevel::kInfo; + } else if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT) { + logSeverity = gfxstream::host::LogLevel::kVerbose; + } + + GFXSTREAM_LOG_INNER(logSeverity, "VVL%s: %s", context->appInfo.c_str(), pCallbackData->pMessage); + + if (messageSeverity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { + if (context->behavior == VVLBehavior::Crash) { + GFXSTREAM_FATAL("VVL requested CRASH on error: %s", pCallbackData->pMessage); + } else if (context->behavior == VVLBehavior::Fail) { + GFXSTREAM_ERROR("VVL requested FAIL on error: %s", pCallbackData->pMessage); + return VK_TRUE; + } + } + + return VK_FALSE; +} + +} // namespace + +VVLConfiguration VVLConfiguration::parse(const gfxstream::host::FeatureSet& features) { + auto vvlValOpt = features.VulkanValidation.getValue(); + std::string valMode = vvlValOpt ? *vvlValOpt : ""; + + if (valMode.empty()) { + if (const char* env = getenv("ANDROID_EMU_VVL_BEHAVIOR")) { + valMode = env; + GFXSTREAM_INFO("VVL behavior set via ANDROID_EMU_VVL_BEHAVIOR envvar: '%s'", valMode.c_str()); + } + } + + std::unordered_set includeFilters; + auto includeOpt = features.VulkanValidationIncludeFilter.getValue(); + if (includeOpt && !includeOpt->empty()) { + includeFilters = parseFilterList(*includeOpt); + } else if (const char* env = getenv("ANDROID_EMU_VVL_INCLUDE_FILTER")) { + includeFilters = parseFilterList(env); + } + + std::unordered_set excludeFilters; + auto excludeOpt = features.VulkanValidationExcludeFilter.getValue(); + if (excludeOpt && !excludeOpt->empty()) { + excludeFilters = parseFilterList(*excludeOpt); + } else if (const char* env = getenv("ANDROID_EMU_VVL_EXCLUDE_FILTER")) { + excludeFilters = parseFilterList(env); + } + + if (valMode.empty() && (!includeFilters.empty() || !excludeFilters.empty())) { + valMode = "print"; + GFXSTREAM_INFO("VVL filters specified without behavior mode, defaulting behavior to '%s'", valMode.c_str()); + } + + VVLBehavior behavior = parseVVLBehaviorString(valMode); + if (behavior != VVLBehavior::None) { + ensureVulkanValidationLayersEnabled(); + } + + return VVLConfiguration(behavior, std::move(includeFilters), std::move(excludeFilters)); +} + +bool VVLConfiguration::matchesApp(const std::string& appName, const std::string& engineName) const { + if (mBehavior == VVLBehavior::None) { + return false; + } + + std::string app = toLowerString(appName); + std::string engine = toLowerString(engineName); + + return (mIncludeFilters.empty() || mIncludeFilters.find(app) != mIncludeFilters.end() || + mIncludeFilters.find(engine) != mIncludeFilters.end()) && + (mExcludeFilters.find(app) == mExcludeFilters.end() && + mExcludeFilters.find(engine) == mExcludeFilters.end()); +} + +std::unique_ptr VVLConfiguration::createDebugContext( + const std::string& appName, const std::string& engineName, + VkDebugUtilsMessengerCreateInfoEXT* outCreateInfo) const { + if (!matchesApp(appName, engineName)) { + return nullptr; + } + + auto debugContext = std::make_unique(); + debugContext->appName = appName; + debugContext->engineName = engineName; + debugContext->behavior = mBehavior; + + if (!appName.empty()) { + debugContext->appInfo = " [App: " + appName; + if (!engineName.empty() && engineName != "No Engine") { + debugContext->appInfo += ", Engine: " + engineName; + } + debugContext->appInfo += "]"; + } + + if (outCreateInfo) { + *outCreateInfo = { + .sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT, + .pNext = nullptr, + .flags = 0, + .messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT, + .messageType = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, + .pfnUserCallback = vk_debug_callback, + .pUserData = debugContext.get(), + }; + } + + return debugContext; +} + +} // namespace vk +} // namespace host +} // namespace gfxstream \ No newline at end of file diff --git a/host/vulkan/vk_vvl_configuration.h b/host/vulkan/vk_vvl_configuration.h new file mode 100644 index 000000000..6fae7b419 --- /dev/null +++ b/host/vulkan/vk_vvl_configuration.h @@ -0,0 +1,63 @@ +#pragma once + +#include +#include +#include + +#include "gfxstream/host/features.h" +#include "vulkan/vulkan_core.h" + +namespace gfxstream { +namespace host { +namespace vk { + +// X11 headers (via -DUSE_X11) define `#define None 0L`, which conflicts with VVLBehavior::None. +#ifdef None +#undef None +#endif + +enum class VVLBehavior { + None, // Do not register callback / ignore validation + PrintOnly, + Fail, // Returns an error to the Vulkan API call + Crash // Forces a hard crash (e.g., abort()) +}; + +// The payload we pass via pUserData to the debug callback +struct VVLContext { + std::string appName; + std::string engineName; + VVLBehavior behavior; + std::string appInfo; +}; + +class VVLConfiguration { + public: + static VVLConfiguration parse(const gfxstream::host::FeatureSet& features); + std::unique_ptr createDebugContext( + const std::string& appName, + const std::string& engineName, + VkDebugUtilsMessengerCreateInfoEXT* outCreateInfo = nullptr) const; + + VVLBehavior getBehavior() const { return mBehavior; } + const std::unordered_set& getIncludeFilters() const { return mIncludeFilters; } + const std::unordered_set& getExcludeFilters() const { return mExcludeFilters; } + + private: + VVLConfiguration(VVLBehavior behavior, + std::unordered_set includeFilters, + std::unordered_set excludeFilters) + : mBehavior(behavior), + mIncludeFilters(std::move(includeFilters)), + mExcludeFilters(std::move(excludeFilters)) {} + + bool matchesApp(const std::string& appName, const std::string& engineName) const; + + const VVLBehavior mBehavior; + const std::unordered_set mIncludeFilters; + const std::unordered_set mExcludeFilters; +}; + +} // namespace vk +} // namespace host +} // namespace gfxstream \ No newline at end of file diff --git a/host/vulkan/vulkan_dispatch.cpp b/host/vulkan/vulkan_dispatch.cpp index 4a64b48df..2485b7a3f 100644 --- a/host/vulkan/vulkan_dispatch.cpp +++ b/host/vulkan/vulkan_dispatch.cpp @@ -391,6 +391,63 @@ static void* sVulkanDispatchDlSym(void* lib, const char* sym) { return sVulkanDispatchImpl()->dlsym(lib, sym); } +void ensureVulkanValidationLayersEnabled() { + GFXSTREAM_INFO("Enabling Vulkan validation layers."); + + // Our VkLayer_khronos_validation.json expects the VVL .so file to be present in the same directory. + std::vector candidateDirs; + const std::string testdataPath = + gfxstream::base::getEnvironmentVariable("GFXSTREAM_TESTDATA_PATH"); + if (!testdataPath.empty()) { + candidateDirs.push_back(testdataPath); + } + candidateDirs.push_back(pj({gfxstream::base::getProgramDirectory(), "lib64", "vulkan", "layers"})); + candidateDirs.push_back(pj({gfxstream::base::getLauncherDirectory(), "lib64", "vulkan", "layers"})); + candidateDirs.push_back(pj({gfxstream::base::getProgramDirectory(), "testlib64", "layers"})); + candidateDirs.push_back(pj({gfxstream::base::getLauncherDirectory(), "testlib64", "layers"})); + candidateDirs.push_back(gfxstream::base::getProgramDirectory()); + candidateDirs.push_back(gfxstream::base::getLauncherDirectory()); + + std::string vvlPath; + for (const auto& dir : candidateDirs) { + if (pathExists(pj({dir, "VkLayer_khronos_validation.json"}).c_str())) { + vvlPath = dir; + break; + } + } + + if (!vvlPath.empty()) { +#ifdef _WIN32 + const char kPathSeparator = ';'; +#else + const char kPathSeparator = ':'; +#endif + const char* const kVkAddLayerPathEnvVar = "VK_ADD_LAYER_PATH"; + const char* const kVkLayerPathEnvVar = "VK_LAYER_PATH"; + const char* const kVkInstanceLayersEnvVar = "VK_INSTANCE_LAYERS"; + const char* const kEnableVVLEnvVar = "VK_LAYER_KHRONOS_validation"; + + if (gfxstream::base::getEnvironmentVariable(kVkAddLayerPathEnvVar).empty()) { + gfxstream::base::setEnvironmentVariable(kVkAddLayerPathEnvVar, vvlPath); + } + if (gfxstream::base::getEnvironmentVariable(kVkLayerPathEnvVar).empty()) { + gfxstream::base::setEnvironmentVariable(kVkLayerPathEnvVar, vvlPath); + } + auto layersEnvVar = gfxstream::base::getEnvironmentVariable(kVkInstanceLayersEnvVar); + if (layersEnvVar.empty()) { + gfxstream::base::setEnvironmentVariable(kVkInstanceLayersEnvVar, kEnableVVLEnvVar); + } else { + if (layersEnvVar.find(kEnableVVLEnvVar) == std::string::npos) { + std::stringstream ss; + ss << layersEnvVar << kPathSeparator << kEnableVVLEnvVar; + gfxstream::base::setEnvironmentVariable(kVkInstanceLayersEnvVar, ss.str()); + } + } + } else { + GFXSTREAM_WARNING("Vulkan validation layer library path not found in %s. Skipping validation layer setup.", vvlPath.c_str()); + } +} + void VulkanDispatchImpl::initialize(bool forTesting) { AutoLock lock(mLock); @@ -438,44 +495,14 @@ void VulkanDispatchImpl::initialize(bool forTesting) { } } - if (!gfxstream::base::getEnvironmentVariable("GFXSTREAM_USE_TESTING_VALIDATION_LAYERS").empty()) { - GFXSTREAM_INFO("GFXSTREAM_USE_TESTING_VALIDATION_LAYERS set. Enabling Vulkan validation layers."); - - // Our VkLayer_khronos_validation.json expects the VVL .so file to be present in the same directory. - std::string vvlPath = - pj({gfxstream::base::getProgramDirectory(), "testlib64", "layers"}); - if (!pathExists(vvlPath.c_str())) { - vvlPath = - pj({gfxstream::base::getLauncherDirectory(), "testlib64", "layers"}); - } + bool vvlRequested = + !gfxstream::base::getEnvironmentVariable("GFXSTREAM_USE_TESTING_VALIDATION_LAYERS").empty() || + !gfxstream::base::getEnvironmentVariable("ANDROID_EMU_VVL_BEHAVIOR").empty() || + !gfxstream::base::getEnvironmentVariable("ANDROID_EMU_VVL_INCLUDE_FILTER").empty() || + !gfxstream::base::getEnvironmentVariable("ANDROID_EMU_VVL_EXCLUDE_FILTER").empty(); - if (pathExists(vvlPath.c_str())) { -#ifdef _WIN32 - const char kPathSeparator = ';'; -#else - const char kPathSeparator = ':'; -#endif - const char* const kVkAddLayerPathEnvVar = "VK_ADD_LAYER_PATH"; - const char* const kVkInstanceLayersEnvVar = "VK_INSTANCE_LAYERS"; - const char* const kEnableVVLEnvVar = "VK_LAYER_KHRONOS_validation"; - - if (!gfxstream::base::getEnvironmentVariable(kVkAddLayerPathEnvVar).empty()) { - GFXSTREAM_WARNING("Overriding %s", kVkAddLayerPathEnvVar); - } - gfxstream::base::setEnvironmentVariable(kVkAddLayerPathEnvVar, vvlPath); - auto layersEnvVar = gfxstream::base::getEnvironmentVariable(kVkInstanceLayersEnvVar); - if (layersEnvVar.empty()) { - gfxstream::base::setEnvironmentVariable(kVkInstanceLayersEnvVar, kEnableVVLEnvVar); - } else { - if (layersEnvVar.find(kEnableVVLEnvVar) == std::string::npos) { - std::stringstream ss; - ss << layersEnvVar << kPathSeparator << kEnableVVLEnvVar; - gfxstream::base::setEnvironmentVariable(kVkInstanceLayersEnvVar, ss.str()); - } - } - } else { - GFXSTREAM_WARNING("Vulkan validation layer library path not found in %s. Skipping validation layer setup.", vvlPath.c_str()); - } + if (vvlRequested) { + ensureVulkanValidationLayersEnabled(); } init_vulkan_dispatch_from_system_loader(sVulkanDispatchDlOpen, sVulkanDispatchDlSym, diff --git a/host/vulkan/vulkan_dispatch.h b/host/vulkan/vulkan_dispatch.h index 81db1b2a4..8ee1ee689 100644 --- a/host/vulkan/vulkan_dispatch.h +++ b/host/vulkan/vulkan_dispatch.h @@ -19,6 +19,7 @@ namespace gfxstream { namespace host { namespace vk { +void ensureVulkanValidationLayersEnabled(); VulkanDispatch* vkDispatch(bool forTesting = false); bool vkDispatchValid(const VulkanDispatch* vk); diff --git a/host/vulkan/vulkan_gfxstream.h b/host/vulkan/vulkan_gfxstream.h index 0e5d605d2..5300bf591 100644 --- a/host/vulkan/vulkan_gfxstream.h +++ b/host/vulkan/vulkan_gfxstream.h @@ -19,256 +19,252 @@ extern "C" { #endif - // VK_GOOGLE_gfxstream is a preprocessor guard. Do not pass it to API calls. #define VK_GOOGLE_gfxstream 1 -#define VK_GOOGLE_GFXSTREAM_SPEC_VERSION 0 -#define VK_GOOGLE_GFXSTREAM_NUMBER 386 +#define VK_GOOGLE_GFXSTREAM_SPEC_VERSION 0 +#define VK_GOOGLE_GFXSTREAM_NUMBER 386 #define VK_GOOGLE_GFXSTREAM_EXTENSION_NAME "VK_GOOGLE_gfxstream" typedef struct VkImportColorBufferGOOGLE { - VkStructureType sType; - void* pNext; - uint32_t colorBuffer; + VkStructureType sType; + void* pNext; + uint32_t colorBuffer; } VkImportColorBufferGOOGLE; typedef struct VkImportBufferGOOGLE { - VkStructureType sType; - void* pNext; - uint32_t buffer; + VkStructureType sType; + void* pNext; + uint32_t buffer; } VkImportBufferGOOGLE; typedef struct VkCreateBlobGOOGLE { - VkStructureType sType; - void* pNext; - uint32_t blobMem; - uint32_t blobFlags; - uint64_t blobId; + VkStructureType sType; + void* pNext; + uint32_t blobMem; + uint32_t blobFlags; + uint64_t blobId; } VkCreateBlobGOOGLE; typedef struct VkDebugMetadataGuestProcessNameGOOGLE { - VkStructureType sType; - const void* pNext; - const char* pName; + VkStructureType sType; + const void* pNext; + const char* pName; } VkDebugMetadataGuestProcessNameGOOGLE; typedef struct VkDebugMetadataGuestProcessIdGOOGLE { - VkStructureType sType; - const void* pNext; - uint64_t id; + VkStructureType sType; + const void* pNext; + uint64_t id; } VkDebugMetadataGuestProcessIdGOOGLE; typedef struct VkDebugMetadataGuestThreadNameGOOGLE { - VkStructureType sType; - const void* pNext; - const char* pName; + VkStructureType sType; + const void* pNext; + const char* pName; } VkDebugMetadataGuestThreadNameGOOGLE; typedef struct VkDebugMetadataGuestThreadIdGOOGLE { - VkStructureType sType; - const void* pNext; - uint64_t id; + VkStructureType sType; + const void* pNext; + uint64_t id; } VkDebugMetadataGuestThreadIdGOOGLE; typedef struct VkDebugMetadataGOOGLE { - VkStructureType sType; - const void* pNext; + VkStructureType sType; + const void* pNext; } VkDebugMetadataGOOGLE; -typedef VkResult (VKAPI_PTR *PFN_vkMapMemoryIntoAddressSpaceGOOGLE)(VkDevice device, VkDeviceMemory memory, uint64_t* pAddress); -typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount, const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews); -typedef void (VKAPI_PTR *PFN_vkBeginCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); -typedef void (VKAPI_PTR *PFN_vkEndCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer); -typedef void (VKAPI_PTR *PFN_vkResetCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); -typedef void (VKAPI_PTR *PFN_vkCommandBufferHostSyncGOOGLE)(VkCommandBuffer commandBuffer, uint32_t needHostSync, uint32_t sequenceNumber); -typedef VkResult (VKAPI_PTR *PFN_vkCreateImageWithRequirementsGOOGLE)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, VkMemoryRequirements* pMemoryRequirements); -typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferWithRequirementsGOOGLE)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer, VkMemoryRequirements* pMemoryRequirements); -typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostAddressInfoGOOGLE)(VkDevice device, VkDeviceMemory memory, uint64_t* pAddress, uint64_t* pSize, uint64_t* pHostmemId); -typedef VkResult (VKAPI_PTR *PFN_vkFreeMemorySyncGOOGLE)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); -typedef void (VKAPI_PTR *PFN_vkQueueHostSyncGOOGLE)(VkQueue queue, uint32_t needHostSync, uint32_t sequenceNumber); -typedef void (VKAPI_PTR *PFN_vkQueueSubmitAsyncGOOGLE)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); -typedef void (VKAPI_PTR *PFN_vkQueueWaitIdleAsyncGOOGLE)(VkQueue queue); -typedef void (VKAPI_PTR *PFN_vkQueueBindSparseAsyncGOOGLE)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); -typedef void (VKAPI_PTR *PFN_vkGetLinearImageLayoutGOOGLE)(VkDevice device, VkFormat format, VkDeviceSize* pOffset, VkDeviceSize* pRowPitchAlignment); -typedef void (VKAPI_PTR *PFN_vkGetLinearImageLayout2GOOGLE)(VkDevice device, const VkImageCreateInfo* pCreateInfo, VkDeviceSize* pOffset, VkDeviceSize* pRowPitchAlignment); -typedef void (VKAPI_PTR *PFN_vkQueueFlushCommandsGOOGLE)(VkQueue queue, VkCommandBuffer commandBuffer, VkDeviceSize dataSize, const void* pData); -typedef void (VKAPI_PTR *PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE)(VkQueue queue, uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools, uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts, const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool, const uint32_t* pDescriptorSetPendingAllocation, const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount, const VkWriteDescriptorSet* pPendingDescriptorWrites); -typedef void (VKAPI_PTR *PFN_vkCollectDescriptorPoolIdsGOOGLE)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t* pPoolIdCount, uint64_t* pPoolIds); -typedef void (VKAPI_PTR *PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE)(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image); -typedef void (VKAPI_PTR *PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE)(VkQueue queue, VkCommandBuffer commandBuffer, VkDeviceMemory deviceMemory, VkDeviceSize dataOffset, VkDeviceSize dataSize); -typedef VkResult (VKAPI_PTR *PFN_vkGetBlobGOOGLE)(VkDevice device, VkDeviceMemory memory); -typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount, uint32_t inlineUniformBlockCount, const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews, const uint8_t* pInlineUniformBlockData); -typedef void (VKAPI_PTR *PFN_vkQueueSubmitAsync2GOOGLE)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); -typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreGOOGLE)(VkDevice device, VkSemaphore semaphore, uint64_t syncId); -typedef void (VKAPI_PTR *PFN_vkTraceAsyncGOOGLE)(uint64_t id); -typedef void (VKAPI_PTR *PFN_vkSetDebugMetadataAsyncGOOGLE)(const VkDebugMetadataGOOGLE* pDebugMetadata); - -VKAPI_ATTR VkResult VKAPI_CALL vkMapMemoryIntoAddressSpaceGOOGLE( - VkDevice device, - VkDeviceMemory memory, - uint64_t* pAddress); +typedef VkResult(VKAPI_PTR* PFN_vkMapMemoryIntoAddressSpaceGOOGLE)(VkDevice device, + VkDeviceMemory memory, + uint64_t* pAddress); +typedef void(VKAPI_PTR* PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE)( + VkDevice device, VkDescriptorSet descriptorSet, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, + uint32_t bufferInfoCount, uint32_t bufferViewCount, const uint32_t* pImageInfoEntryIndices, + const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices, + const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos, + const VkBufferView* pBufferViews); +typedef void(VKAPI_PTR* PFN_vkBeginCommandBufferAsyncGOOGLE)( + VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); +typedef void(VKAPI_PTR* PFN_vkEndCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer); +typedef void(VKAPI_PTR* PFN_vkResetCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer, + VkCommandBufferResetFlags flags); +typedef void(VKAPI_PTR* PFN_vkCommandBufferHostSyncGOOGLE)(VkCommandBuffer commandBuffer, + uint32_t needHostSync, + uint32_t sequenceNumber); +typedef VkResult(VKAPI_PTR* PFN_vkCreateImageWithRequirementsGOOGLE)( + VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, + VkImage* pImage, VkMemoryRequirements* pMemoryRequirements); +typedef VkResult(VKAPI_PTR* PFN_vkCreateBufferWithRequirementsGOOGLE)( + VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, + VkBuffer* pBuffer, VkMemoryRequirements* pMemoryRequirements); +typedef VkResult(VKAPI_PTR* PFN_vkGetMemoryHostAddressInfoGOOGLE)(VkDevice device, + VkDeviceMemory memory, + uint64_t* pAddress, + uint64_t* pSize, + uint64_t* pHostmemId); +typedef VkResult(VKAPI_PTR* PFN_vkFreeMemorySyncGOOGLE)(VkDevice device, VkDeviceMemory memory, + const VkAllocationCallbacks* pAllocator); +typedef void(VKAPI_PTR* PFN_vkQueueHostSyncGOOGLE)(VkQueue queue, uint32_t needHostSync, + uint32_t sequenceNumber); +typedef void(VKAPI_PTR* PFN_vkQueueSubmitAsyncGOOGLE)(VkQueue queue, uint32_t submitCount, + const VkSubmitInfo* pSubmits, VkFence fence); +typedef void(VKAPI_PTR* PFN_vkQueueWaitIdleAsyncGOOGLE)(VkQueue queue); +typedef void(VKAPI_PTR* PFN_vkQueueBindSparseAsyncGOOGLE)(VkQueue queue, uint32_t bindInfoCount, + const VkBindSparseInfo* pBindInfo, + VkFence fence); +typedef void(VKAPI_PTR* PFN_vkGetLinearImageLayoutGOOGLE)(VkDevice device, VkFormat format, + VkDeviceSize* pOffset, + VkDeviceSize* pRowPitchAlignment); +typedef void(VKAPI_PTR* PFN_vkGetLinearImageLayout2GOOGLE)(VkDevice device, + const VkImageCreateInfo* pCreateInfo, + VkDeviceSize* pOffset, + VkDeviceSize* pRowPitchAlignment); +typedef void(VKAPI_PTR* PFN_vkQueueFlushCommandsGOOGLE)(VkQueue queue, + VkCommandBuffer commandBuffer, + VkDeviceSize dataSize, const void* pData); +typedef void(VKAPI_PTR* PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE)( + VkQueue queue, uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools, + uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts, + const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool, + const uint32_t* pDescriptorSetPendingAllocation, + const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount, + const VkWriteDescriptorSet* pPendingDescriptorWrites); +typedef void(VKAPI_PTR* PFN_vkCollectDescriptorPoolIdsGOOGLE)(VkDevice device, + VkDescriptorPool descriptorPool, + uint32_t* pPoolIdCount, + uint64_t* pPoolIds); +typedef void(VKAPI_PTR* PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE)( + VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image); +typedef void(VKAPI_PTR* PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE)(VkQueue queue, + VkCommandBuffer commandBuffer, + VkDeviceMemory deviceMemory, + VkDeviceSize dataOffset, + VkDeviceSize dataSize); +typedef VkResult(VKAPI_PTR* PFN_vkGetBlobGOOGLE)(VkDevice device, VkDeviceMemory memory); +typedef void(VKAPI_PTR* PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE)( + VkDevice device, VkDescriptorSet descriptorSet, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, + uint32_t bufferInfoCount, uint32_t bufferViewCount, uint32_t inlineUniformBlockCount, + const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices, + const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos, + const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews, + const uint8_t* pInlineUniformBlockData); +typedef void(VKAPI_PTR* PFN_vkQueueSubmitAsync2GOOGLE)(VkQueue queue, uint32_t submitCount, + const VkSubmitInfo2* pSubmits, + VkFence fence); +typedef VkResult(VKAPI_PTR* PFN_vkGetSemaphoreGOOGLE)(VkDevice device, VkSemaphore semaphore, + uint64_t syncId); +typedef void(VKAPI_PTR* PFN_vkTraceAsyncGOOGLE)(uint64_t id); +typedef void(VKAPI_PTR* PFN_vkSetDebugMetadataAsyncGOOGLE)( + const VkDebugMetadataGOOGLE* pDebugMetadata); + +VKAPI_ATTR VkResult VKAPI_CALL vkMapMemoryIntoAddressSpaceGOOGLE(VkDevice device, + VkDeviceMemory memory, + uint64_t* pAddress); VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateSizedGOOGLE( - VkDevice device, - VkDescriptorSet descriptorSet, - VkDescriptorUpdateTemplate descriptorUpdateTemplate, - uint32_t imageInfoCount, - uint32_t bufferInfoCount, - uint32_t bufferViewCount, - const uint32_t* pImageInfoEntryIndices, - const uint32_t* pBufferInfoEntryIndices, - const uint32_t* pBufferViewEntryIndices, - const VkDescriptorImageInfo* pImageInfos, - const VkDescriptorBufferInfo* pBufferInfos, - const VkBufferView* pBufferViews); + VkDevice device, VkDescriptorSet descriptorSet, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, + uint32_t bufferInfoCount, uint32_t bufferViewCount, const uint32_t* pImageInfoEntryIndices, + const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices, + const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos, + const VkBufferView* pBufferViews); VKAPI_ATTR void VKAPI_CALL vkBeginCommandBufferAsyncGOOGLE( - VkCommandBuffer commandBuffer, - const VkCommandBufferBeginInfo* pBeginInfo); + VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); -VKAPI_ATTR void VKAPI_CALL vkEndCommandBufferAsyncGOOGLE( - VkCommandBuffer commandBuffer); +VKAPI_ATTR void VKAPI_CALL vkEndCommandBufferAsyncGOOGLE(VkCommandBuffer commandBuffer); -VKAPI_ATTR void VKAPI_CALL vkResetCommandBufferAsyncGOOGLE( - VkCommandBuffer commandBuffer, - VkCommandBufferResetFlags flags); +VKAPI_ATTR void VKAPI_CALL vkResetCommandBufferAsyncGOOGLE(VkCommandBuffer commandBuffer, + VkCommandBufferResetFlags flags); -VKAPI_ATTR void VKAPI_CALL vkCommandBufferHostSyncGOOGLE( - VkCommandBuffer commandBuffer, - uint32_t needHostSync, - uint32_t sequenceNumber); +VKAPI_ATTR void VKAPI_CALL vkCommandBufferHostSyncGOOGLE(VkCommandBuffer commandBuffer, + uint32_t needHostSync, + uint32_t sequenceNumber); VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageWithRequirementsGOOGLE( - VkDevice device, - const VkImageCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkImage* pImage, - VkMemoryRequirements* pMemoryRequirements); + VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, + VkImage* pImage, VkMemoryRequirements* pMemoryRequirements); VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferWithRequirementsGOOGLE( - VkDevice device, - const VkBufferCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkBuffer* pBuffer, - VkMemoryRequirements* pMemoryRequirements); - -VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostAddressInfoGOOGLE( - VkDevice device, - VkDeviceMemory memory, - uint64_t* pAddress, - uint64_t* pSize, - uint64_t* pHostmemId); - -VKAPI_ATTR VkResult VKAPI_CALL vkFreeMemorySyncGOOGLE( - VkDevice device, - VkDeviceMemory memory, - const VkAllocationCallbacks* pAllocator); - -VKAPI_ATTR void VKAPI_CALL vkQueueHostSyncGOOGLE( - VkQueue queue, - uint32_t needHostSync, - uint32_t sequenceNumber); - -VKAPI_ATTR void VKAPI_CALL vkQueueSubmitAsyncGOOGLE( - VkQueue queue, - uint32_t submitCount, - const VkSubmitInfo* pSubmits, - VkFence fence); - -VKAPI_ATTR void VKAPI_CALL vkQueueWaitIdleAsyncGOOGLE( - VkQueue queue); - -VKAPI_ATTR void VKAPI_CALL vkQueueBindSparseAsyncGOOGLE( - VkQueue queue, - uint32_t bindInfoCount, - const VkBindSparseInfo* pBindInfo, - VkFence fence); - -VKAPI_ATTR void VKAPI_CALL vkGetLinearImageLayoutGOOGLE( - VkDevice device, - VkFormat format, - VkDeviceSize* pOffset, - VkDeviceSize* pRowPitchAlignment); - -VKAPI_ATTR void VKAPI_CALL vkGetLinearImageLayout2GOOGLE( - VkDevice device, - const VkImageCreateInfo* pCreateInfo, - VkDeviceSize* pOffset, - VkDeviceSize* pRowPitchAlignment); - -VKAPI_ATTR void VKAPI_CALL vkQueueFlushCommandsGOOGLE( - VkQueue queue, - VkCommandBuffer commandBuffer, - VkDeviceSize dataSize, - const void* pData); + VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, + VkBuffer* pBuffer, VkMemoryRequirements* pMemoryRequirements); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostAddressInfoGOOGLE(VkDevice device, + VkDeviceMemory memory, + uint64_t* pAddress, uint64_t* pSize, + uint64_t* pHostmemId); + +VKAPI_ATTR VkResult VKAPI_CALL vkFreeMemorySyncGOOGLE(VkDevice device, VkDeviceMemory memory, + const VkAllocationCallbacks* pAllocator); + +VKAPI_ATTR void VKAPI_CALL vkQueueHostSyncGOOGLE(VkQueue queue, uint32_t needHostSync, + uint32_t sequenceNumber); + +VKAPI_ATTR void VKAPI_CALL vkQueueSubmitAsyncGOOGLE(VkQueue queue, uint32_t submitCount, + const VkSubmitInfo* pSubmits, VkFence fence); + +VKAPI_ATTR void VKAPI_CALL vkQueueWaitIdleAsyncGOOGLE(VkQueue queue); + +VKAPI_ATTR void VKAPI_CALL vkQueueBindSparseAsyncGOOGLE(VkQueue queue, uint32_t bindInfoCount, + const VkBindSparseInfo* pBindInfo, + VkFence fence); + +VKAPI_ATTR void VKAPI_CALL vkGetLinearImageLayoutGOOGLE(VkDevice device, VkFormat format, + VkDeviceSize* pOffset, + VkDeviceSize* pRowPitchAlignment); + +VKAPI_ATTR void VKAPI_CALL vkGetLinearImageLayout2GOOGLE(VkDevice device, + const VkImageCreateInfo* pCreateInfo, + VkDeviceSize* pOffset, + VkDeviceSize* pRowPitchAlignment); + +VKAPI_ATTR void VKAPI_CALL vkQueueFlushCommandsGOOGLE(VkQueue queue, VkCommandBuffer commandBuffer, + VkDeviceSize dataSize, const void* pData); VKAPI_ATTR void VKAPI_CALL vkQueueCommitDescriptorSetUpdatesGOOGLE( - VkQueue queue, - uint32_t descriptorPoolCount, - const VkDescriptorPool* pDescriptorPools, - uint32_t descriptorSetCount, - const VkDescriptorSetLayout* pSetLayouts, - const uint64_t* pDescriptorSetPoolIds, - const uint32_t* pDescriptorSetWhichPool, - const uint32_t* pDescriptorSetPendingAllocation, - const uint32_t* pDescriptorWriteStartingIndices, - uint32_t pendingDescriptorWriteCount, - const VkWriteDescriptorSet* pPendingDescriptorWrites); - -VKAPI_ATTR void VKAPI_CALL vkCollectDescriptorPoolIdsGOOGLE( - VkDevice device, - VkDescriptorPool descriptorPool, - uint32_t* pPoolIdCount, - uint64_t* pPoolIds); + VkQueue queue, uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools, + uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts, + const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool, + const uint32_t* pDescriptorSetPendingAllocation, + const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount, + const VkWriteDescriptorSet* pPendingDescriptorWrites); + +VKAPI_ATTR void VKAPI_CALL vkCollectDescriptorPoolIdsGOOGLE(VkDevice device, + VkDescriptorPool descriptorPool, + uint32_t* pPoolIdCount, + uint64_t* pPoolIds); VKAPI_ATTR void VKAPI_CALL vkQueueSignalReleaseImageANDROIDAsyncGOOGLE( - VkQueue queue, - uint32_t waitSemaphoreCount, - const VkSemaphore* pWaitSemaphores, - VkImage image); - -VKAPI_ATTR void VKAPI_CALL vkQueueFlushCommandsFromAuxMemoryGOOGLE( - VkQueue queue, - VkCommandBuffer commandBuffer, - VkDeviceMemory deviceMemory, - VkDeviceSize dataOffset, - VkDeviceSize dataSize); - -VKAPI_ATTR VkResult VKAPI_CALL vkGetBlobGOOGLE( - VkDevice device, - VkDeviceMemory memory); + VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image); + +VKAPI_ATTR void VKAPI_CALL vkQueueFlushCommandsFromAuxMemoryGOOGLE(VkQueue queue, + VkCommandBuffer commandBuffer, + VkDeviceMemory deviceMemory, + VkDeviceSize dataOffset, + VkDeviceSize dataSize); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetBlobGOOGLE(VkDevice device, VkDeviceMemory memory); VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateSized2GOOGLE( - VkDevice device, - VkDescriptorSet descriptorSet, - VkDescriptorUpdateTemplate descriptorUpdateTemplate, - uint32_t imageInfoCount, - uint32_t bufferInfoCount, - uint32_t bufferViewCount, - uint32_t inlineUniformBlockCount, - const uint32_t* pImageInfoEntryIndices, - const uint32_t* pBufferInfoEntryIndices, - const uint32_t* pBufferViewEntryIndices, - const VkDescriptorImageInfo* pImageInfos, - const VkDescriptorBufferInfo* pBufferInfos, - const VkBufferView* pBufferViews, - const uint8_t* pInlineUniformBlockData); - -VKAPI_ATTR void VKAPI_CALL vkQueueSubmitAsync2GOOGLE( - VkQueue queue, - uint32_t submitCount, - const VkSubmitInfo2* pSubmits, - VkFence fence); - -VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreGOOGLE( - VkDevice device, - VkSemaphore semaphore, - uint64_t syncId); - -VKAPI_ATTR void VKAPI_CALL vkTraceAsyncGOOGLE( - uint64_t id); - -VKAPI_ATTR void VKAPI_CALL vkSetDebugMetadataAsyncGOOGLE( - const VkDebugMetadataGOOGLE* pDebugMetadata); + VkDevice device, VkDescriptorSet descriptorSet, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, + uint32_t bufferInfoCount, uint32_t bufferViewCount, uint32_t inlineUniformBlockCount, + const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices, + const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos, + const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews, + const uint8_t* pInlineUniformBlockData); + +VKAPI_ATTR void VKAPI_CALL vkQueueSubmitAsync2GOOGLE(VkQueue queue, uint32_t submitCount, + const VkSubmitInfo2* pSubmits, VkFence fence); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreGOOGLE(VkDevice device, VkSemaphore semaphore, + uint64_t syncId); + +VKAPI_ATTR void VKAPI_CALL vkTraceAsyncGOOGLE(uint64_t id); + +VKAPI_ATTR void VKAPI_CALL +vkSetDebugMetadataAsyncGOOGLE(const VkDebugMetadataGOOGLE* pDebugMetadata); #ifdef __cplusplus } diff --git a/host/vulkan/vulkan_handles.h b/host/vulkan/vulkan_handles.h index 902146b48..ffa0c7740 100644 --- a/host/vulkan/vulkan_handles.h +++ b/host/vulkan/vulkan_handles.h @@ -101,6 +101,7 @@ f(VkDescriptorSet) \ f(VkSampler) \ f(VkSamplerYcbcrConversion) \ + f(VkSamplerYcbcrConversionKHR) \ f(VkDescriptorUpdateTemplate) \ f(VkRenderPass) \ f(VkFramebuffer) \ diff --git a/host/vulkan/vulkan_stream.h b/host/vulkan/vulkan_stream.h index 0a0ec3c18..61095ce7b 100644 --- a/host/vulkan/vulkan_stream.h +++ b/host/vulkan/vulkan_stream.h @@ -39,7 +39,7 @@ namespace gfxstream { namespace host { namespace vk { -class VulkanStream : public gfxstream::Stream { +class VulkanStream : public gfxstream::StreamWithErrorLogger { public: VulkanStream(IOStream* stream, const gfxstream::host::FeatureSet& features); ~VulkanStream(); diff --git a/host/vulkan/vulkan_unittest.cpp b/host/vulkan/vulkan_unittest.cpp index b153ee307..6bd76da6f 100644 --- a/host/vulkan/vulkan_unittest.cpp +++ b/host/vulkan/vulkan_unittest.cpp @@ -22,9 +22,11 @@ #include "OpenGLESDispatch/OpenGLDispatchLoader.h" #include "gfxstream/ArraySize.h" #include "gfxstream/files/PathUtils.h" +#include "gfxstream/host/handle.h" #include "gfxstream/host/testing/VkTestUtils.h" #include "gfxstream/system/System.h" #include "vk_common_operations.h" +#include "vk_vvl_configuration.h" #include "vulkan_dispatch.h" #ifdef _WIN32 @@ -430,6 +432,55 @@ TEST_F(VulkanTest, StagingMemoryQuery) { EXPECT_TRUE(getStagingMemoryTypeIndex(&mVk, mDevice, &memProps, memReqs, &typeIndex)); } +TEST(VVLConfigurationTest, ExactMatchingCaseInsensitive) { + gfxstream::host::FeatureSet features; + features.VulkanValidation.parseValue("print"); + features.VulkanValidationIncludeFilter.parseValue("com.example.game,Angle"); + VVLConfiguration config = VVLConfiguration::parse(features); + + EXPECT_TRUE(config.createDebugContext("com.example.game", "No Engine") != nullptr); + EXPECT_TRUE(config.createDebugContext("COM.EXAMPLE.GAME", "No Engine") != nullptr); + EXPECT_TRUE(config.createDebugContext("angle", "No Engine") != nullptr); + EXPECT_FALSE(config.createDebugContext("com.example.game.sub", "No Engine") != nullptr); + EXPECT_FALSE(config.createDebugContext("angle_driver", "No Engine") != nullptr); +} + +TEST(VVLConfigurationTest, ExcludeFilterPrecedence) { + gfxstream::host::FeatureSet features; + features.VulkanValidation.parseValue("print"); + features.VulkanValidationIncludeFilter.parseValue("com.example.game,TestApp"); + features.VulkanValidationExcludeFilter.parseValue("com.example.game"); + VVLConfiguration config = VVLConfiguration::parse(features); + + EXPECT_FALSE(config.createDebugContext("com.example.game", "No Engine") != nullptr); + EXPECT_TRUE(config.createDebugContext("TestApp", "No Engine") != nullptr); +} + +TEST(VVLConfigurationTest, FilterWithoutExplicitBehaviorDefaultsToPrint) { + gfxstream::host::FeatureSet features; + features.VulkanValidationIncludeFilter.parseValue("com.example.game"); + VVLConfiguration config = VVLConfiguration::parse(features); + + EXPECT_EQ(config.getBehavior(), VVLBehavior::PrintOnly); + EXPECT_TRUE(config.createDebugContext("com.example.game", "No Engine") != nullptr); + EXPECT_FALSE(config.createDebugContext("other.app", "No Engine") != nullptr); +} + +TEST(VVLConfigurationTest, FilterEnvironmentVariables) { + gfxstream::base::setEnvironmentVariable("ANDROID_EMU_VVL_INCLUDE_FILTER", "com.env.include"); + gfxstream::base::setEnvironmentVariable("ANDROID_EMU_VVL_EXCLUDE_FILTER", "com.env.exclude"); + + gfxstream::host::FeatureSet features; + VVLConfiguration config = VVLConfiguration::parse(features); + + EXPECT_EQ(config.getBehavior(), VVLBehavior::PrintOnly); + EXPECT_TRUE(config.createDebugContext("com.env.include", "No Engine") != nullptr); + EXPECT_FALSE(config.createDebugContext("com.env.exclude", "No Engine") != nullptr); + + gfxstream::base::setEnvironmentVariable("ANDROID_EMU_VVL_INCLUDE_FILTER", ""); + gfxstream::base::setEnvironmentVariable("ANDROID_EMU_VVL_EXCLUDE_FILTER", ""); +} + } // namespace } // namespace vk } // namespace host diff --git a/scripts/print_gfx_logs/opcodes.py b/scripts/print_gfx_logs/opcodes.py index 84c5da0f8..280d8740c 100644 --- a/scripts/print_gfx_logs/opcodes.py +++ b/scripts/print_gfx_logs/opcodes.py @@ -576,6 +576,15 @@ 10062: "OP_rcCreateDisplayById", 10063: "OP_rcSetDisplayPoseDpi", 10064: "OP_rcReadColorBufferDMA", + 10065: "OP_rcGetFBDisplayConfigsCount", + 10066: "OP_rcGetFBDisplayConfigsParam", + 10067: "OP_rcGetFBDisplayActiveConfig", + 10068: "OP_rcSetProcessMetadata", + 10069: "OP_rcGetHostExtensionsString", + 10070: "OP_rcGetDisplayColorTransform", + 10071: "OP_rcSetDisplayColorTransform", + 10072: "OP_rcSetDisplayPowerMode", + 10073: "OP_rcGetDisplayPowerMode", ############################################################################################### # GLES1 opcodes diff --git a/scripts/print_gfx_logs/vulkan_printer.py b/scripts/print_gfx_logs/vulkan_printer.py index 45921b368..0462fece3 100644 --- a/scripts/print_gfx_logs/vulkan_printer.py +++ b/scripts/print_gfx_logs/vulkan_printer.py @@ -2375,6 +2375,13 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000129004: "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID", 1000129005: "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID", 1000129006: "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID", + 1000133000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_FEATURES_AMD", + 1000133001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_AMD", + 1000133002: "VK_STRUCTURE_TYPE_GPA_SAMPLE_BEGIN_INFO_AMD", + 1000133003: "VK_STRUCTURE_TYPE_GPA_SESSION_CREATE_INFO_AMD", + 1000133004: "VK_STRUCTURE_TYPE_GPA_DEVICE_CLOCK_MODE_INFO_AMD", + 1000133005: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD", + 1000133006: "VK_STRUCTURE_TYPE_GPA_DEVICE_GET_CLOCK_INFO_AMD", 1000134000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX", 1000134001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX", 1000134002: "VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX", @@ -2460,6 +2467,7 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000170000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT", 1000170001: "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT", 1000172000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM", + 1000173000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM", 1000178000: "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT", 1000178001: "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT", 1000178002: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT", @@ -2605,6 +2613,11 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000302000: "VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM", 1000302001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM", 1000302002: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM", + 1000303000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM", + 1000304000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM", + 1000304001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM", + 1000305000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT", + 1000305001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT", 1000307000: "VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV", 1000307001: "VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV", 1000307002: "VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV", @@ -2928,7 +2941,6 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000496000: "VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT", 1000497000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM", 1000497001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM", - 1000498000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT", 1000499000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT", 1000504000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR", 1000505000: "VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV", @@ -3056,6 +3068,8 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000562004: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR", 1000563000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV", 1000564000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT", + 1000565000: "VK_STRUCTURE_TYPE_TENSOR_EXPLICIT_TILING_FORMAT_PROPERTIES_ARM", + 1000565001: "VK_STRUCTURE_TYPE_TENSOR_ROLLING_BACKING_CREATE_INFO_ARM", 1000567000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT", 1000568000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV", 1000569000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV", @@ -3120,6 +3134,9 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000593001: "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV", 1000593002: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV", 1000596000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM", + 1000598000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR", + 1000598001: "VK_STRUCTURE_TYPE_VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR", + 1000598002: "VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR", 1000602000: "VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT", 1000602001: "VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT", 1000602002: "VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT", @@ -3142,11 +3159,17 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000286001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR", 1000613000: "VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV", 1000613001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV", + 1000616000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT", + 1000616001: "VK_STRUCTURE_TYPE_SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT", 1000425000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT", 1000425001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT", 1000425002: "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT", 1000620000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT", 1000361000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR", + 1000623000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR", + 1000623001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR", + 1000623002: "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR", + 1000623003: "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR", 1000627000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT", 1000628000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT", 1000628001: "VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT", @@ -3173,10 +3196,22 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000642000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT", 1000645000: "VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV", 1000645001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV", + 1000498000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_KHR", 1000657000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR", 1000657001: "VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR", + 1000659000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT", + 1000659001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_INFO_2_EXT", + 1000659002: "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_2_EXT", 1000662000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT", 1000664000: "VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC", + 1000668000: "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_4_KHR", + 1000668001: "VK_STRUCTURE_TYPE_IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR", + 1000668002: "VK_STRUCTURE_TYPE_IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR", + 1000668003: "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR", + 1000668004: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR", + 1000668005: "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR", + 1000668006: "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR", + 1000672000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OCP_MICROSCALING_TYPES_FEATURES_EXT", 1000673000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE", 1000674000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC", 1000674001: "VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC", @@ -3184,6 +3219,14 @@ def struct_VkWriteDescriptorSet(printer, indent: int): 1000676001: "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM", 1000676002: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM", 1000678000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT", + 1000687000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_TILING_CONTROL_FEATURES_EXT", + 1000687001: "VK_STRUCTURE_TYPE_IMAGE_TILING_CONTROL_CREATE_INFO_EXT", + 1000689000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV", + 1000707000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_BASE_HANDLE_FEATURES_NV", + 1000708000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INFO_PROPERTIES_INTEL", + 1000709000: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_FEATURES_VALVE", + 1000709001: "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_PROPERTIES_VALVE", + 1000709002: "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_ALIGNMENT_ALLOCATE_INFO_VALVE", 1000385000: "VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE", 1000385001: "VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE", 1000385002: "VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE", diff --git a/tests/end2end/Android.bp b/tests/end2end/Android.bp index 331a7207e..b1c54144a 100644 --- a/tests/end2end/Android.bp +++ b/tests/end2end/Android.bp @@ -27,6 +27,7 @@ cc_test_host { "gfxstream_end2end_gl_tests.cpp", "gfxstream_end2end_gralloc_tests.cpp", "gfxstream_end2end_vk_tests.cpp", + "gfxstream_end2end_vvl_tests.cpp", "kumquat_instance.cpp", "test_data_utils.cpp", ], diff --git a/tests/end2end/BUILD.bazel b/tests/end2end/BUILD.bazel index 7a5743dcf..77361d20f 100644 --- a/tests/end2end/BUILD.bazel +++ b/tests/end2end/BUILD.bazel @@ -28,6 +28,8 @@ copy_to_directory( "//guest/rendercontrol:gfxstream_guest_rendercontrol", "@mesa//:mesa_gfxstream_guest_vulkan", "@rutabaga//:rutabaga_gfx_kumquat_server", + "@vulkan_validation_layers//:VkLayer_khronos_validation", + "@vulkan_validation_layers//:VkLayer_khronos_validation_json", ], include_external_repositories = ["*"], # Effectively, all of the "prefixes" to flatten. @@ -56,6 +58,7 @@ cc_test( "gfxstream_end2end_tests.cpp", "gfxstream_end2end_tests.h", "gfxstream_end2end_vk_tests.cpp", + "gfxstream_end2end_vvl_tests.cpp", "kumquat_instance.cpp", "kumquat_instance.h", "test_data_utils.cpp", diff --git a/tests/end2end/gfxstream_end2end_test_utils.cpp b/tests/end2end/gfxstream_end2end_test_utils.cpp index ccf8dce6a..18071852e 100644 --- a/tests/end2end/gfxstream_end2end_test_utils.cpp +++ b/tests/end2end/gfxstream_end2end_test_utils.cpp @@ -99,7 +99,7 @@ void readImageData(vkhpp::Image image, uint32_t width, uint32_t height, const vkhpp::CommandBufferBeginInfo commandBufferBeginInfo = { .flags = vkhpp::CommandBufferUsageFlagBits::eOneTimeSubmit, }; - readbackCommandBuffer->begin(commandBufferBeginInfo); + ASSERT_THAT(readbackCommandBuffer->begin(commandBufferBeginInfo), IsVkSuccess()); const vkhpp::ImageMemoryBarrier readbackBarrier{ .oldLayout = currentLayout, .newLayout = vkhpp::ImageLayout::eTransferSrcOptimal, @@ -152,7 +152,7 @@ void readImageData(vkhpp::Image image, uint32_t width, uint32_t height, vkhpp::PipelineStageFlagBits::eAllCommands, vkhpp::PipelineStageFlagBits::eAllCommands, vkhpp::DependencyFlags(), nullptr, nullptr, restoreBarrier); - readbackCommandBuffer->end(); + ASSERT_THAT(readbackCommandBuffer->end(), IsVkSuccess()); auto readbackFence = device->createFenceUnique(vkhpp::FenceCreateInfo()).value; ASSERT_THAT(readbackCommandBuffer, IsValidHandle()); @@ -162,7 +162,7 @@ void readImageData(vkhpp::Image image, uint32_t width, uint32_t height, .commandBufferCount = 1, .pCommandBuffers = &readbackCommandBuffer.get(), }; - queue.submit(readbackSubmitInfo, *readbackFence); + ASSERT_THAT(queue.submit(readbackSubmitInfo, *readbackFence), IsVkSuccess()); auto readbackWaitResult = device->waitForFences(*readbackFence, VK_TRUE, 3000000000L); ASSERT_THAT(readbackWaitResult, IsVkSuccess()); diff --git a/tests/end2end/gfxstream_end2end_tests.cpp b/tests/end2end/gfxstream_end2end_tests.cpp index 740afd67a..3fd1f85ad 100644 --- a/tests/end2end/gfxstream_end2end_tests.cpp +++ b/tests/end2end/gfxstream_end2end_tests.cpp @@ -93,7 +93,9 @@ std::string TestParams::ToString() const { ret += "SampleCount" + std::to_string(samples); if (!with_features.empty()) { ret += "WithFeatures_"; - ret += Join(with_features, "_"); + std::string featuresStr = Join(with_features, "_"); + std::replace(featuresStr.begin(), featuresStr.end(), ':', '_'); + ret += featuresStr; ret += "_"; } ret += "Over"; @@ -241,12 +243,19 @@ void GfxstreamEnd2EndTest::SetUp() { const std::string transportValue = GfxstreamTransportToEnvVar(params.with_transport); std::vector featureEnables; for (const std::string& feature : params.with_features) { - featureEnables.push_back(feature + ":enabled"); + if (feature.find(':') != std::string::npos) { + featureEnables.push_back(feature); + } else { + featureEnables.push_back(feature + ":enabled"); + } } ASSERT_THAT(gfxstream::testing::SetupGraphicsTestEnvironment(), IsTrue()) << "Failed to configured graphics test environment!"; + const std::string testdataDirectory = GetTestDataPath("kumquat_virtio").parent_path().string(); + gfxstream::base::setEnvironmentVariable("GFXSTREAM_TESTDATA_PATH", testdataDirectory.c_str()); + ASSERT_THAT(setenv("GFXSTREAM_TRANSPORT", transportValue.c_str(), /*overwrite=*/1), Eq(0)); ASSERT_THAT(setenv("VIRTGPU_KUMQUAT", "1", /*overwrite=*/1), Eq(0)); @@ -617,8 +626,6 @@ GfxstreamEnd2EndTest::SetUpTypicalVkTestEnvironment(const TypicalVkTestEnvironme .pNext = opts.deviceCreateInfoPNext ? *opts.deviceCreateInfoPNext : nullptr, .queueCreateInfoCount = 1, .pQueueCreateInfos = &deviceQueueCreateInfo, - .enabledLayerCount = 0, - .ppEnabledLayerNames = nullptr, .enabledExtensionCount = static_cast(deviceExtensions.size()), .ppEnabledExtensionNames = deviceExtensions.data(), }; diff --git a/tests/end2end/gfxstream_end2end_vk_tests.cpp b/tests/end2end/gfxstream_end2end_vk_tests.cpp index 6f6a67716..3eac0d68e 100644 --- a/tests/end2end/gfxstream_end2end_vk_tests.cpp +++ b/tests/end2end/gfxstream_end2end_vk_tests.cpp @@ -149,9 +149,9 @@ class GfxstreamEnd2EndVkTest : public GfxstreamEnd2EndTest { const vkhpp::CommandBufferBeginInfo commandBufferBeginInfo = { .flags = vkhpp::CommandBufferUsageFlagBits::eOneTimeSubmit, }; - commandBuffer->begin(commandBufferBeginInfo); + GFXSTREAM_EXPECT_VKHPP_RESULT(commandBuffer->begin(commandBufferBeginInfo)); GFXSTREAM_EXPECT(func(commandBuffer)); - commandBuffer->end(); + GFXSTREAM_EXPECT_VKHPP_RESULT(commandBuffer->end()); std::vector commandBufferHandles; commandBufferHandles.push_back(*commandBuffer); @@ -180,8 +180,8 @@ class GfxstreamEnd2EndVkTest : public GfxstreamEnd2EndTest { submitInfo.signalSemaphoreCount = static_cast(semaphoreHandlesSignal.size()); submitInfo.pSignalSemaphores = semaphoreHandlesSignal.data(); } - vk.queue.submit(submitInfo); - vk.queue.waitIdle(); + GFXSTREAM_EXPECT_VKHPP_RESULT(vk.queue.submit(submitInfo)); + GFXSTREAM_EXPECT_VKHPP_RESULT(vk.queue.waitIdle()); return Ok{}; } @@ -233,11 +233,12 @@ class GfxstreamEnd2EndVkTest : public GfxstreamEnd2EndTest { std::memcpy(mapped, data, dataSize); if (!(bufferMemoryProperties & vkhpp::MemoryPropertyFlagBits::eHostVisible)) { - vk.device->flushMappedMemoryRanges(vkhpp::MappedMemoryRange{ - .memory = *bufferMemory, - .offset = 0, - .size = VK_WHOLE_SIZE, - }); + GFXSTREAM_EXPECT_VKHPP_RESULT( + vk.device->flushMappedMemoryRanges(vkhpp::MappedMemoryRange{ + .memory = *bufferMemory, + .offset = 0, + .size = VK_WHOLE_SIZE, + })); } vk.device->unmapMemory(*bufferMemory); @@ -395,7 +396,7 @@ class GfxstreamEnd2EndVkTest : public GfxstreamEnd2EndTest { }; auto imageMemory = GFXSTREAM_EXPECT_VKHPP_RV(vk.device->allocateMemoryUnique(imageMemoryAllocateInfo)); - vk.device->bindImageMemory(*image, *imageMemory, 0); + GFXSTREAM_EXPECT_VKHPP_RESULT(vk.device->bindImageMemory(*image, *imageMemory, 0)); const vkhpp::ImageViewCreateInfo imageViewCreateInfo = { .pNext = ahbIsYuv ? &*samplerConversionInfo : nullptr, @@ -496,7 +497,7 @@ class GfxstreamEnd2EndVkTest : public GfxstreamEnd2EndTest { auto imageMemory = GFXSTREAM_EXPECT_VKHPP_RV(vk.device->allocateMemoryUnique(imageMemoryAllocateInfo)); - vk.device->bindImageMemory(*image, *imageMemory, 0); + GFXSTREAM_EXPECT_VKHPP_RESULT(vk.device->bindImageMemory(*image, *imageMemory, 0)); const vkhpp::ImageViewCreateInfo imageViewCreateInfo = { .image = *image, @@ -1390,8 +1391,8 @@ TEST_P(GfxstreamEnd2EndVkTest, ImportAHB) { const vkhpp::CommandBufferBeginInfo commandBufferBeginInfo = { .flags = vkhpp::CommandBufferUsageFlagBits::eOneTimeSubmit, }; - commandBuffer->begin(commandBufferBeginInfo); - commandBuffer->end(); + ASSERT_THAT(commandBuffer->begin(commandBufferBeginInfo), IsVkSuccess()); + ASSERT_THAT(commandBuffer->end(), IsVkSuccess()); std::vector commandBufferHandles; commandBufferHandles.push_back(*commandBuffer); @@ -1403,7 +1404,7 @@ TEST_P(GfxstreamEnd2EndVkTest, ImportAHB) { .commandBufferCount = static_cast(commandBufferHandles.size()), .pCommandBuffers = commandBufferHandles.data(), }; - queue.submit(submitInfo, *transferFence); + ASSERT_THAT(queue.submit(submitInfo, *transferFence), IsVkSuccess()); auto waitResult = device->waitForFences(*transferFence, VK_TRUE, AsVkTimeout(3s)); ASSERT_THAT(waitResult, IsVkSuccess()); @@ -1595,8 +1596,8 @@ TEST_P(GfxstreamEnd2EndVkTest, HostMemory) { .offset = 0, .size = kSize, }; - device->flushMappedMemoryRanges({range}); - device->invalidateMappedMemoryRanges({range}); + ASSERT_THAT(device->flushMappedMemoryRanges({range}), IsVkSuccess()); + ASSERT_THAT(device->invalidateMappedMemoryRanges({range}), IsVkSuccess()); for (uint32_t i = 0; i < kSize; ++i) { EXPECT_THAT(bytes[i], Eq(0xFF)); @@ -1748,7 +1749,7 @@ TEST_P(GfxstreamEnd2EndVkTest, DescriptorSetAllocFreeReset) { auto bundle = GFXSTREAM_ASSERT(AllocateDescriptorBundle(*device, kNumSets)); - device->resetDescriptorPool(*bundle.descriptorPool); + ASSERT_THAT(device->resetDescriptorPool(*bundle.descriptorPool), IsVkSuccess()); // The double free should also work auto descriptorSetHandles = AsHandles(bundle.descriptorSets); @@ -1757,7 +1758,7 @@ TEST_P(GfxstreamEnd2EndVkTest, DescriptorSetAllocFreeReset) { // Alloc/reset/free again should also work GFXSTREAM_ASSERT(ReallocateDescriptorBundleSets(*device, kNumSets, &bundle)); - device->resetDescriptorPool(*bundle.descriptorPool); + ASSERT_THAT(device->resetDescriptorPool(*bundle.descriptorPool), IsVkSuccess()); descriptorSetHandles = AsHandles(bundle.descriptorSets); EXPECT_THAT(device->freeDescriptorSets(*bundle.descriptorPool, kNumSets, descriptorSetHandles.data()), IsVkSuccess()); @@ -2192,13 +2193,13 @@ TEST_P(GfxstreamEnd2EndVkTest, MultiThreadedResetCommandBuffer) { constexpr const int kNumIterations = 1000; for (int i = 0; i < kNumIterations; i++) { - commandBuffer->reset(); + ASSERT_THAT(commandBuffer->reset(), IsVkSuccess()); const vkhpp::CommandBufferBeginInfo commandBufferBeginInfo = { .flags = vkhpp::CommandBufferUsageFlagBits::eOneTimeSubmit, }; - commandBuffer->begin(commandBufferBeginInfo); + ASSERT_THAT(commandBuffer->begin(commandBufferBeginInfo), IsVkSuccess()); - commandBuffer->end(); + ASSERT_THAT(commandBuffer->end(), IsVkSuccess()); std::vector commandBufferHandles; commandBufferHandles.push_back(*commandBuffer); @@ -2209,11 +2210,11 @@ TEST_P(GfxstreamEnd2EndVkTest, MultiThreadedResetCommandBuffer) { }; { std::lock_guard qm(queue_mutex); - queue.submit(submitInfo, *transferFence); + ASSERT_THAT(queue.submit(submitInfo, *transferFence), IsVkSuccess()); } auto waitResult = device->waitForFences(*transferFence, VK_TRUE, AsVkTimeout(3s)); ASSERT_THAT(waitResult, IsVkSuccess()); - device->resetFences(*transferFence); + ASSERT_THAT(device->resetFences(*transferFence), IsVkSuccess()); } }); } @@ -2291,8 +2292,6 @@ TEST_P(GfxstreamEnd2EndVkTest, UseDoubleQueuesAndSynchronizeCorrectly) { .pNext = nullptr, .queueCreateInfoCount = 1, .pQueueCreateInfos = &deviceQueueCreateInfo, - .enabledLayerCount = 0, - .ppEnabledLayerNames = nullptr, .enabledExtensionCount = static_cast(deviceExtensions.size()), .ppEnabledExtensionNames = deviceExtensions.data(), }; @@ -2354,7 +2353,7 @@ TEST_P(GfxstreamEnd2EndVkTest, UseDoubleQueuesAndSynchronizeCorrectly) { const vkhpp::CommandBufferBeginInfo commandBufferBeginInfo = { .flags = vkhpp::CommandBufferUsageFlagBits::eOneTimeSubmit, }; - commandBufferWriteInto->begin(commandBufferBeginInfo); + ASSERT_THAT(commandBufferWriteInto->begin(commandBufferBeginInfo), IsVkSuccess()); std::vector dataToWrite = utils::getRandomNByteData(100); commandBufferWriteInto->updateBuffer(sourceBufferWithMemory.buffer.get(), 0, dataToWrite.size(), dataToWrite.data()); @@ -2369,9 +2368,9 @@ TEST_P(GfxstreamEnd2EndVkTest, UseDoubleQueuesAndSynchronizeCorrectly) { commandBufferWriteInto->pipelineBarrier(vkhpp::PipelineStageFlagBits::eTransfer, vkhpp::PipelineStageFlagBits::eTransfer, vkhpp::DependencyFlags(), {}, bufferBarrier, {}); - commandBufferWriteInto->end(); + ASSERT_THAT(commandBufferWriteInto->end(), IsVkSuccess()); - commandBufferCopy->begin(commandBufferBeginInfo); + ASSERT_THAT(commandBufferCopy->begin(commandBufferBeginInfo), IsVkSuccess()); vkhpp::BufferCopy copyRegion{}; copyRegion.srcOffset = 0; copyRegion.dstOffset = 0; @@ -2379,10 +2378,10 @@ TEST_P(GfxstreamEnd2EndVkTest, UseDoubleQueuesAndSynchronizeCorrectly) { vkhpp::ArrayProxy copyRegions = copyRegion; commandBufferCopy->copyBuffer(sourceBufferWithMemory.buffer.get(), destBufferWithMemory.buffer.get(), copyRegions); - commandBufferCopy->end(); - queue1.submit(submitInfoWrite, nullptr); - queue2.submit(submitInfoCopy, nullptr); - queue2.waitIdle(); + ASSERT_THAT(commandBufferCopy->end(), IsVkSuccess()); + ASSERT_THAT(queue1.submit(submitInfoWrite, nullptr), IsVkSuccess()); + ASSERT_THAT(queue2.submit(submitInfoCopy, nullptr), IsVkSuccess()); + ASSERT_THAT(queue2.waitIdle(), IsVkSuccess()); void* mappedMemory = GFXSTREAM_ASSERT_VKHPP_RV( device->mapMemory(*destBufferWithMemory.bufferMemory, 0, kBufferSize)); uint8_t* readData = static_cast(mappedMemory); diff --git a/tests/end2end/gfxstream_end2end_vvl_tests.cpp b/tests/end2end/gfxstream_end2end_vvl_tests.cpp new file mode 100644 index 000000000..5e0f9a63e --- /dev/null +++ b/tests/end2end/gfxstream_end2end_vvl_tests.cpp @@ -0,0 +1,175 @@ +// Copyright (C) 2026 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include + +#include "gfxstream_end2end_test_utils.h" +#include "gfxstream_end2end_tests.h" +#include "gfxstream/common/logging.h" +#include "gfxstream/Expected.h" + +namespace gfxstream { +namespace tests { +namespace { + +using testing::Eq; +using testing::NotNull; + +class GfxstreamEnd2EndVvlTest : public GfxstreamEnd2EndTest { + protected: + void SetUp() override { + testing::internal::CaptureStdout(); + testing::internal::CaptureStderr(); + mOutputCaptured = true; + GfxstreamEnd2EndTest::SetUp(); + } + + void TearDown() override { + GfxstreamEnd2EndTest::TearDown(); + if (mOutputCaptured) { + (void)testing::internal::GetCapturedStdout(); + (void)testing::internal::GetCapturedStderr(); + mOutputCaptured = false; + } + } + + std::string GetCapturedLogs() { + if (mOutputCaptured) { + mOutputCaptured = false; + return testing::internal::GetCapturedStdout() + testing::internal::GetCapturedStderr(); + } + return ""; + } + + void DoValidVkOperations() { + auto [instance, physicalDevice, device, queue, queueFamilyIndex] = + GFXSTREAM_ASSERT(SetUpTypicalVkTestEnvironment()); + + const uint32_t width = 32; + const uint32_t height = 32; + auto ahb = GFXSTREAM_ASSERT(ScopedAHardwareBuffer::Allocate( + *mGralloc, width, height, GFXSTREAM_AHB_FORMAT_R8G8B8A8_UNORM)); + + const VkNativeBufferANDROID imageNativeBufferInfo = { + .sType = VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID, + .handle = mGralloc->getNativeHandle(ahb), + }; + + const vkhpp::ImageCreateInfo imageCreateInfo = { + .pNext = &imageNativeBufferInfo, + .imageType = vkhpp::ImageType::e2D, + .format = vkhpp::Format::eR8G8B8A8Unorm, + .extent = + { + .width = width, + .height = height, + .depth = 1, + }, + .mipLevels = 1, + .arrayLayers = 1, + .samples = vkhpp::SampleCountFlagBits::e1, + .tiling = vkhpp::ImageTiling::eOptimal, + .usage = vkhpp::ImageUsageFlagBits::eSampled | vkhpp::ImageUsageFlagBits::eTransferDst | + vkhpp::ImageUsageFlagBits::eTransferSrc, + .sharingMode = vkhpp::SharingMode::eExclusive, + .initialLayout = vkhpp::ImageLayout::eUndefined, + }; + auto image = device->createImageUnique(imageCreateInfo).value; + ASSERT_TRUE(image.get() != VK_NULL_HANDLE); + } + + private: + bool mOutputCaptured = false; +}; + +TEST_P(GfxstreamEnd2EndVvlTest, BasicValidOperations) { + DoValidVkOperations(); +} + +TEST_P(GfxstreamEnd2EndVvlTest, InvalidVkOperationTriggersVvlLog) { + bool vvlEnabled = false; + for (const auto& f : GetParam().with_features) { + if (f.find("VulkanValidation") != std::string::npos) { + vvlEnabled = true; + break; + } + } + + { + auto [instance, physicalDevice, device, queue, queueFamilyIndex] = + GFXSTREAM_ASSERT(SetUpTypicalVkTestEnvironment()); + + // Perform invalid operations that trigger VVL validation without hitting Mesa assertions: + // 1. createBuffer with usage = 0 (VUID-VkBufferCreateInfo-usage-requiredbitmask) + const vkhpp::BufferCreateInfo invalidBufferInfo = { + .size = 64, + .usage = {}, + }; + auto bufferRes = device->createBufferUnique(invalidBufferInfo); + (void)bufferRes; + + // 2. createSampler with maxLod < minLod (VUID-VkSamplerCreateInfo-maxLod-01973) + const vkhpp::SamplerCreateInfo invalidSamplerInfo = { + .minLod = 2.0f, + .maxLod = 1.0f, + }; + auto samplerRes = device->createSamplerUnique(invalidSamplerInfo); + (void)samplerRes; + } + + // Tear down guest connection so kumquat_virtio processes and flushes all pending commands/logs + TearDownGuest(); + + const std::string logs = GetCapturedLogs(); + + if (vvlEnabled) { + EXPECT_NE(logs.find("VVL"), std::string::npos) + << "Expected VVL prefix in logs when VulkanValidation feature is enabled. Logs:\n" + << logs; + EXPECT_NE(logs.find("VUID-"), std::string::npos) + << "Expected VVL VUID validation error in logs when VulkanValidation feature is enabled. Logs:\n" + << logs; + } else { + EXPECT_EQ(logs.find("VVL"), std::string::npos) + << "Expected no VVL validation output in logs when VulkanValidation feature is disabled. Logs:\n" + << logs; + EXPECT_EQ(logs.find("VUID-"), std::string::npos) + << "Expected no VVL VUID validation error in logs when VulkanValidation feature is disabled. Logs:\n" + << logs; + } +} + +INSTANTIATE_TEST_SUITE_P(GfxstreamEnd2EndTests, GfxstreamEnd2EndVvlTest, ::testing::ValuesIn([]() { + std::vector cases = { + TestParams{ + .with_gl = false, + .with_vk = true, + .with_features = {"MinimalLogging"}, + .with_transport = GfxstreamTransport::kVirtioGpuAsg, + }, + TestParams{ + .with_gl = false, + .with_vk = true, + .with_features = {"MinimalLogging", "VulkanValidation:print"}, + .with_transport = GfxstreamTransport::kVirtioGpuAsg, + }, + }; + return cases; + }()), + &GetTestName); + +} // namespace +} // namespace tests +} // namespace gfxstream diff --git a/third_party/swiftshader/BUILD.swiftshader.bazel b/third_party/swiftshader/BUILD.swiftshader.bazel index 1c2e25cdb..a1c762ee6 100644 --- a/third_party/swiftshader/BUILD.swiftshader.bazel +++ b/third_party/swiftshader/BUILD.swiftshader.bazel @@ -1469,11 +1469,12 @@ cc_library( ], }), copts = [ - "-DBLAKE3_NO_AVX512", "-DBLAKE3_NO_AVX2", - "-DBLAKE3_NO_SSE41", + "-DBLAKE3_NO_AVX512", "-DBLAKE3_NO_SSE2", + "-DBLAKE3_NO_SSE41", "-DBLAKE3_USE_NEON=0", + "-DHAVE_UNW_ADD_DYNAMIC_FDE", "-Wno-comment", "-Wno-deprecated-anon-enum-enum-conversion", "-Wno-deprecated-declarations", diff --git a/third_party/third_party.MODULE.bazel b/third_party/third_party.MODULE.bazel index 9060263ff..f222af31e 100644 --- a/third_party/third_party.MODULE.bazel +++ b/third_party/third_party.MODULE.bazel @@ -8,4 +8,7 @@ include("//third_party/rutabaga:rutabaga.MODULE.bazel") include("//third_party/spirv_headers:spirv_headers.MODULE.bazel") include("//third_party/spirv_tools:spirv_tools.MODULE.bazel") include("//third_party/swiftshader:swiftshader.MODULE.bazel") +include("//third_party/vulkan_headers:vulkan_headers.MODULE.bazel") +include("//third_party/vulkan_utility_libraries:vulkan_utility_libraries.MODULE.bazel") +include("//third_party/vvl:vvl.MODULE.bazel") include("//third_party/zlib:zlib.MODULE.bazel") diff --git a/third_party/vulkan/BUILD.bazel b/third_party/vulkan/BUILD.bazel index 931331c13..451677174 100644 --- a/third_party/vulkan/BUILD.bazel +++ b/third_party/vulkan/BUILD.bazel @@ -4,6 +4,10 @@ package( default_visibility = ["//:gfxstream"], ) +# Note: gfxstream uses the checked-in Vulkan 1.4.363 headers below for core builds. +# A separate external repository @vulkan_headers (Vulkan 1.4.357) is provided in +# //third_party/vulkan_headers for building Vulkan-ValidationLayers and +# Vulkan-Utility-Libraries, which are pinned to 1.4.357. See README.md. cc_library( name = "gfxstream_vulkan_headers", hdrs = glob([ diff --git a/third_party/vulkan/README.md b/third_party/vulkan/README.md new file mode 100644 index 000000000..dcda23918 --- /dev/null +++ b/third_party/vulkan/README.md @@ -0,0 +1,14 @@ +# Vulkan Headers in gfxstream + +This directory (`third_party/vulkan`) contains historical, checked-in Vulkan headers (version 1.4.363). These headers are used by: +- Core gfxstream host and guest components (`:gfxstream_vulkan_headers`) +- Host/guest serialization (`cereal`) +- Non-Bazel build systems (`Android.bp`, `CMakeLists.txt`, `meson.build`) + +## External Vulkan Headers (`third_party/vulkan_headers`) + +A separate external repository rule is defined in `//third_party/vulkan_headers` (`@vulkan_headers//:vulkan_headers`), pinned to `vulkan-sdk-1.4.357.0`. + +This second copy is used by: +1. Vulkan Validation Layers (`vvl`) and Vulkan-Utility-Libraries (`vulkan_utility_libraries`), which are pinned to 1.4.357. +2. Keeping them separate avoids coupling VVL/VUL upgrades to the checked-in headers used across Android and CMake/Meson build systems. diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std.h index 75cebd74c..5347b3639 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_decode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_decode.h index 60bf2c039..e262e961a 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_decode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_decode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_encode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_encode.h index 3602fe125..8afb2537f 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_encode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_av1std_encode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std.h index 48621b695..2ae893243 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* @@ -44,6 +44,8 @@ typedef enum StdVideoH264ProfileIdc { STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, + STD_VIDEO_H264_PROFILE_IDC_HIGH_10 = 110, + STD_VIDEO_H264_PROFILE_IDC_HIGH_422 = 122, STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF, STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_decode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_decode.h index a6bfe9d82..fa1140586 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_decode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_decode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_encode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_encode.h index 2d42ac321..aba6fbf3a 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_encode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_h264std_encode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std.h index 23617b8f9..cf0cbefc0 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h index 1758d4a88..7cfe54f28 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_decode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_encode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_encode.h index e584a7262..fd8ee03b6 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_encode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_h265std_encode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std.h index 3c62f287e..312a78574 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std_decode.h b/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std_decode.h index ac7fa7be8..2a7ecdc97 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std_decode.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codec_vp9std_decode.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vk_video/vulkan_video_codecs_common.h b/third_party/vulkan/include/vk_video/vulkan_video_codecs_common.h index 3c4d0553d..faedbef46 100644 --- a/third_party/vulkan/include/vk_video/vulkan_video_codecs_common.h +++ b/third_party/vulkan/include/vk_video/vulkan_video_codecs_common.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vk_icd.h b/third_party/vulkan/include/vulkan/vk_icd.h index d71f5682a..38b137ce2 100644 --- a/third_party/vulkan/include/vulkan/vk_icd.h +++ b/third_party/vulkan/include/vulkan/vk_icd.h @@ -2,8 +2,7 @@ * Copyright 2015-2023 The Khronos Group Inc. * Copyright 2015-2023 Valve Corporation * Copyright 2015-2023 LunarG, Inc. - * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: Apache-2.0 OR MIT */ #pragma once diff --git a/third_party/vulkan/include/vulkan/vk_layer.h b/third_party/vulkan/include/vulkan/vk_layer.h index 19cf5880c..0e9a27b12 100644 --- a/third_party/vulkan/include/vulkan/vk_layer.h +++ b/third_party/vulkan/include/vulkan/vk_layer.h @@ -2,8 +2,7 @@ * Copyright 2015-2023 The Khronos Group Inc. * Copyright 2015-2023 Valve Corporation * Copyright 2015-2023 LunarG, Inc. - * - * SPDX-License-Identifier: Apache-2.0 + * SPDX-License-Identifier: Apache-2.0 OR MIT */ #pragma once diff --git a/third_party/vulkan/include/vulkan/vk_platform.h b/third_party/vulkan/include/vulkan/vk_platform.h index e431c7631..bbe60245d 100644 --- a/third_party/vulkan/include/vulkan/vk_platform.h +++ b/third_party/vulkan/include/vulkan/vk_platform.h @@ -3,8 +3,7 @@ // /* ** Copyright 2014-2026 The Khronos Group Inc. -** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ diff --git a/third_party/vulkan/include/vulkan/vulkan.cppm b/third_party/vulkan/include/vulkan/vulkan.cppm index e91b85b9b..b868ca759 100644 --- a/third_party/vulkan/include/vulkan/vulkan.cppm +++ b/third_party/vulkan/include/vulkan/vulkan.cppm @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -25,16 +24,16 @@ VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING ) export module vulkan; -export import std; +import std; -VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 350, "Wrong VK_HEADER_VERSION!" ); +VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 363, "Wrong VK_HEADER_VERSION!" ); -#if defined( _MSC_VER ) -# pragma warning( push ) -# pragma warning( disable : 5244 ) -#elif defined( __clang__ ) +#if defined( __clang__ ) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Winclude-angled-in-module-purview" +#elif defined( _MSC_VER ) +# pragma warning( push ) +# pragma warning( disable : 5244 ) #elif defined( __GNUC__ ) #endif @@ -45,10 +44,10 @@ VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 350, "Wrong VK_HEADER_VERSION!" ) #include #include -#if defined( _MSC_VER ) -# pragma warning( pop ) -#elif defined( __clang__ ) +#if defined( __clang__ ) # pragma clang diagnostic pop +#elif defined( _MSC_VER ) +# pragma warning( pop ) #elif defined( __GNUC__ ) #endif @@ -603,6 +602,20 @@ export using ::PFN_vkGetMemoryAndroidHardwareBufferANDROID; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + using ::PFN_vkCmdBeginGpaSampleAMD; + using ::PFN_vkCmdBeginGpaSessionAMD; + using ::PFN_vkCmdCopyGpaSessionResultsAMD; + using ::PFN_vkCmdEndGpaSampleAMD; + using ::PFN_vkCmdEndGpaSessionAMD; + using ::PFN_vkCreateGpaSessionAMD; + using ::PFN_vkDestroyGpaSessionAMD; + using ::PFN_vkGetGpaDeviceClockInfoAMD; + using ::PFN_vkGetGpaSessionResultsAMD; + using ::PFN_vkGetGpaSessionStatusAMD; + using ::PFN_vkResetGpaSessionAMD; + using ::PFN_vkSetGpaDeviceClockModeAMD; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === using ::PFN_vkCmdDispatchGraphAMDX; @@ -894,6 +907,15 @@ export using ::PFN_vkCmdDispatchTileQCOM; using ::PFN_vkCmdEndPerTileExecutionQCOM; + //=== VK_NV_low_latency === + using ::PFN_vkGetLatencyTimingsLegacyNV; + using ::PFN_vkGetSleepStatusLegacyNV; + using ::PFN_vkLatencySleepLegacyNV; + using ::PFN_vkQueueNotifyOutOfBandLegacyNV; + using ::PFN_vkSetLatencyMarkerLegacyNV; + using ::PFN_vkSetLatencySleepModeLegacyNV; + using ::PFN_vkShutdownLatencyDeviceLegacyNV; + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === using ::PFN_vkExportMetalObjectsEXT; @@ -1313,6 +1335,9 @@ export //=== VK_NV_compute_occupancy_priority === using ::PFN_vkCmdSetComputeOccupancyPriorityNV; + //=== VK_EXT_cooperative_matrix_maintenance1 === + using ::PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT; + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === using ::PFN_vkCreateUbmSurfaceSEC; diff --git a/third_party/vulkan/include/vulkan/vulkan.h b/third_party/vulkan/include/vulkan/vulkan.h index 2ed8d9c7a..934d9b1ec 100644 --- a/third_party/vulkan/include/vulkan/vulkan.h +++ b/third_party/vulkan/include/vulkan/vulkan.h @@ -3,8 +3,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. -** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ #include "vk_platform.h" diff --git a/third_party/vulkan/include/vulkan/vulkan.hpp b/third_party/vulkan/include/vulkan/vulkan.hpp index 5901144fd..134dd83d6 100644 --- a/third_party/vulkan/include/vulkan/vulkan.hpp +++ b/third_party/vulkan/include/vulkan/vulkan.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -19,6 +18,9 @@ # include // strnlen # include // std::string # include // std::exchange +# if defined( __APPLE__ ) +# include // std::getenv +# endif # if 17 <= VULKAN_HPP_CPP_VERSION # include # endif @@ -37,7 +39,7 @@ # endif #endif -VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 350, "Wrong VK_HEADER_VERSION!" ); +VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 363, "Wrong VK_HEADER_VERSION!" ); VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { @@ -88,14 +90,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array const & data ) VULKAN_HPP_NOEXCEPT : std::array( data ) {} +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template + requires std::is_same::value +#endif VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string const & data ) VULKAN_HPP_NOEXCEPT { copy( data.data(), data.length() ); } #if 17 <= VULKAN_HPP_CPP_VERSION +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template + requires std::is_same::value +# endif VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string_view data ) VULKAN_HPP_NOEXCEPT { copy( data.data(), data.length() ); @@ -125,14 +137,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return this->data(); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template + requires std::is_same::value +#endif operator std::string() const { return std::string( this->data(), strnlen( this->data(), N ) ); } #if 17 <= VULKAN_HPP_CPP_VERSION +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template + requires std::is_same::value +# endif operator std::string_view() const { return std::string_view( this->data(), strnlen( this->data(), N ) ); @@ -345,7 +367,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template + requires std::is_const::value +# endif ArrayProxy( std::initializer_list::type> const & list ) VULKAN_HPP_NOEXCEPT : m_count( static_cast( list.size() ) ) , m_ptr( list.begin() ) @@ -358,9 +385,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly // convertible to size_t. The const version can capture temporaries, with lifetime ending at end of statement. +# if VULKAN_HPP_CPP_VERSION < 20 template ().data() ), T *>::value && std::is_convertible().size() ), std::size_t>::value>::type * = nullptr> +# else + template + requires std::is_convertible().data() ), T *>::value && + std::is_convertible().size() ), std::size_t>::value +# endif ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT : m_count( static_cast( v.size() ) ) , m_ptr( v.data() ) @@ -425,8 +458,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { } - template ::value && std::is_lvalue_reference::value, int>::type = 0> - ArrayProxyNoTemporaries( B && value ) VULKAN_HPP_NOEXCEPT +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value && std::is_lvalue_reference::value, int>::type = 0> +# else + template + requires std::is_convertible::value && std::is_lvalue_reference::value +# endif + ArrayProxyNoTemporaries( S && value ) VULKAN_HPP_NOEXCEPT : m_count( 1 ) , m_ptr( &value ) { @@ -449,11 +487,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ArrayProxyNoTemporaries( T ( &&ptr )[C] ) = delete; // Any l-value reference with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t. +# if VULKAN_HPP_CPP_VERSION < 20 template ().begin() ), T *>::value && std::is_convertible().data() ), T *>::value && std::is_convertible().size() ), std::size_t>::value && std::is_lvalue_reference::value, int>::type = 0> +# else + template + requires( !std::is_convertible().begin() ), T *>::value && + std::is_convertible().data() ), T *>::value && + std::is_convertible().size() ), std::size_t>::value && std::is_lvalue_reference::value ) +# endif ArrayProxyNoTemporaries( V && v ) VULKAN_HPP_NOEXCEPT : m_count( static_cast( v.size() ) ) , m_ptr( v.data() ) @@ -461,10 +506,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // Any l-value reference with a .begin() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t. +# if VULKAN_HPP_CPP_VERSION < 20 template ().begin() ), T *>::value && std::is_convertible().size() ), std::size_t>::value && std::is_lvalue_reference::value, int>::type = 0> +# else + template + requires std::is_convertible().begin() ), T *>::value && + std::is_convertible().size() ), std::size_t>::value && std::is_lvalue_reference::value +# endif ArrayProxyNoTemporaries( V && v ) VULKAN_HPP_NOEXCEPT : m_count( static_cast( v.size() ) ) , m_ptr( v.begin() ) @@ -606,16 +657,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + template + struct IsFirstInStructureChain + { + static bool const value = false; + }; + + template + struct IsFirstInStructureChain + { + static bool const value = std::is_same::value; + }; + template struct IsPartOfStructureChain { - static bool const valid = false; + static bool const value = false; }; template struct IsPartOfStructureChain { - static bool const valid = std::is_same::value || IsPartOfStructureChain::valid; + static bool const value = std::is_same::value || IsPartOfStructureChain::value; }; template @@ -773,28 +836,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return *this; } +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value && ( Which == 0 ), int>::type = 0> +# else template - VULKAN_HPP_NODISCARD - typename std::enable_if>::type>::value && ( Which == 0 ), bool>::type - isLinked() const VULKAN_HPP_NOEXCEPT + requires IsFirstInStructureChain::value && ( Which == 0 ) +# endif + VULKAN_HPP_NODISCARD bool isLinked() const VULKAN_HPP_NOEXCEPT { return true; } +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value || ( Which != 0 ) ) && + IsPartOfStructureChain::value, + int>::type = 0> +# else template - VULKAN_HPP_NODISCARD - typename std::enable_if>::type>::value || ( Which != 0 ), bool>::type - isLinked() const VULKAN_HPP_NOEXCEPT + requires( !IsFirstInStructureChain::value || ( Which != 0 ) ) && IsPartOfStructureChain::value +# endif + VULKAN_HPP_NODISCARD bool isLinked() const VULKAN_HPP_NOEXCEPT { - VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain::valid, "Can't unlink Structure that's not part of this StructureChain!" ); return isLinked( reinterpret_cast( &get() ) ); } +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value || ( Which != 0 ) ) && + IsPartOfStructureChain::value, + int>::type = 0> +# else template - typename std::enable_if>::type>::value || ( Which != 0 ), void>::type - relink() VULKAN_HPP_NOEXCEPT + requires( !IsFirstInStructureChain::value || ( Which != 0 ) ) && IsPartOfStructureChain::value +# endif + void relink() VULKAN_HPP_NOEXCEPT { - VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain::valid, "Can't relink Structure that's not part of this StructureChain!" ); auto pNext = reinterpret_cast( &get() ); VULKAN_HPP_ASSERT( !isLinked( pNext ) ); auto & headElement = std::get<0>( static_cast &>( *this ) ); @@ -802,11 +883,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE headElement.pNext = pNext; } +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value || ( Which != 0 ) ) && + IsPartOfStructureChain::value, + int>::type = 0> +# else template - typename std::enable_if>::type>::value || ( Which != 0 ), void>::type - unlink() VULKAN_HPP_NOEXCEPT + requires( !IsFirstInStructureChain::value || ( Which != 0 ) ) && IsPartOfStructureChain::value +# endif + void unlink() VULKAN_HPP_NOEXCEPT { - VULKAN_HPP_STATIC_ASSERT( IsPartOfStructureChain::valid, "Can't unlink Structure that's not part of this StructureChain!" ); unlink( reinterpret_cast( &get() ) ); } @@ -849,16 +937,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return false; } +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = 0> +# else template - typename std::enable_if::type link() VULKAN_HPP_NOEXCEPT + requires( Index != 0 ) +# endif + void link() VULKAN_HPP_NOEXCEPT { auto & x = std::get( static_cast &>( *this ) ); x.pNext = &std::get( static_cast &>( *this ) ); link(); } +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = 0> +# else template - typename std::enable_if::type link() VULKAN_HPP_NOEXCEPT + requires( Index == 0 ) +# endif + void link() VULKAN_HPP_NOEXCEPT { } @@ -1106,6 +1204,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkCmdBeginConditionalRenderingEXT ) DECLARE_IS_DISPATCHED( vkCmdBeginCustomResolveEXT ) DECLARE_IS_DISPATCHED( vkCmdBeginDebugUtilsLabelEXT ) + DECLARE_IS_DISPATCHED( vkCmdBeginGpaSampleAMD ) + DECLARE_IS_DISPATCHED( vkCmdBeginGpaSessionAMD ) DECLARE_IS_DISPATCHED( vkCmdBeginPerTileExecutionQCOM ) DECLARE_IS_DISPATCHED( vkCmdBeginQuery ) DECLARE_IS_DISPATCHED( vkCmdBeginQueryIndexedEXT ) @@ -1165,6 +1265,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkCmdCopyBufferToImage ) DECLARE_IS_DISPATCHED( vkCmdCopyBufferToImage2 ) DECLARE_IS_DISPATCHED( vkCmdCopyBufferToImage2KHR ) + DECLARE_IS_DISPATCHED( vkCmdCopyGpaSessionResultsAMD ) DECLARE_IS_DISPATCHED( vkCmdCopyImage ) DECLARE_IS_DISPATCHED( vkCmdCopyImage2 ) DECLARE_IS_DISPATCHED( vkCmdCopyImage2KHR ) @@ -1236,6 +1337,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkCmdEncodeVideoKHR ) DECLARE_IS_DISPATCHED( vkCmdEndConditionalRenderingEXT ) DECLARE_IS_DISPATCHED( vkCmdEndDebugUtilsLabelEXT ) + DECLARE_IS_DISPATCHED( vkCmdEndGpaSampleAMD ) + DECLARE_IS_DISPATCHED( vkCmdEndGpaSessionAMD ) DECLARE_IS_DISPATCHED( vkCmdEndPerTileExecutionQCOM ) DECLARE_IS_DISPATCHED( vkCmdEndQuery ) DECLARE_IS_DISPATCHED( vkCmdEndQueryIndexedEXT ) @@ -1459,6 +1562,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkCreateExternalComputeQueueNV ) DECLARE_IS_DISPATCHED( vkCreateFence ) DECLARE_IS_DISPATCHED( vkCreateFramebuffer ) + DECLARE_IS_DISPATCHED( vkCreateGpaSessionAMD ) DECLARE_IS_DISPATCHED( vkCreateGraphicsPipelines ) DECLARE_IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) DECLARE_IS_DISPATCHED( vkCreateIOSSurfaceMVK ) @@ -1535,6 +1639,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) DECLARE_IS_DISPATCHED( vkDestroyFence ) DECLARE_IS_DISPATCHED( vkDestroyFramebuffer ) + DECLARE_IS_DISPATCHED( vkDestroyGpaSessionAMD ) DECLARE_IS_DISPATCHED( vkDestroyImage ) DECLARE_IS_DISPATCHED( vkDestroyImageView ) DECLARE_IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) @@ -1667,6 +1772,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) DECLARE_IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) DECLARE_IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) + DECLARE_IS_DISPATCHED( vkGetGpaDeviceClockInfoAMD ) + DECLARE_IS_DISPATCHED( vkGetGpaSessionResultsAMD ) + DECLARE_IS_DISPATCHED( vkGetGpaSessionStatusAMD ) DECLARE_IS_DISPATCHED( vkGetImageDrmFormatModifierPropertiesEXT ) DECLARE_IS_DISPATCHED( vkGetImageMemoryRequirements ) DECLARE_IS_DISPATCHED( vkGetImageMemoryRequirements2 ) @@ -1685,6 +1793,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkGetImageViewHandleNVX ) DECLARE_IS_DISPATCHED( vkGetImageViewOpaqueCaptureDescriptorDataEXT ) DECLARE_IS_DISPATCHED( vkGetInstanceProcAddr ) + DECLARE_IS_DISPATCHED( vkGetLatencyTimingsLegacyNV ) DECLARE_IS_DISPATCHED( vkGetLatencyTimingsNV ) DECLARE_IS_DISPATCHED( vkGetMemoryAndroidHardwareBufferANDROID ) DECLARE_IS_DISPATCHED( vkGetMemoryFdKHR ) @@ -1709,6 +1818,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) + DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) DECLARE_IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) @@ -1816,6 +1926,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkGetShaderInstrumentationValuesARM ) DECLARE_IS_DISPATCHED( vkGetShaderModuleCreateInfoIdentifierEXT ) DECLARE_IS_DISPATCHED( vkGetShaderModuleIdentifierEXT ) + DECLARE_IS_DISPATCHED( vkGetSleepStatusLegacyNV ) DECLARE_IS_DISPATCHED( vkGetSwapchainCounterEXT ) DECLARE_IS_DISPATCHED( vkGetSwapchainGrallocUsage2ANDROID ) DECLARE_IS_DISPATCHED( vkGetSwapchainGrallocUsageANDROID ) @@ -1841,6 +1952,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkImportSemaphoreZirconHandleFUCHSIA ) DECLARE_IS_DISPATCHED( vkInitializePerformanceApiINTEL ) DECLARE_IS_DISPATCHED( vkInvalidateMappedMemoryRanges ) + DECLARE_IS_DISPATCHED( vkLatencySleepLegacyNV ) DECLARE_IS_DISPATCHED( vkLatencySleepNV ) DECLARE_IS_DISPATCHED( vkMapMemory ) DECLARE_IS_DISPATCHED( vkMapMemory2 ) @@ -1851,6 +1963,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkQueueBindSparse ) DECLARE_IS_DISPATCHED( vkQueueEndDebugUtilsLabelEXT ) DECLARE_IS_DISPATCHED( vkQueueInsertDebugUtilsLabelEXT ) + DECLARE_IS_DISPATCHED( vkQueueNotifyOutOfBandLegacyNV ) DECLARE_IS_DISPATCHED( vkQueueNotifyOutOfBandNV ) DECLARE_IS_DISPATCHED( vkQueuePresentKHR ) DECLARE_IS_DISPATCHED( vkQueueSetPerfHintQCOM ) @@ -1876,6 +1989,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkResetDescriptorPool ) DECLARE_IS_DISPATCHED( vkResetEvent ) DECLARE_IS_DISPATCHED( vkResetFences ) + DECLARE_IS_DISPATCHED( vkResetGpaSessionAMD ) DECLARE_IS_DISPATCHED( vkResetQueryPool ) DECLARE_IS_DISPATCHED( vkResetQueryPoolEXT ) DECLARE_IS_DISPATCHED( vkSetBufferCollectionBufferConstraintsFUCHSIA ) @@ -1884,13 +1998,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE DECLARE_IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) DECLARE_IS_DISPATCHED( vkSetDeviceMemoryPriorityEXT ) DECLARE_IS_DISPATCHED( vkSetEvent ) + DECLARE_IS_DISPATCHED( vkSetGpaDeviceClockModeAMD ) DECLARE_IS_DISPATCHED( vkSetHdrMetadataEXT ) + DECLARE_IS_DISPATCHED( vkSetLatencyMarkerLegacyNV ) DECLARE_IS_DISPATCHED( vkSetLatencyMarkerNV ) + DECLARE_IS_DISPATCHED( vkSetLatencySleepModeLegacyNV ) DECLARE_IS_DISPATCHED( vkSetLatencySleepModeNV ) DECLARE_IS_DISPATCHED( vkSetLocalDimmingAMD ) DECLARE_IS_DISPATCHED( vkSetPrivateData ) DECLARE_IS_DISPATCHED( vkSetPrivateDataEXT ) DECLARE_IS_DISPATCHED( vkSetSwapchainPresentTimingQueueSizeEXT ) + DECLARE_IS_DISPATCHED( vkShutdownLatencyDeviceLegacyNV ) DECLARE_IS_DISPATCHED( vkSignalSemaphore ) DECLARE_IS_DISPATCHED( vkSignalSemaphoreKHR ) DECLARE_IS_DISPATCHED( vkSubmitDebugUtilsMessageEXT ) @@ -4801,6 +4919,76 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + + VULKAN_HPP_INLINE VkResult vkCreateGpaSessionAMD( VkDevice device, + VkGpaSessionCreateInfoAMD const * pCreateInfo, + VkAllocationCallbacks const * pAllocator, + VkGpaSessionAMD * pGpaSession ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCreateGpaSessionAMD( device, pCreateInfo, pAllocator, pGpaSession ); + } + + VULKAN_HPP_INLINE void + vkDestroyGpaSessionAMD( VkDevice device, VkGpaSessionAMD gpaSession, VkAllocationCallbacks const * pAllocator ) const VULKAN_HPP_NOEXCEPT + { + return ::vkDestroyGpaSessionAMD( device, gpaSession, pAllocator ); + } + + VULKAN_HPP_INLINE VkResult vkSetGpaDeviceClockModeAMD( VkDevice device, VkGpaDeviceClockModeInfoAMD * pInfo ) const VULKAN_HPP_NOEXCEPT + { + return ::vkSetGpaDeviceClockModeAMD( device, pInfo ); + } + + VULKAN_HPP_INLINE VkResult vkGetGpaDeviceClockInfoAMD( VkDevice device, VkGpaDeviceGetClockInfoAMD * pInfo ) const VULKAN_HPP_NOEXCEPT + { + return ::vkGetGpaDeviceClockInfoAMD( device, pInfo ); + } + + VULKAN_HPP_INLINE VkResult vkCmdBeginGpaSessionAMD( VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdBeginGpaSessionAMD( commandBuffer, gpaSession ); + } + + VULKAN_HPP_INLINE VkResult vkCmdEndGpaSessionAMD( VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdEndGpaSessionAMD( commandBuffer, gpaSession ); + } + + VULKAN_HPP_INLINE VkResult vkCmdBeginGpaSampleAMD( VkCommandBuffer commandBuffer, + VkGpaSessionAMD gpaSession, + VkGpaSampleBeginInfoAMD const * pGpaSampleBeginInfo, + uint32_t * pSampleID ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdBeginGpaSampleAMD( commandBuffer, gpaSession, pGpaSampleBeginInfo, pSampleID ); + } + + VULKAN_HPP_INLINE void vkCmdEndGpaSampleAMD( VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession, uint32_t sampleID ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdEndGpaSampleAMD( commandBuffer, gpaSession, sampleID ); + } + + VULKAN_HPP_INLINE VkResult vkGetGpaSessionStatusAMD( VkDevice device, VkGpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT + { + return ::vkGetGpaSessionStatusAMD( device, gpaSession ); + } + + VULKAN_HPP_INLINE VkResult vkGetGpaSessionResultsAMD( + VkDevice device, VkGpaSessionAMD gpaSession, uint32_t sampleID, size_t * pSizeInBytes, void * pData ) const VULKAN_HPP_NOEXCEPT + { + return ::vkGetGpaSessionResultsAMD( device, gpaSession, sampleID, pSizeInBytes, pData ); + } + + VULKAN_HPP_INLINE VkResult vkResetGpaSessionAMD( VkDevice device, VkGpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT + { + return ::vkResetGpaSessionAMD( device, gpaSession ); + } + + VULKAN_HPP_INLINE void vkCmdCopyGpaSessionResultsAMD( VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT + { + return ::vkCmdCopyGpaSessionResultsAMD( commandBuffer, gpaSession ); + } + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === @@ -6180,6 +6368,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return ::vkCmdEndPerTileExecutionQCOM( commandBuffer, pPerTileEndInfo ); } + //=== VK_NV_low_latency === + + VULKAN_HPP_INLINE void vkSetLatencySleepModeLegacyNV( VkDevice device, + VkBool32 lowLatencyMode, + VkBool32 lowLatencyBoost, + uint32_t minimumIntervalUs ) const VULKAN_HPP_NOEXCEPT + { + return ::vkSetLatencySleepModeLegacyNV( device, lowLatencyMode, lowLatencyBoost, minimumIntervalUs ); + } + + VULKAN_HPP_INLINE void vkLatencySleepLegacyNV( VkDevice device, VkSemaphore signalSemaphore, uint64_t value ) const VULKAN_HPP_NOEXCEPT + { + return ::vkLatencySleepLegacyNV( device, signalSemaphore, value ); + } + + VULKAN_HPP_INLINE void vkSetLatencyMarkerLegacyNV( VkDevice device, uint64_t frameID, uint32_t marker ) const VULKAN_HPP_NOEXCEPT + { + return ::vkSetLatencyMarkerLegacyNV( device, frameID, marker ); + } + + VULKAN_HPP_INLINE void vkGetLatencyTimingsLegacyNV( VkDevice device, void * pTimings ) const VULKAN_HPP_NOEXCEPT + { + return ::vkGetLatencyTimingsLegacyNV( device, pTimings ); + } + + VULKAN_HPP_INLINE void vkQueueNotifyOutOfBandLegacyNV( VkQueue queue, uint32_t queueType ) const VULKAN_HPP_NOEXCEPT + { + return ::vkQueueNotifyOutOfBandLegacyNV( queue, queueType ); + } + + VULKAN_HPP_INLINE void vkGetSleepStatusLegacyNV( VkDevice device, VkBool32 * pLowLatencyMode ) const VULKAN_HPP_NOEXCEPT + { + return ::vkGetSleepStatusLegacyNV( device, pLowLatencyMode ); + } + + VULKAN_HPP_INLINE void vkShutdownLatencyDeviceLegacyNV( VkDevice device ) const VULKAN_HPP_NOEXCEPT + { + return ::vkShutdownLatencyDeviceLegacyNV( device ); + } + # if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === @@ -8078,6 +8306,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return ::vkCmdSetComputeOccupancyPriorityNV( commandBuffer, pParameters ); } + //=== VK_EXT_cooperative_matrix_maintenance1 === + + VULKAN_HPP_INLINE VkResult vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( VkPhysicalDevice physicalDevice, + VkPhysicalDeviceCooperativeMatrixInfo2EXT const * pCooperativeMatrixInfo, + uint32_t * pPropertyCount, + VkCooperativeMatrixProperties2EXT * pProperties ) const VULKAN_HPP_NOEXCEPT + { + return ::vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( physicalDevice, pCooperativeMatrixInfo, pPropertyCount, pProperties ); + } + # if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === @@ -8291,7 +8529,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE void destroy( T t ) VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( m_owner && m_dispatch ); - ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch ); + (void)( m_owner.free )( t, m_allocationCallbacks, *m_dispatch ); } private: @@ -8367,7 +8605,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE template void destroy( T t ) VULKAN_HPP_NOEXCEPT { - ( m_owner.free )( m_pool, t, *m_dispatch ); + (void)( m_owner.free )( m_pool, t, *m_dispatch ); } private: @@ -8383,11 +8621,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== BASE TYPEs === //================== + using SampleMask = uint32_t; using Bool32 = uint32_t; - using DeviceAddress = uint64_t; using DeviceSize = uint64_t; + using DeviceAddress = uint64_t; using RemoteAddressNV = void *; - using SampleMask = uint32_t; template struct CppType @@ -9176,6 +9414,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_video_decode_vp9 === VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxVideoVp9ReferencesPerFrameKHR = VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR; + //=== VK_ARM_tensor_controls === + VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxTensorCreateInfoRollingBackingWrapCountARM = VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM; + //=== VK_NV_partitioned_acceleration_structure === VULKAN_HPP_CONSTEXPR_INLINE uint32_t PartitionedAccelerationStructurePartitionIndexGlobalNV = VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV; @@ -9196,47 +9437,83 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //========================= //=== CONSTEXPR CALLEEs === //========================= +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version ) { return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version ) { return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version ) { return ( (uint32_t)( version ) & 0xFFFU ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version ) { return ( (uint32_t)( version ) >> 29U ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch ) { return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch ) { return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version ) { return ( (uint32_t)( version ) >> 22U ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version ) { return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value>::type> +#else + template +#endif VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version ) { return ( (uint32_t)( version ) & 0xFFFU ); @@ -9761,6 +10038,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." ) VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME; + //=== VK_AMD_gpa_interface === + VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpaInterfaceSpecVersion = VK_AMD_GPA_INTERFACE_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpaInterfaceExtensionName = VK_AMD_GPA_INTERFACE_EXTENSION_NAME; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION; @@ -9907,6 +10188,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto QCOMCooperativeMatrixConversionSpecVersion = VK_QCOM_COOPERATIVE_MATRIX_CONVERSION_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto QCOMCooperativeMatrixConversionExtensionName = VK_QCOM_COOPERATIVE_MATRIX_CONVERSION_EXTENSION_NAME; + //=== VK_QCOM_elapsed_timer_query === + VULKAN_HPP_CONSTEXPR_INLINE auto QCOMElapsedTimerQuerySpecVersion = VK_QCOM_ELAPSED_TIMER_QUERY_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto QCOMElapsedTimerQueryExtensionName = VK_QCOM_ELAPSED_TIMER_QUERY_EXTENSION_NAME; + //=== VK_EXT_global_priority === VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME; @@ -10343,6 +10628,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto QCOMQueuePerfHintSpecVersion = VK_QCOM_QUEUE_PERF_HINT_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto QCOMQueuePerfHintExtensionName = VK_QCOM_QUEUE_PERF_HINT_EXTENSION_NAME; + //=== VK_QCOM_image_processing3 === + VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing3SpecVersion = VK_QCOM_IMAGE_PROCESSING_3_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing3ExtensionName = VK_QCOM_IMAGE_PROCESSING_3_EXTENSION_NAME; + + //=== VK_QCOM_shader_multiple_wait_queues === + VULKAN_HPP_CONSTEXPR_INLINE auto QCOMShaderMultipleWaitQueuesSpecVersion = VK_QCOM_SHADER_MULTIPLE_WAIT_QUEUES_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto QCOMShaderMultipleWaitQueuesExtensionName = VK_QCOM_SHADER_MULTIPLE_WAIT_QUEUES_EXTENSION_NAME; + + //=== VK_EXT_shader_split_barrier === + VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSplitBarrierSpecVersion = VK_EXT_SHADER_SPLIT_BARRIER_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSplitBarrierExtensionName = VK_EXT_SHADER_SPLIT_BARRIER_EXTENSION_NAME; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_cuda_kernel_launch === VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION; @@ -10354,7 +10651,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTileShadingExtensionName = VK_QCOM_TILE_SHADING_EXTENSION_NAME; //=== VK_NV_low_latency === - VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion = VK_NV_LOW_LATENCY_SPEC_VERSION; + VULKAN_HPP_DEPRECATED( "The VK_NV_low_latency extension has been deprecated by VK_NV_low_latency2." ) + VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion = VK_NV_LOW_LATENCY_SPEC_VERSION; + VULKAN_HPP_DEPRECATED( "The VK_NV_low_latency extension has been deprecated by VK_NV_low_latency2." ) VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME; #if defined( VK_USE_PLATFORM_METAL_EXT ) @@ -11019,6 +11318,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesSpecVersion = VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesExtensionName = VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME; + //=== VK_ARM_tensor_controls === + VULKAN_HPP_CONSTEXPR_INLINE auto ARMTensorControlsSpecVersion = VK_ARM_TENSOR_CONTROLS_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto ARMTensorControlsExtensionName = VK_ARM_TENSOR_CONTROLS_EXTENSION_NAME; + //=== VK_EXT_shader_float8 === VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderFloat8SpecVersion = VK_EXT_SHADER_FLOAT8_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderFloat8ExtensionName = VK_EXT_SHADER_FLOAT8_EXTENSION_NAME; @@ -11093,6 +11396,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto ARMPipelineOpacityMicromapSpecVersion = VK_ARM_PIPELINE_OPACITY_MICROMAP_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto ARMPipelineOpacityMicromapExtensionName = VK_ARM_PIPELINE_OPACITY_MICROMAP_EXTENSION_NAME; + //=== VK_KHR_video_encode_feedback2 === + VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeFeedback2SpecVersion = VK_KHR_VIDEO_ENCODE_FEEDBACK_2_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeFeedback2ExtensionName = VK_KHR_VIDEO_ENCODE_FEEDBACK_2_EXTENSION_NAME; + + //=== VK_IMG_filter_linear_2d === + VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterLinear2DSpecVersion = VK_IMG_FILTER_LINEAR_2D_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterLinear2DExtensionName = VK_IMG_FILTER_LINEAR_2D_EXTENSION_NAME; + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_external_memory_metal === VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryMetalSpecVersion = VK_EXT_EXTERNAL_MEMORY_METAL_SPEC_VERSION; @@ -11131,6 +11442,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentMeteringSpecVersion = VK_NV_PRESENT_METERING_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentMeteringExtensionName = VK_NV_PRESENT_METERING_EXTENSION_NAME; + //=== VK_EXT_multisampled_render_to_swapchain === + VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSwapchainSpecVersion = VK_EXT_MULTISAMPLED_RENDER_TO_SWAPCHAIN_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSwapchainExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SWAPCHAIN_EXTENSION_NAME; + //=== VK_EXT_fragment_density_map_offset === VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapOffsetSpecVersion = VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapOffsetExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME; @@ -11143,6 +11458,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentModeFifoLatestReadySpecVersion = VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentModeFifoLatestReadyExtensionName = VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME; + //=== VK_KHR_opacity_micromap === + VULKAN_HPP_CONSTEXPR_INLINE auto KHROpacityMicromapSpecVersion = VK_KHR_OPACITY_MICROMAP_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto KHROpacityMicromapExtensionName = VK_KHR_OPACITY_MICROMAP_EXTENSION_NAME; + //=== VK_EXT_shader_64bit_indexing === VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingSpecVersion = VK_EXT_SHADER_64BIT_INDEXING_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingExtensionName = VK_EXT_SHADER_64BIT_INDEXING_EXTENSION_NAME; @@ -11179,10 +11498,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeOccupancyPrioritySpecVersion = VK_NV_COMPUTE_OCCUPANCY_PRIORITY_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeOccupancyPriorityExtensionName = VK_NV_COMPUTE_OCCUPANCY_PRIORITY_EXTENSION_NAME; + //=== VK_KHR_pipeline_library_group_handles === + VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryGroupHandlesSpecVersion = VK_KHR_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryGroupHandlesExtensionName = VK_KHR_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME; + //=== VK_KHR_maintenance11 === VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance11SpecVersion = VK_KHR_MAINTENANCE_11_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance11ExtensionName = VK_KHR_MAINTENANCE_11_EXTENSION_NAME; + //=== VK_EXT_cooperative_matrix_maintenance1 === + VULKAN_HPP_CONSTEXPR_INLINE auto EXTCooperativeMatrixMaintenance1SpecVersion = VK_EXT_COOPERATIVE_MATRIX_MAINTENANCE_1_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto EXTCooperativeMatrixMaintenance1ExtensionName = VK_EXT_COOPERATIVE_MATRIX_MAINTENANCE_1_EXTENSION_NAME; + //=== VK_EXT_shader_subgroup_partitioned === VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupPartitionedSpecVersion = VK_EXT_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupPartitionedExtensionName = VK_EXT_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME; @@ -11193,6 +11520,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto SECUbmSurfaceExtensionName = VK_SEC_UBM_SURFACE_EXTENSION_NAME; #endif /*VK_USE_PLATFORM_UBM_SEC*/ + //=== VK_KHR_extended_flags === + VULKAN_HPP_CONSTEXPR_INLINE auto KHRExtendedFlagsSpecVersion = VK_KHR_EXTENDED_FLAGS_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto KHRExtendedFlagsExtensionName = VK_KHR_EXTENDED_FLAGS_EXTENSION_NAME; + + //=== VK_EXT_shader_ocp_microscaling_types === + VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderOcpMicroscalingTypesSpecVersion = VK_EXT_SHADER_OCP_MICROSCALING_TYPES_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderOcpMicroscalingTypesExtensionName = VK_EXT_SHADER_OCP_MICROSCALING_TYPES_EXTENSION_NAME; + //=== VK_VALVE_shader_mixed_float_dot_product === VULKAN_HPP_CONSTEXPR_INLINE auto VALVEShaderMixedFloatDotProductSpecVersion = VK_VALVE_SHADER_MIXED_FLOAT_DOT_PRODUCT_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto VALVEShaderMixedFloatDotProductExtensionName = VK_VALVE_SHADER_MIXED_FLOAT_DOT_PRODUCT_EXTENSION_NAME; @@ -11209,6 +11544,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveRestartIndexSpecVersion = VK_EXT_PRIMITIVE_RESTART_INDEX_SPEC_VERSION; VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveRestartIndexExtensionName = VK_EXT_PRIMITIVE_RESTART_INDEX_EXTENSION_NAME; + //=== VK_EXT_image_tiling_control === + VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageTilingControlSpecVersion = VK_EXT_IMAGE_TILING_CONTROL_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageTilingControlExtensionName = VK_EXT_IMAGE_TILING_CONTROL_EXTENSION_NAME; + + //=== VK_NV_cooperative_matrix_decode_vector === + VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixDecodeVectorSpecVersion = VK_NV_COOPERATIVE_MATRIX_DECODE_VECTOR_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixDecodeVectorExtensionName = VK_NV_COOPERATIVE_MATRIX_DECODE_VECTOR_EXTENSION_NAME; + + //=== VK_NV_private_data_base_handle === + VULKAN_HPP_CONSTEXPR_INLINE auto NVPrivateDataBaseHandleSpecVersion = VK_NV_PRIVATE_DATA_BASE_HANDLE_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto NVPrivateDataBaseHandleExtensionName = VK_NV_PRIVATE_DATA_BASE_HANDLE_EXTENSION_NAME; + + //=== VK_INTEL_device_info === + VULKAN_HPP_CONSTEXPR_INLINE auto INTELDeviceInfoSpecVersion = VK_INTEL_DEVICE_INFO_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto INTELDeviceInfoExtensionName = VK_INTEL_DEVICE_INFO_EXTENSION_NAME; + + //=== VK_VALVE_buffer_device_address_allocation_alignment === + VULKAN_HPP_CONSTEXPR_INLINE auto VALVEBufferDeviceAddressAllocationAlignmentSpecVersion = VK_VALVE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_SPEC_VERSION; + VULKAN_HPP_CONSTEXPR_INLINE auto VALVEBufferDeviceAddressAllocationAlignmentExtensionName = + VK_VALVE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_EXTENSION_NAME; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template + concept IsAllocator = requires( Allocator allocator, std::size_t n ) { + { *allocator.allocate( n ) } -> std::same_as; + { allocator.deallocate( allocator.allocate( n ), n ) }; + } && std::copy_constructible && std::equality_comparable && std::same_as; +#endif } // namespace VULKAN_HPP_NAMESPACE // clang-format off @@ -14406,6 +14769,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === template <> @@ -15033,6 +15433,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_QCOM_elapsed_timer_query === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + //=== VK_EXT_external_memory_host === template <> struct StructExtends @@ -15760,6 +16179,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + //=== VK_KHR_present_wait === template <> struct StructExtends @@ -16499,10 +16954,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; -# if defined( VK_ENABLE_BETA_EXTENSIONS ) - //=== VK_NV_cuda_kernel_launch === + //=== VK_QCOM_image_processing3 === template <> - struct StructExtends + struct StructExtends { enum { @@ -16511,7 +16965,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -16519,19 +16973,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_QCOM_shader_multiple_wait_queues === template <> - struct StructExtends + struct StructExtends { enum { value = true }; }; -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ - //=== VK_QCOM_tile_shading === template <> - struct StructExtends + struct StructExtends { enum { @@ -16540,7 +16993,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -16548,8 +17001,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_EXT_shader_split_barrier === template <> - struct StructExtends + struct StructExtends { enum { @@ -16558,7 +17012,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -16567,7 +17021,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -16575,8 +17029,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + //=== VK_NV_cuda_kernel_launch === template <> - struct StructExtends + struct StructExtends { enum { @@ -16585,7 +17041,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -16593,20 +17049,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_NV_low_latency === template <> - struct StructExtends + struct StructExtends { enum { value = true }; }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ -# if defined( VK_USE_PLATFORM_METAL_EXT ) - //=== VK_EXT_metal_objects === + //=== VK_QCOM_tile_shading === template <> - struct StructExtends + struct StructExtends { enum { @@ -16615,7 +17070,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -16624,7 +17079,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_NV_low_latency === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + +# if defined( VK_USE_PLATFORM_METAL_EXT ) + //=== VK_EXT_metal_objects === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends { enum { @@ -19634,25 +20164,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_EXT_pipeline_library_group_handles === - template <> - struct StructExtends - { - enum - { - value = true - }; - }; - - template <> - struct StructExtends - { - enum - { - value = true - }; - }; - //=== VK_EXT_dynamic_rendering_unused_attachments === template <> struct StructExtends @@ -20913,6 +21424,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_ARM_tensor_controls === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + //=== VK_EXT_shader_float8 === template <> struct StructExtends @@ -21515,6 +22045,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_KHR_video_encode_feedback2 === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + # if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_external_memory_metal === template <> @@ -21751,6 +22318,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_EXT_multisampled_render_to_swapchain === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + //=== VK_EXT_fragment_density_map_offset === template <> struct StructExtends @@ -21835,6 +22430,62 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_KHR_opacity_micromap === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + template <> + struct StructExtends + { + enum + { + value = true + }; + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + //=== VK_EXT_shader_64bit_indexing === template <> struct StructExtends @@ -22132,6 +22783,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_KHR_pipeline_library_group_handles === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + //=== VK_KHR_maintenance11 === template <> struct StructExtends @@ -22160,9 +22830,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_EXT_shader_subgroup_partitioned === + //=== VK_EXT_cooperative_matrix_maintenance1 === template <> - struct StructExtends + struct StructExtends { enum { @@ -22171,7 +22841,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22179,9 +22849,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_VALVE_shader_mixed_float_dot_product === + //=== VK_EXT_shader_subgroup_partitioned === template <> - struct StructExtends + struct StructExtends { enum { @@ -22190,7 +22860,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22198,9 +22868,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_SEC_throttle_hint === + //=== VK_KHR_extended_flags === template <> - struct StructExtends + struct StructExtends { enum { @@ -22209,7 +22879,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22218,7 +22888,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22226,9 +22896,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_ARM_data_graph_neural_accelerator_statistics === template <> - struct StructExtends + struct StructExtends { enum { @@ -22237,7 +22906,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22246,7 +22915,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22255,7 +22924,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22263,9 +22932,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; - //=== VK_EXT_primitive_restart_index === template <> - struct StructExtends + struct StructExtends { enum { @@ -22274,7 +22942,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; template <> - struct StructExtends + struct StructExtends { enum { @@ -22282,11 +22950,345 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; }; -#endif // VULKAN_HPP_DISABLE_ENHANCED_MODE - - namespace detail + template <> + struct StructExtends { -#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_EXT_shader_ocp_microscaling_types === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_VALVE_shader_mixed_float_dot_product === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_SEC_throttle_hint === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_ARM_data_graph_neural_accelerator_statistics === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_EXT_primitive_restart_index === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_EXT_image_tiling_control === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_NV_cooperative_matrix_decode_vector === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_NV_private_data_base_handle === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_INTEL_device_info === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + //=== VK_VALVE_buffer_device_address_allocation_alignment === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + +#endif // VULKAN_HPP_DISABLE_ENHANCED_MODE + + namespace detail + { +#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL class DynamicLoader { public: @@ -23003,6 +24005,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder = 0; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + PFN_vkCreateGpaSessionAMD vkCreateGpaSessionAMD = 0; + PFN_vkDestroyGpaSessionAMD vkDestroyGpaSessionAMD = 0; + PFN_vkSetGpaDeviceClockModeAMD vkSetGpaDeviceClockModeAMD = 0; + PFN_vkGetGpaDeviceClockInfoAMD vkGetGpaDeviceClockInfoAMD = 0; + PFN_vkCmdBeginGpaSessionAMD vkCmdBeginGpaSessionAMD = 0; + PFN_vkCmdEndGpaSessionAMD vkCmdEndGpaSessionAMD = 0; + PFN_vkCmdBeginGpaSampleAMD vkCmdBeginGpaSampleAMD = 0; + PFN_vkCmdEndGpaSampleAMD vkCmdEndGpaSampleAMD = 0; + PFN_vkGetGpaSessionStatusAMD vkGetGpaSessionStatusAMD = 0; + PFN_vkGetGpaSessionResultsAMD vkGetGpaSessionResultsAMD = 0; + PFN_vkResetGpaSessionAMD vkResetGpaSessionAMD = 0; + PFN_vkCmdCopyGpaSessionResultsAMD vkCmdCopyGpaSessionResultsAMD = 0; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === PFN_vkCreateExecutionGraphPipelinesAMDX vkCreateExecutionGraphPipelinesAMDX = 0; @@ -23318,6 +24334,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_vkCmdBeginPerTileExecutionQCOM vkCmdBeginPerTileExecutionQCOM = 0; PFN_vkCmdEndPerTileExecutionQCOM vkCmdEndPerTileExecutionQCOM = 0; + //=== VK_NV_low_latency === + PFN_vkSetLatencySleepModeLegacyNV vkSetLatencySleepModeLegacyNV = 0; + PFN_vkLatencySleepLegacyNV vkLatencySleepLegacyNV = 0; + PFN_vkSetLatencyMarkerLegacyNV vkSetLatencyMarkerLegacyNV = 0; + PFN_vkGetLatencyTimingsLegacyNV vkGetLatencyTimingsLegacyNV = 0; + PFN_vkQueueNotifyOutOfBandLegacyNV vkQueueNotifyOutOfBandLegacyNV = 0; + PFN_vkGetSleepStatusLegacyNV vkGetSleepStatusLegacyNV = 0; + PFN_vkShutdownLatencyDeviceLegacyNV vkShutdownLatencyDeviceLegacyNV = 0; + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0; @@ -23770,6 +24795,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_compute_occupancy_priority === PFN_vkCmdSetComputeOccupancyPriorityNV vkCmdSetComputeOccupancyPriorityNV = 0; + //=== VK_EXT_cooperative_matrix_maintenance1 === + PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT vkGetPhysicalDeviceCooperativeMatrixProperties2EXT = 0; + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === PFN_vkCreateUbmSurfaceSEC vkCreateUbmSurfaceSEC = 0; @@ -23792,10 +24820,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // This interface does not require a linked vulkan library. - DispatchLoaderDynamic( VkInstance instance, - PFN_vkGetInstanceProcAddr getInstanceProcAddr, - VkDevice device = {}, - PFN_vkGetDeviceProcAddr getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT + DispatchLoaderDynamic( VkInstance instance, PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT + { + init( instance, getInstanceProcAddr ); + } + + // This interface does not require a linked vulkan library. + DispatchLoaderDynamic( VkInstance instance, PFN_vkGetInstanceProcAddr getInstanceProcAddr, VkDevice device, PFN_vkGetDeviceProcAddr getDeviceProcAddr ) + VULKAN_HPP_NOEXCEPT { init( instance, getInstanceProcAddr, device, getDeviceProcAddr ); } @@ -23835,18 +24867,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // This interface does not require a linked vulkan library. - void init( VkInstance instance, - PFN_vkGetInstanceProcAddr getInstanceProcAddr, - VkDevice device = {}, - PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT + void init( VkInstance instance, PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( instance && getInstanceProcAddr ); vkGetInstanceProcAddr = getInstanceProcAddr; init( Instance( instance ) ); - if ( device ) - { - init( Device( device ) ); - } + } + + // This interface does not require a linked vulkan library. + void init( VkInstance instance, PFN_vkGetInstanceProcAddr getInstanceProcAddr, VkDevice device, PFN_vkGetDeviceProcAddr getDeviceProcAddr ) + VULKAN_HPP_NOEXCEPT + { + init( instance, getInstanceProcAddr ); + VULKAN_HPP_ASSERT( device && getDeviceProcAddr ); + vkGetDeviceProcAddr = getDeviceProcAddr; + init( Device( device ) ); } void init( Instance instanceCpp ) VULKAN_HPP_NOEXCEPT @@ -24509,6 +25544,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) ); #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + vkCreateGpaSessionAMD = PFN_vkCreateGpaSessionAMD( vkGetInstanceProcAddr( instance, "vkCreateGpaSessionAMD" ) ); + vkDestroyGpaSessionAMD = PFN_vkDestroyGpaSessionAMD( vkGetInstanceProcAddr( instance, "vkDestroyGpaSessionAMD" ) ); + vkSetGpaDeviceClockModeAMD = PFN_vkSetGpaDeviceClockModeAMD( vkGetInstanceProcAddr( instance, "vkSetGpaDeviceClockModeAMD" ) ); + vkGetGpaDeviceClockInfoAMD = PFN_vkGetGpaDeviceClockInfoAMD( vkGetInstanceProcAddr( instance, "vkGetGpaDeviceClockInfoAMD" ) ); + vkCmdBeginGpaSessionAMD = PFN_vkCmdBeginGpaSessionAMD( vkGetInstanceProcAddr( instance, "vkCmdBeginGpaSessionAMD" ) ); + vkCmdEndGpaSessionAMD = PFN_vkCmdEndGpaSessionAMD( vkGetInstanceProcAddr( instance, "vkCmdEndGpaSessionAMD" ) ); + vkCmdBeginGpaSampleAMD = PFN_vkCmdBeginGpaSampleAMD( vkGetInstanceProcAddr( instance, "vkCmdBeginGpaSampleAMD" ) ); + vkCmdEndGpaSampleAMD = PFN_vkCmdEndGpaSampleAMD( vkGetInstanceProcAddr( instance, "vkCmdEndGpaSampleAMD" ) ); + vkGetGpaSessionStatusAMD = PFN_vkGetGpaSessionStatusAMD( vkGetInstanceProcAddr( instance, "vkGetGpaSessionStatusAMD" ) ); + vkGetGpaSessionResultsAMD = PFN_vkGetGpaSessionResultsAMD( vkGetInstanceProcAddr( instance, "vkGetGpaSessionResultsAMD" ) ); + vkResetGpaSessionAMD = PFN_vkResetGpaSessionAMD( vkGetInstanceProcAddr( instance, "vkResetGpaSessionAMD" ) ); + vkCmdCopyGpaSessionResultsAMD = PFN_vkCmdCopyGpaSessionResultsAMD( vkGetInstanceProcAddr( instance, "vkCmdCopyGpaSessionResultsAMD" ) ); + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === vkCreateExecutionGraphPipelinesAMDX = @@ -24953,6 +26002,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE vkCmdBeginPerTileExecutionQCOM = PFN_vkCmdBeginPerTileExecutionQCOM( vkGetInstanceProcAddr( instance, "vkCmdBeginPerTileExecutionQCOM" ) ); vkCmdEndPerTileExecutionQCOM = PFN_vkCmdEndPerTileExecutionQCOM( vkGetInstanceProcAddr( instance, "vkCmdEndPerTileExecutionQCOM" ) ); + //=== VK_NV_low_latency === + vkSetLatencySleepModeLegacyNV = PFN_vkSetLatencySleepModeLegacyNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeLegacyNV" ) ); + vkLatencySleepLegacyNV = PFN_vkLatencySleepLegacyNV( vkGetInstanceProcAddr( instance, "vkLatencySleepLegacyNV" ) ); + vkSetLatencyMarkerLegacyNV = PFN_vkSetLatencyMarkerLegacyNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerLegacyNV" ) ); + vkGetLatencyTimingsLegacyNV = PFN_vkGetLatencyTimingsLegacyNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsLegacyNV" ) ); + vkQueueNotifyOutOfBandLegacyNV = PFN_vkQueueNotifyOutOfBandLegacyNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandLegacyNV" ) ); + vkGetSleepStatusLegacyNV = PFN_vkGetSleepStatusLegacyNV( vkGetInstanceProcAddr( instance, "vkGetSleepStatusLegacyNV" ) ); + vkShutdownLatencyDeviceLegacyNV = PFN_vkShutdownLatencyDeviceLegacyNV( vkGetInstanceProcAddr( instance, "vkShutdownLatencyDeviceLegacyNV" ) ); + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) ); @@ -25503,6 +26561,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_compute_occupancy_priority === vkCmdSetComputeOccupancyPriorityNV = PFN_vkCmdSetComputeOccupancyPriorityNV( vkGetInstanceProcAddr( instance, "vkCmdSetComputeOccupancyPriorityNV" ) ); + //=== VK_EXT_cooperative_matrix_maintenance1 === + vkGetPhysicalDeviceCooperativeMatrixProperties2EXT = + PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixProperties2EXT" ) ); + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === vkCreateUbmSurfaceSEC = PFN_vkCreateUbmSurfaceSEC( vkGetInstanceProcAddr( instance, "vkCreateUbmSurfaceSEC" ) ); @@ -25519,7 +26581,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VkDevice device = static_cast( deviceCpp ); //=== VK_VERSION_1_0 === - vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) ); vkDestroyDevice = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) ); vkGetDeviceQueue = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) ); vkQueueSubmit = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) ); @@ -25955,6 +27016,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) ); #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + vkCreateGpaSessionAMD = PFN_vkCreateGpaSessionAMD( vkGetDeviceProcAddr( device, "vkCreateGpaSessionAMD" ) ); + vkDestroyGpaSessionAMD = PFN_vkDestroyGpaSessionAMD( vkGetDeviceProcAddr( device, "vkDestroyGpaSessionAMD" ) ); + vkSetGpaDeviceClockModeAMD = PFN_vkSetGpaDeviceClockModeAMD( vkGetDeviceProcAddr( device, "vkSetGpaDeviceClockModeAMD" ) ); + vkGetGpaDeviceClockInfoAMD = PFN_vkGetGpaDeviceClockInfoAMD( vkGetDeviceProcAddr( device, "vkGetGpaDeviceClockInfoAMD" ) ); + vkCmdBeginGpaSessionAMD = PFN_vkCmdBeginGpaSessionAMD( vkGetDeviceProcAddr( device, "vkCmdBeginGpaSessionAMD" ) ); + vkCmdEndGpaSessionAMD = PFN_vkCmdEndGpaSessionAMD( vkGetDeviceProcAddr( device, "vkCmdEndGpaSessionAMD" ) ); + vkCmdBeginGpaSampleAMD = PFN_vkCmdBeginGpaSampleAMD( vkGetDeviceProcAddr( device, "vkCmdBeginGpaSampleAMD" ) ); + vkCmdEndGpaSampleAMD = PFN_vkCmdEndGpaSampleAMD( vkGetDeviceProcAddr( device, "vkCmdEndGpaSampleAMD" ) ); + vkGetGpaSessionStatusAMD = PFN_vkGetGpaSessionStatusAMD( vkGetDeviceProcAddr( device, "vkGetGpaSessionStatusAMD" ) ); + vkGetGpaSessionResultsAMD = PFN_vkGetGpaSessionResultsAMD( vkGetDeviceProcAddr( device, "vkGetGpaSessionResultsAMD" ) ); + vkResetGpaSessionAMD = PFN_vkResetGpaSessionAMD( vkGetDeviceProcAddr( device, "vkResetGpaSessionAMD" ) ); + vkCmdCopyGpaSessionResultsAMD = PFN_vkCmdCopyGpaSessionResultsAMD( vkGetDeviceProcAddr( device, "vkCmdCopyGpaSessionResultsAMD" ) ); + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) ); @@ -26346,6 +27421,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE vkCmdBeginPerTileExecutionQCOM = PFN_vkCmdBeginPerTileExecutionQCOM( vkGetDeviceProcAddr( device, "vkCmdBeginPerTileExecutionQCOM" ) ); vkCmdEndPerTileExecutionQCOM = PFN_vkCmdEndPerTileExecutionQCOM( vkGetDeviceProcAddr( device, "vkCmdEndPerTileExecutionQCOM" ) ); + //=== VK_NV_low_latency === + vkSetLatencySleepModeLegacyNV = PFN_vkSetLatencySleepModeLegacyNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeLegacyNV" ) ); + vkLatencySleepLegacyNV = PFN_vkLatencySleepLegacyNV( vkGetDeviceProcAddr( device, "vkLatencySleepLegacyNV" ) ); + vkSetLatencyMarkerLegacyNV = PFN_vkSetLatencyMarkerLegacyNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerLegacyNV" ) ); + vkGetLatencyTimingsLegacyNV = PFN_vkGetLatencyTimingsLegacyNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsLegacyNV" ) ); + vkQueueNotifyOutOfBandLegacyNV = PFN_vkQueueNotifyOutOfBandLegacyNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandLegacyNV" ) ); + vkGetSleepStatusLegacyNV = PFN_vkGetSleepStatusLegacyNV( vkGetDeviceProcAddr( device, "vkGetSleepStatusLegacyNV" ) ); + vkShutdownLatencyDeviceLegacyNV = PFN_vkShutdownLatencyDeviceLegacyNV( vkGetDeviceProcAddr( device, "vkShutdownLatencyDeviceLegacyNV" ) ); + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) ); @@ -26850,7 +27934,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE init( instance, device, dl ); } }; - #if defined( VULKAN_HPP_CXX_MODULE ) && !defined( VULKAN_HPP_DEFAULT_DISPATCHER_HANDLED ) && VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic; #endif diff --git a/third_party/vulkan/include/vulkan/vulkan_android.h b/third_party/vulkan/include/vulkan/vulkan_android.h index 1d8265e87..1e318dc71 100644 --- a/third_party/vulkan/include/vulkan/vulkan_android.h +++ b/third_party/vulkan/include/vulkan/vulkan_android.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_beta.h b/third_party/vulkan/include/vulkan/vulkan_beta.h index 147a3f3cc..c84b1d48e 100644 --- a/third_party/vulkan/include/vulkan/vulkan_beta.h +++ b/third_party/vulkan/include/vulkan/vulkan_beta.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_core.h b/third_party/vulkan/include/vulkan/vulkan_core.h index ffa970c2c..f13e7c847 100644 --- a/third_party/vulkan/include/vulkan/vulkan_core.h +++ b/third_party/vulkan/include/vulkan/vulkan_core.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* @@ -66,7 +66,7 @@ extern "C" { //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 350 +#define VK_HEADER_VERSION 363 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) @@ -640,6 +640,13 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_FEATURES_AMD = 1000133000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_AMD = 1000133001, + VK_STRUCTURE_TYPE_GPA_SAMPLE_BEGIN_INFO_AMD = 1000133002, + VK_STRUCTURE_TYPE_GPA_SESSION_CREATE_INFO_AMD = 1000133003, + VK_STRUCTURE_TYPE_GPA_DEVICE_CLOCK_MODE_INFO_AMD = 1000133004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD = 1000133005, + VK_STRUCTURE_TYPE_GPA_DEVICE_GET_CLOCK_INFO_AMD = 1000133006, #ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, #endif @@ -739,6 +746,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM = 1000172000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM = 1000173000, VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, @@ -884,6 +892,11 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM = 1000302000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM = 1000302001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM = 1000302002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM = 1000303000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM = 1000304000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM = 1000304001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT = 1000305000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT = 1000305001, #ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, #endif @@ -1202,7 +1215,6 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR = 1000504000, VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, @@ -1330,6 +1342,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR = 1000562004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, + VK_STRUCTURE_TYPE_TENSOR_EXPLICIT_TILING_FORMAT_PROPERTIES_ARM = 1000565000, + VK_STRUCTURE_TYPE_TENSOR_ROLLING_BACKING_CREATE_INFO_ARM = 1000565001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT = 1000567000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV = 1000569000, @@ -1391,6 +1405,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV = 1000593001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV = 1000593002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM = 1000596000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR = 1000598000, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR = 1000598001, + VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR = 1000598002, VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT = 1000602000, VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT = 1000602001, VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT = 1000602002, @@ -1413,11 +1430,17 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR = 1000286001, VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV = 1000613000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV = 1000613001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT = 1000616000, + VK_STRUCTURE_TYPE_SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT = 1000616001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT = 1000425000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT = 1000425001, VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT = 1000425002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT = 1000620000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR = 1000361000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR = 1000623000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR = 1000623001, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR = 1000623002, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR = 1000623003, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT = 1000627000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT = 1000628000, VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT = 1000628001, @@ -1444,10 +1467,22 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT = 1000642000, VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV = 1000645000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV = 1000645001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_KHR = 1000498000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR = 1000657000, VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR = 1000657001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT = 1000659000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_INFO_2_EXT = 1000659001, + VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_2_EXT = 1000659002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT = 1000662000, VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC = 1000664000, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_4_KHR = 1000668000, + VK_STRUCTURE_TYPE_IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000668001, + VK_STRUCTURE_TYPE_IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000668002, + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR = 1000668003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR = 1000668004, + VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR = 1000668005, + VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR = 1000668006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OCP_MICROSCALING_TYPES_FEATURES_EXT = 1000672000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE = 1000673000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC = 1000674000, VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC = 1000674001, @@ -1455,6 +1490,14 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM = 1000676001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM = 1000676002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT = 1000678000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_TILING_CONTROL_FEATURES_EXT = 1000687000, + VK_STRUCTURE_TYPE_IMAGE_TILING_CONTROL_CREATE_INFO_EXT = 1000687001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV = 1000689000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_BASE_HANDLE_FEATURES_NV = 1000707000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INFO_PROPERTIES_INTEL = 1000708000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_FEATURES_VALVE = 1000709000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_PROPERTIES_VALVE = 1000709001, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_ALIGNMENT_ALLOCATE_INFO_VALVE = 1000709002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, // VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT is a legacy alias @@ -1693,6 +1736,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO, VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO, VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES, VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES, @@ -1753,6 +1797,7 @@ typedef enum VkObjectType { VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, + VK_OBJECT_TYPE_GPA_SESSION_AMD = 1000133000, VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, @@ -1792,6 +1837,7 @@ typedef enum VkVendorId { VK_VENDOR_ID_MESA = 0x10005, VK_VENDOR_ID_POCL = 0x10006, VK_VENDOR_ID_MOBILEYE = 0x10007, + VK_VENDOR_ID_APE = 0x10008, VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF } VkVendorId; @@ -2202,6 +2248,7 @@ typedef enum VkQueryType { VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, + VK_QUERY_TYPE_TIME_ELAPSED_QCOM = 1000173000, VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, @@ -3187,10 +3234,10 @@ typedef enum VkPipelineCreateFlagBits { VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, - VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, #ifdef VK_ENABLE_BETA_EXTENSIONS VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, #endif + VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_KHR = 0x01000000, // VK_PIPELINE_CREATE_DISPATCH_BASE is a legacy alias VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, @@ -3203,6 +3250,7 @@ typedef enum VkPipelineCreateFlagBits { VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, + VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_KHR, VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT, VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT, VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF @@ -6332,6 +6380,9 @@ typedef enum VkDriverId { VK_DRIVER_ID_MESA_HONEYKRISP = 26, VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27, VK_DRIVER_ID_MESA_KOSMICKRISP = 28, + VK_DRIVER_ID_MESA_GFXSTREAM = 29, + VK_DRIVER_ID_APE_SOFT = 30, + VK_DRIVER_ID_RESERVED_31 = 31, VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, @@ -7082,6 +7133,11 @@ typedef enum VkToolPurposeFlagBits { VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkToolPurposeFlagBits; typedef VkFlags VkToolPurposeFlags; + +typedef enum VkPrivateDataSlotCreateFlagBits { + VK_PRIVATE_DATA_SLOT_CREATE_BASE_OBJECT_HANDLE_BIT_NV = 0x00000001, + VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPrivateDataSlotCreateFlagBits; typedef VkFlags VkPrivateDataSlotCreateFlags; typedef VkFlags64 VkPipelineStageFlags2; @@ -7298,6 +7354,7 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_SXD_BIT_QCOM = 0x100000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; @@ -7340,6 +7397,7 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR = 0x800000000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ULL; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_2D_BIT_IMG = 0x200000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR = 0x10000000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR = 0x20000000000000ULL; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR = 0x40000000000000ULL; @@ -8215,6 +8273,8 @@ static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; #endif static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT = 0x10000000ULL; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; @@ -8239,8 +8299,6 @@ static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STO static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; -static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; -static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; #ifdef VK_ENABLE_BETA_EXTENSIONS static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX = 0x200000000ULL; #endif @@ -8278,6 +8336,7 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_ #endif static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_HEAP_BIT_EXT = 0x1000000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR = 0x00001000ULL; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV = 0x200000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; @@ -8304,7 +8363,6 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BI static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; -static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; @@ -8318,6 +8376,8 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_B static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT = 0x4000000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x10000000000ULL; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_KHR = 0x01000000ULL; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_KHR = 0x20000000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT = 0x80000000000ULL; typedef struct VkPhysicalDeviceVulkan14Features { @@ -9018,6 +9078,7 @@ typedef enum VkSwapchainCreateFlagBitsKHR { VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR = 0x00000040, VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR = 0x00000080, VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR = 0x00000008, + VK_SWAPCHAIN_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00000100, VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR, VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF } VkSwapchainCreateFlagBitsKHR; @@ -12189,6 +12250,13 @@ typedef enum VkVideoEncodeFeedbackFlagBitsKHR { VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, + VK_VIDEO_ENCODE_FEEDBACK_AVERAGE_QUANTIZATION_BIT_KHR = 0x00000008, + VK_VIDEO_ENCODE_FEEDBACK_MIN_QUANTIZATION_BIT_KHR = 0x00000010, + VK_VIDEO_ENCODE_FEEDBACK_MAX_QUANTIZATION_BIT_KHR = 0x00000020, + VK_VIDEO_ENCODE_FEEDBACK_INTRA_PIXELS_BIT_KHR = 0x00000040, + VK_VIDEO_ENCODE_FEEDBACK_INTER_PIXELS_BIT_KHR = 0x00000080, + VK_VIDEO_ENCODE_FEEDBACK_SKIPPED_PIXELS_BIT_KHR = 0x00000100, + VK_VIDEO_ENCODE_FEEDBACK_PICTURE_PARTITION_COUNT_BIT_KHR = 0x00000200, VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF } VkVideoEncodeFeedbackFlagBitsKHR; typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; @@ -12429,6 +12497,7 @@ typedef enum VkAccelerationStructureTypeKHR { VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, + VK_ACCELERATION_STRUCTURE_TYPE_OPACITY_MICROMAP_KHR = 1000623000, VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF @@ -13457,6 +13526,11 @@ typedef enum VkComponentTypeKHR { VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001, VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT = 1000491002, VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT = 1000491003, + VK_COMPONENT_TYPE_FLOAT6_E2M3_EXT = 1000672000, + VK_COMPONENT_TYPE_FLOAT6_E3M2_EXT = 1000672001, + VK_COMPONENT_TYPE_FLOAT4_E2M1_EXT = 1000672002, + VK_COMPONENT_TYPE_FLOAT8_UNSIGNED_E8M0_EXT = 1000672003, + VK_COMPONENT_TYPE_MXINT8_EXT = 1000672004, VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, @@ -14543,6 +14617,40 @@ typedef struct VkVideoDecodeAV1InlineSessionParametersInfoKHR { +// VK_KHR_video_encode_feedback2 is a preprocessor guard. Do not pass it to API calls. +#define VK_KHR_video_encode_feedback2 1 +#define VK_KHR_VIDEO_ENCODE_FEEDBACK_2_SPEC_VERSION 1 +#define VK_KHR_VIDEO_ENCODE_FEEDBACK_2_EXTENSION_NAME "VK_KHR_video_encode_feedback2" + +typedef enum VkVideoEncodePerPartitionFeedbackFlagBitsKHR { + VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_STATUS_BIT_KHR = 0x00000001, + VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000002, + VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000004, + VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkVideoEncodePerPartitionFeedbackFlagBitsKHR; +typedef VkFlags VkVideoEncodePerPartitionFeedbackFlagsKHR; +typedef struct VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 videoEncodeFeedback2; +} VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + +typedef struct VkVideoEncodeFeedback2CapabilitiesKHR { + VkStructureType sType; + void* pNext; + uint32_t maxPerPartitionFeedbackEntries; + VkVideoEncodePerPartitionFeedbackFlagsKHR supportedPerPartitionEncodeFeedbackFlags; +} VkVideoEncodeFeedback2CapabilitiesKHR; + +typedef struct VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR { + VkStructureType sType; + const void* pNext; + uint32_t maxPerPartitionFeedbackEntries; + VkVideoEncodePerPartitionFeedbackFlagsKHR perPartitionEncodeFeedbackFlags; +} VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + + + // VK_KHR_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_depth_clamp_zero_one 1 #define VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 @@ -14588,6 +14696,86 @@ typedef struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR { +// VK_KHR_opacity_micromap is a preprocessor guard. Do not pass it to API calls. +#define VK_KHR_opacity_micromap 1 +#define VK_KHR_OPACITY_MICROMAP_SPEC_VERSION 1 +#define VK_KHR_OPACITY_MICROMAP_EXTENSION_NAME "VK_KHR_opacity_micromap" + +typedef enum VkOpacityMicromapFormatKHR { + VK_OPACITY_MICROMAP_FORMAT_2_STATE_KHR = 1, + VK_OPACITY_MICROMAP_FORMAT_4_STATE_KHR = 2, + VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = VK_OPACITY_MICROMAP_FORMAT_2_STATE_KHR, + VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = VK_OPACITY_MICROMAP_FORMAT_4_STATE_KHR, + VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF +} VkOpacityMicromapFormatKHR; + +typedef enum VkOpacityMicromapSpecialIndexKHR { + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_KHR = -1, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_KHR = -2, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_KHR = -3, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_KHR = -4, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV = -5, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_KHR, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_KHR, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_KHR, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_KHR, + VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_KHR = 0x7FFFFFFF +} VkOpacityMicromapSpecialIndexKHR; + +typedef enum VkAccelerationStructureSerializedBlockTypeKHR { + VK_ACCELERATION_STRUCTURE_SERIALIZED_BLOCK_TYPE_OPACITY_MICROMAP_KHR = 0, + VK_ACCELERATION_STRUCTURE_SERIALIZED_BLOCK_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF +} VkAccelerationStructureSerializedBlockTypeKHR; +typedef struct VkMicromapUsageKHR { + uint32_t count; + uint32_t subdivisionLevel; + VkOpacityMicromapFormatKHR format; +} VkMicromapUsageKHR; + +typedef struct VkAccelerationStructureGeometryMicromapDataKHR { + VkStructureType sType; + const void* pNext; + uint32_t usageCountsCount; + const VkMicromapUsageKHR* pUsageCounts; + const VkMicromapUsageKHR* const* ppUsageCounts; + VkDeviceAddress data; + VkDeviceAddress triangleArray; + VkDeviceSize triangleArrayStride; +} VkAccelerationStructureGeometryMicromapDataKHR; + +typedef struct VkPhysicalDeviceOpacityMicromapFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 micromap; +} VkPhysicalDeviceOpacityMicromapFeaturesKHR; + +typedef struct VkPhysicalDeviceOpacityMicromapPropertiesKHR { + VkStructureType sType; + void* pNext; + uint32_t maxOpacity2StateSubdivisionLevel; + uint32_t maxOpacity4StateSubdivisionLevel; + uint32_t maxOpacityLossy4StateSubdivisionLevel; + uint64_t maxMicromapTriangles; +} VkPhysicalDeviceOpacityMicromapPropertiesKHR; + +typedef struct VkMicromapTriangleKHR { + uint32_t dataOffset; + uint16_t subdivisionLevel; + uint16_t format; +} VkMicromapTriangleKHR; + +typedef struct VkAccelerationStructureTrianglesOpacityMicromapKHR { + VkStructureType sType; + void* pNext; + VkIndexType indexType; + VkDeviceAddress indexBuffer; + VkDeviceSize indexStride; + uint32_t baseTriangle; + VkAccelerationStructureKHR micromap; +} VkAccelerationStructureTrianglesOpacityMicromapKHR; + + + // VK_KHR_maintenance10 is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_maintenance10 1 #define VK_KHR_MAINTENANCE_10_SPEC_VERSION 1 @@ -14651,6 +14839,18 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering2KHR( #endif +// VK_KHR_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. +#define VK_KHR_pipeline_library_group_handles 1 +#define VK_KHR_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 +#define VK_KHR_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_KHR_pipeline_library_group_handles" +typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 pipelineLibraryGroupHandles; +} VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; + + + // VK_KHR_maintenance11 is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_maintenance11 1 #define VK_KHR_MAINTENANCE_11_SPEC_VERSION 1 @@ -14669,6 +14869,117 @@ typedef struct VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR { +// VK_KHR_extended_flags is a preprocessor guard. Do not pass it to API calls. +#define VK_KHR_extended_flags 1 +#define VK_KHR_EXTENDED_FLAGS_SPEC_VERSION 1 +#define VK_KHR_EXTENDED_FLAGS_EXTENSION_NAME "VK_KHR_extended_flags" +typedef VkFlags64 VkFormatFeatureFlags4KHR; + +// Flag bits for VkFormatFeatureFlagBits4KHR +typedef VkFlags64 VkFormatFeatureFlagBits4KHR; + +typedef VkFlags64 VkImageUsageFlags2KHR; + +// Flag bits for VkImageUsageFlagBits2KHR +typedef VkFlags64 VkImageUsageFlagBits2KHR; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_SAMPLED_BIT_KHR = 0x00000004ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_STORAGE_BIT_KHR = 0x00000008ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000010ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000020ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_TRANSIENT_ATTACHMENT_BIT_KHR = 0x00000040ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_INPUT_ATTACHMENT_BIT_KHR = 0x00000080ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00000400ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x00040000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_HOST_TRANSFER_BIT_KHR = 0x00400000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_TENSOR_ALIASING_BIT_ARM = 0x00800000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000ULL; +static const VkImageUsageFlagBits2KHR VK_IMAGE_USAGE_2_TILE_MEMORY_BIT_QCOM = 0x08000000ULL; + +typedef VkFlags64 VkImageCreateFlags2KHR; + +// Flag bits for VkImageCreateFlagBits2KHR +typedef VkFlags64 VkImageCreateFlagBits2KHR; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_SPARSE_BINDING_BIT_KHR = 0x00000001ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_SPARSE_RESIDENCY_BIT_KHR = 0x00000002ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_SPARSE_ALIASED_BIT_KHR = 0x00000004ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_MUTABLE_FORMAT_BIT_KHR = 0x00000008ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_CUBE_COMPATIBLE_BIT_KHR = 0x00000010ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_ALIAS_SINGLE_LAYER_DESCRIPTOR_BIT_KHR = 0x00400000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000040ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 0x00000080ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_EXTENDED_USAGE_BIT_KHR = 0x00000100ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_DISJOINT_BIT_KHR = 0x00000200ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_ALIAS_BIT_KHR = 0x00000400ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_PROTECTED_BIT_KHR = 0x00000800ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_CORNER_SAMPLED_BIT_NV = 0x00002000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_SUBSAMPLED_BIT_EXT = 0x00004000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT = 0x00008000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000ULL; +static const VkImageCreateFlagBits2KHR VK_IMAGE_CREATE_2_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000ULL; + +typedef struct VkFormatProperties4KHR { + VkStructureType sType; + void* pNext; + VkFormatFeatureFlags4KHR linearTilingFeatures; + VkFormatFeatureFlags4KHR optimalTilingFeatures; + VkFormatFeatureFlags4KHR bufferFeatures; +} VkFormatProperties4KHR; + +typedef struct VkImageUsageFlags2CreateInfoKHR { + VkStructureType sType; + void* pNext; + VkImageUsageFlags2KHR usage; +} VkImageUsageFlags2CreateInfoKHR; + +typedef struct VkImageCreateFlags2CreateInfoKHR { + VkStructureType sType; + void* pNext; + VkImageCreateFlags2KHR flags; +} VkImageCreateFlags2CreateInfoKHR; + +typedef struct VkImageViewUsage2CreateInfoKHR { + VkStructureType sType; + void* pNext; + VkImageUsageFlags2KHR usage; +} VkImageViewUsage2CreateInfoKHR; + +typedef struct VkPhysicalDeviceExtendedFlagsFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 extendedFlags; +} VkPhysicalDeviceExtendedFlagsFeaturesKHR; + +typedef struct VkImageStencilUsage2CreateInfoKHR { + VkStructureType sType; + void* pNext; + VkImageUsageFlags2KHR stencilUsage; +} VkImageStencilUsage2CreateInfoKHR; + +typedef struct VkSharedPresentSurfaceCapabilities2KHR { + VkStructureType sType; + void* pNext; + VkImageUsageFlags2KHR sharedPresentSupportedUsageFlags; +} VkSharedPresentSurfaceCapabilities2KHR; + + + // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_debug_report 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) @@ -16134,6 +16445,285 @@ typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFil #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" +// VK_AMD_gpa_interface is a preprocessor guard. Do not pass it to API calls. +#define VK_AMD_gpa_interface 1 +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkGpaSessionAMD) +#define VK_AMD_GPA_INTERFACE_SPEC_VERSION 1 +#define VK_AMD_GPA_INTERFACE_EXTENSION_NAME "VK_AMD_gpa_interface" + +typedef enum VkGpaPerfBlockAMD { + VK_GPA_PERF_BLOCK_CPF_AMD = 0, + VK_GPA_PERF_BLOCK_IA_AMD = 1, + VK_GPA_PERF_BLOCK_VGT_AMD = 2, + VK_GPA_PERF_BLOCK_PA_AMD = 3, + VK_GPA_PERF_BLOCK_SC_AMD = 4, + VK_GPA_PERF_BLOCK_SPI_AMD = 5, + VK_GPA_PERF_BLOCK_SQ_AMD = 6, + VK_GPA_PERF_BLOCK_SX_AMD = 7, + VK_GPA_PERF_BLOCK_TA_AMD = 8, + VK_GPA_PERF_BLOCK_TD_AMD = 9, + VK_GPA_PERF_BLOCK_TCP_AMD = 10, + VK_GPA_PERF_BLOCK_TCC_AMD = 11, + VK_GPA_PERF_BLOCK_TCA_AMD = 12, + VK_GPA_PERF_BLOCK_DB_AMD = 13, + VK_GPA_PERF_BLOCK_CB_AMD = 14, + VK_GPA_PERF_BLOCK_GDS_AMD = 15, + VK_GPA_PERF_BLOCK_SRBM_AMD = 16, + VK_GPA_PERF_BLOCK_GRBM_AMD = 17, + VK_GPA_PERF_BLOCK_GRBM_SE_AMD = 18, + VK_GPA_PERF_BLOCK_RLC_AMD = 19, + VK_GPA_PERF_BLOCK_DMA_AMD = 20, + VK_GPA_PERF_BLOCK_MC_AMD = 21, + VK_GPA_PERF_BLOCK_CPG_AMD = 22, + VK_GPA_PERF_BLOCK_CPC_AMD = 23, + VK_GPA_PERF_BLOCK_WD_AMD = 24, + VK_GPA_PERF_BLOCK_TCS_AMD = 25, + VK_GPA_PERF_BLOCK_ATC_AMD = 26, + VK_GPA_PERF_BLOCK_ATC_L2_AMD = 27, + VK_GPA_PERF_BLOCK_MC_VM_L2_AMD = 28, + VK_GPA_PERF_BLOCK_EA_AMD = 29, + VK_GPA_PERF_BLOCK_RPB_AMD = 30, + VK_GPA_PERF_BLOCK_RMI_AMD = 31, + VK_GPA_PERF_BLOCK_UMCCH_AMD = 32, + VK_GPA_PERF_BLOCK_GE_AMD = 33, + VK_GPA_PERF_BLOCK_GL1A_AMD = 34, + VK_GPA_PERF_BLOCK_GL1C_AMD = 35, + VK_GPA_PERF_BLOCK_GL1CG_AMD = 36, + VK_GPA_PERF_BLOCK_GL2A_AMD = 37, + VK_GPA_PERF_BLOCK_GL2C_AMD = 38, + VK_GPA_PERF_BLOCK_CHA_AMD = 39, + VK_GPA_PERF_BLOCK_CHC_AMD = 40, + VK_GPA_PERF_BLOCK_CHCG_AMD = 41, + VK_GPA_PERF_BLOCK_GUS_AMD = 42, + VK_GPA_PERF_BLOCK_GCR_AMD = 43, + VK_GPA_PERF_BLOCK_PH_AMD = 44, + VK_GPA_PERF_BLOCK_UTCL1_AMD = 45, + VK_GPA_PERF_BLOCK_GE_DIST_AMD = 46, + VK_GPA_PERF_BLOCK_GE_SE_AMD = 47, + VK_GPA_PERF_BLOCK_DF_MALL_AMD = 48, + VK_GPA_PERF_BLOCK_SQ_WGP_AMD = 49, + VK_GPA_PERF_BLOCK_PC_AMD = 50, + VK_GPA_PERF_BLOCK_GL1XA_AMD = 51, + VK_GPA_PERF_BLOCK_GL1XC_AMD = 52, + VK_GPA_PERF_BLOCK_WGS_AMD = 53, + VK_GPA_PERF_BLOCK_EACPWD_AMD = 54, + VK_GPA_PERF_BLOCK_EASE_AMD = 55, + VK_GPA_PERF_BLOCK_RLCUSER_AMD = 56, + VK_GPA_PERF_BLOCK_GE1_AMD = VK_GPA_PERF_BLOCK_GE_AMD, + VK_GPA_PERF_BLOCK_RLCLOCAL_AMD = VK_GPA_PERF_BLOCK_RLCUSER_AMD, + VK_GPA_PERF_BLOCK_MAX_ENUM_AMD = 0x7FFFFFFF +} VkGpaPerfBlockAMD; + +typedef enum VkGpaSampleTypeAMD { + VK_GPA_SAMPLE_TYPE_CUMULATIVE_AMD = 0, + VK_GPA_SAMPLE_TYPE_TRACE_AMD = 1, + VK_GPA_SAMPLE_TYPE_TIMING_AMD = 2, + VK_GPA_SAMPLE_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF +} VkGpaSampleTypeAMD; + +typedef enum VkGpaDeviceClockModeAMD { + VK_GPA_DEVICE_CLOCK_MODE_DEFAULT_AMD = 0, + VK_GPA_DEVICE_CLOCK_MODE_QUERY_AMD = 1, + VK_GPA_DEVICE_CLOCK_MODE_PROFILING_AMD = 2, + VK_GPA_DEVICE_CLOCK_MODE_MIN_MEMORY_AMD = 3, + VK_GPA_DEVICE_CLOCK_MODE_MIN_ENGINE_AMD = 4, + VK_GPA_DEVICE_CLOCK_MODE_PEAK_AMD = 5, + VK_GPA_DEVICE_CLOCK_MODE_MAX_ENUM_AMD = 0x7FFFFFFF +} VkGpaDeviceClockModeAMD; + +typedef enum VkGpaSqShaderStageFlagBitsAMD { + VK_GPA_SQ_SHADER_STAGE_PS_BIT_AMD = 0x00000001, + VK_GPA_SQ_SHADER_STAGE_VS_BIT_AMD = 0x00000002, + VK_GPA_SQ_SHADER_STAGE_GS_BIT_AMD = 0x00000004, + VK_GPA_SQ_SHADER_STAGE_ES_BIT_AMD = 0x00000008, + VK_GPA_SQ_SHADER_STAGE_HS_BIT_AMD = 0x00000010, + VK_GPA_SQ_SHADER_STAGE_LS_BIT_AMD = 0x00000020, + VK_GPA_SQ_SHADER_STAGE_CS_BIT_AMD = 0x00000040, + VK_GPA_SQ_SHADER_STAGE_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF +} VkGpaSqShaderStageFlagBitsAMD; +typedef VkFlags VkGpaSqShaderStageFlagsAMD; +typedef VkFlags VkGpaPerfBlockPropertiesFlagsAMD; +typedef VkFlags VkPhysicalDeviceGpaPropertiesFlagsAMD; +typedef struct VkGpaPerfBlockPropertiesAMD { + VkGpaPerfBlockAMD blockType; + VkGpaPerfBlockPropertiesFlagsAMD flags; + uint32_t instanceCount; + uint32_t maxEventID; + uint32_t maxGlobalOnlyCounters; + uint32_t maxGlobalSharedCounters; + uint32_t maxStreamingCounters; +} VkGpaPerfBlockPropertiesAMD; + +typedef struct VkPhysicalDeviceGpaFeaturesAMD { + VkStructureType sType; + void* pNext; + VkBool32 perfCounters; + VkBool32 streamingPerfCounters; + VkBool32 sqThreadTracing; + VkBool32 clockModes; +} VkPhysicalDeviceGpaFeaturesAMD; + +typedef struct VkPhysicalDeviceGpaPropertiesAMD { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceGpaPropertiesFlagsAMD flags; + VkDeviceSize maxSqttSeBufferSize; + uint32_t shaderEngineCount; + uint32_t perfBlockCount; + VkGpaPerfBlockPropertiesAMD* pPerfBlocks; +} VkPhysicalDeviceGpaPropertiesAMD; + +typedef struct VkPhysicalDeviceGpaProperties2AMD { + VkStructureType sType; + void* pNext; + uint32_t revisionId; +} VkPhysicalDeviceGpaProperties2AMD; + +typedef struct VkGpaPerfCounterAMD { + VkGpaPerfBlockAMD blockType; + uint32_t blockInstance; + uint32_t eventID; +} VkGpaPerfCounterAMD; + +typedef struct VkGpaSampleBeginInfoAMD { + VkStructureType sType; + const void* pNext; + VkGpaSampleTypeAMD sampleType; + VkBool32 sampleInternalOperations; + VkBool32 cacheFlushOnCounterCollection; + VkBool32 sqShaderMaskEnable; + VkGpaSqShaderStageFlagsAMD sqShaderMask; + uint32_t perfCounterCount; + const VkGpaPerfCounterAMD* pPerfCounters; + uint32_t streamingPerfTraceSampleInterval; + VkDeviceSize perfCounterDeviceMemoryLimit; + VkBool32 sqThreadTraceEnable; + VkBool32 sqThreadTraceSuppressInstructionTokens; + VkDeviceSize sqThreadTraceDeviceMemoryLimit; + VkPipelineStageFlags timingPreSample; + VkPipelineStageFlags timingPostSample; +} VkGpaSampleBeginInfoAMD; + +typedef struct VkGpaDeviceClockModeInfoAMD { + VkStructureType sType; + const void* pNext; + VkGpaDeviceClockModeAMD clockMode; + float memoryClockRatioToPeak; + float engineClockRatioToPeak; +} VkGpaDeviceClockModeInfoAMD; + +typedef struct VkGpaDeviceGetClockInfoAMD { + VkStructureType sType; + void* pNext; + float memoryClockRatioToPeak; + float engineClockRatioToPeak; + uint32_t memoryClockFrequency; + uint32_t engineClockFrequency; +} VkGpaDeviceGetClockInfoAMD; + +typedef struct VkGpaSessionCreateInfoAMD { + VkStructureType sType; + const void* pNext; + VkGpaSessionAMD secondaryCopySource; +} VkGpaSessionCreateInfoAMD; + +typedef VkResult (VKAPI_PTR *PFN_vkCreateGpaSessionAMD)(VkDevice device, const VkGpaSessionCreateInfoAMD* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkGpaSessionAMD* pGpaSession); +typedef void (VKAPI_PTR *PFN_vkDestroyGpaSessionAMD)(VkDevice device, VkGpaSessionAMD gpaSession, const VkAllocationCallbacks* pAllocator); +typedef VkResult (VKAPI_PTR *PFN_vkSetGpaDeviceClockModeAMD)(VkDevice device, VkGpaDeviceClockModeInfoAMD* pInfo); +typedef VkResult (VKAPI_PTR *PFN_vkGetGpaDeviceClockInfoAMD)(VkDevice device, VkGpaDeviceGetClockInfoAMD* pInfo); +typedef VkResult (VKAPI_PTR *PFN_vkCmdBeginGpaSessionAMD)(VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession); +typedef VkResult (VKAPI_PTR *PFN_vkCmdEndGpaSessionAMD)(VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession); +typedef VkResult (VKAPI_PTR *PFN_vkCmdBeginGpaSampleAMD)(VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession, const VkGpaSampleBeginInfoAMD* pGpaSampleBeginInfo, uint32_t* pSampleID); +typedef void (VKAPI_PTR *PFN_vkCmdEndGpaSampleAMD)(VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession, uint32_t sampleID); +typedef VkResult (VKAPI_PTR *PFN_vkGetGpaSessionStatusAMD)(VkDevice device, VkGpaSessionAMD gpaSession); +typedef VkResult (VKAPI_PTR *PFN_vkGetGpaSessionResultsAMD)(VkDevice device, VkGpaSessionAMD gpaSession, uint32_t sampleID, size_t* pSizeInBytes, void* pData); +typedef VkResult (VKAPI_PTR *PFN_vkResetGpaSessionAMD)(VkDevice device, VkGpaSessionAMD gpaSession); +typedef void (VKAPI_PTR *PFN_vkCmdCopyGpaSessionResultsAMD)(VkCommandBuffer commandBuffer, VkGpaSessionAMD gpaSession); + +#ifndef VK_NO_PROTOTYPES +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkCreateGpaSessionAMD( + VkDevice device, + const VkGpaSessionCreateInfoAMD* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkGpaSessionAMD* pGpaSession); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkDestroyGpaSessionAMD( + VkDevice device, + VkGpaSessionAMD gpaSession, + const VkAllocationCallbacks* pAllocator); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkSetGpaDeviceClockModeAMD( + VkDevice device, + VkGpaDeviceClockModeInfoAMD* pInfo); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetGpaDeviceClockInfoAMD( + VkDevice device, + VkGpaDeviceGetClockInfoAMD* pInfo); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkCmdBeginGpaSessionAMD( + VkCommandBuffer commandBuffer, + VkGpaSessionAMD gpaSession); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkCmdEndGpaSessionAMD( + VkCommandBuffer commandBuffer, + VkGpaSessionAMD gpaSession); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkCmdBeginGpaSampleAMD( + VkCommandBuffer commandBuffer, + VkGpaSessionAMD gpaSession, + const VkGpaSampleBeginInfoAMD* pGpaSampleBeginInfo, + uint32_t* pSampleID); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdEndGpaSampleAMD( + VkCommandBuffer commandBuffer, + VkGpaSessionAMD gpaSession, + uint32_t sampleID); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetGpaSessionStatusAMD( + VkDevice device, + VkGpaSessionAMD gpaSession); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetGpaSessionResultsAMD( + VkDevice device, + VkGpaSessionAMD gpaSession, + uint32_t sampleID, + size_t* pSizeInBytes, + void* pData); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkResetGpaSessionAMD( + VkDevice device, + VkGpaSessionAMD gpaSession); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdCopyGpaSessionResultsAMD( + VkCommandBuffer commandBuffer, + VkGpaSessionAMD gpaSession); +#endif +#endif + + // VK_EXT_descriptor_heap is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_descriptor_heap 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorARM) @@ -17033,6 +17623,7 @@ typedef enum VkGeometryTypeKHR { #ifdef VK_ENABLE_BETA_EXTENSIONS VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX = 1000478000, #endif + VK_GEOMETRY_TYPE_MICROMAP_KHR = 1000623000, VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF @@ -17079,15 +17670,17 @@ typedef enum VkGeometryInstanceFlagBitsKHR { VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, - VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT = 0x00000010, - VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT = 0x00000020, + VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_KHR = 0x00000010, + VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_KHR = 0x00000020, VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_KHR, // VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT is a legacy alias VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT, + VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_KHR, // VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT is a legacy alias VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT, VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF @@ -17105,21 +17698,24 @@ typedef enum VkBuildAccelerationStructureFlagBitsKHR { VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, - VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT = 0x00000040, - VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT = 0x00000080, VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT = 0x00000100, #ifdef VK_ENABLE_BETA_EXTENSIONS VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV = 0x00000200, #endif VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR = 0x00000800, VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV = 0x00001000, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_KHR = 0x00000040, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_KHR = 0x00000080, + VK_BUILD_ACCELERATION_STRUCTURE_MICROMAP_LOSSY_BIT_KHR = 0x00000400, VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_KHR, // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT is a legacy alias VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_KHR, // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT is a legacy alias VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT, // VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT is a legacy alias @@ -17477,6 +18073,18 @@ typedef struct VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { +// VK_QCOM_elapsed_timer_query is a preprocessor guard. Do not pass it to API calls. +#define VK_QCOM_elapsed_timer_query 1 +#define VK_QCOM_ELAPSED_TIMER_QUERY_SPEC_VERSION 1 +#define VK_QCOM_ELAPSED_TIMER_QUERY_EXTENSION_NAME "VK_QCOM_elapsed_timer_query" +typedef struct VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM { + VkStructureType sType; + void* pNext; + VkBool32 elapsedTimerQuery; +} VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM; + + + // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_global_priority 1 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 @@ -19485,6 +20093,8 @@ typedef VkPrivateDataSlot VkPrivateDataSlotEXT; #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; +typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT; + typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; @@ -19615,6 +20225,56 @@ VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerfHintQCOM( #endif +// VK_QCOM_image_processing3 is a preprocessor guard. Do not pass it to API calls. +#define VK_QCOM_image_processing3 1 +#define VK_QCOM_IMAGE_PROCESSING_3_SPEC_VERSION 1 +#define VK_QCOM_IMAGE_PROCESSING_3_EXTENSION_NAME "VK_QCOM_image_processing3" +typedef struct VkPhysicalDeviceImageProcessing3FeaturesQCOM { + VkStructureType sType; + void* pNext; + VkBool32 imageGatherLinear; + VkBool32 imageGatherExtendedModes; + VkBool32 blockMatchExtendedClampToEdge; +} VkPhysicalDeviceImageProcessing3FeaturesQCOM; + + + +// VK_QCOM_shader_multiple_wait_queues is a preprocessor guard. Do not pass it to API calls. +#define VK_QCOM_shader_multiple_wait_queues 1 +#define VK_QCOM_SHADER_MULTIPLE_WAIT_QUEUES_SPEC_VERSION 1 +#define VK_QCOM_SHADER_MULTIPLE_WAIT_QUEUES_EXTENSION_NAME "VK_QCOM_shader_multiple_wait_queues" +typedef struct VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM { + VkStructureType sType; + void* pNext; + VkBool32 shaderMultipleWaitQueues; +} VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + +typedef struct VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM { + VkStructureType sType; + void* pNext; + uint32_t maxShaderWaitQueues; +} VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + + + +// VK_EXT_shader_split_barrier is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_shader_split_barrier 1 +#define VK_EXT_SHADER_SPLIT_BARRIER_SPEC_VERSION 1 +#define VK_EXT_SHADER_SPLIT_BARRIER_EXTENSION_NAME "VK_EXT_shader_split_barrier" +typedef struct VkPhysicalDeviceShaderSplitBarrierFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 shaderSplitBarrier; +} VkPhysicalDeviceShaderSplitBarrierFeaturesEXT; + +typedef struct VkPhysicalDeviceShaderSplitBarrierPropertiesEXT { + VkStructureType sType; + void* pNext; + uint32_t splitBarrierReservedSharedMemory; +} VkPhysicalDeviceShaderSplitBarrierPropertiesEXT; + + + // VK_QCOM_tile_shading is a preprocessor guard. Do not pass it to API calls. #define VK_QCOM_tile_shading 1 #define VK_QCOM_TILE_SHADING_SPEC_VERSION 2 @@ -19703,7 +20363,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEndPerTileExecutionQCOM( // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. #define VK_NV_low_latency 1 -#define VK_NV_LOW_LATENCY_SPEC_VERSION 1 +#define VK_NV_LOW_LATENCY_SPEC_VERSION 2 #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" typedef struct VkQueryLowLatencySupportNV { VkStructureType sType; @@ -19711,6 +20371,60 @@ typedef struct VkQueryLowLatencySupportNV { void* pQueriedLowLatencyData; } VkQueryLowLatencySupportNV; +typedef void (VKAPI_PTR *PFN_vkSetLatencySleepModeLegacyNV)(VkDevice device, VkBool32 lowLatencyMode, VkBool32 lowLatencyBoost, uint32_t minimumIntervalUs); +typedef void (VKAPI_PTR *PFN_vkLatencySleepLegacyNV)(VkDevice device, VkSemaphore signalSemaphore, uint64_t value); +typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerLegacyNV)(VkDevice device, uint64_t frameID, uint32_t marker); +typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsLegacyNV)(VkDevice device, void* pTimings); +typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandLegacyNV)(VkQueue queue, uint32_t queueType); +typedef void (VKAPI_PTR *PFN_vkGetSleepStatusLegacyNV)(VkDevice device, VkBool32* pLowLatencyMode); +typedef void (VKAPI_PTR *PFN_vkShutdownLatencyDeviceLegacyNV)(VkDevice device); + +#ifndef VK_NO_PROTOTYPES +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkSetLatencySleepModeLegacyNV( + VkDevice device, + VkBool32 lowLatencyMode, + VkBool32 lowLatencyBoost, + uint32_t minimumIntervalUs); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkLatencySleepLegacyNV( + VkDevice device, + VkSemaphore signalSemaphore, + uint64_t value); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerLegacyNV( + VkDevice device, + uint64_t frameID, + uint32_t marker); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsLegacyNV( + VkDevice device, + void* pTimings); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandLegacyNV( + VkQueue queue, + uint32_t queueType); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkGetSleepStatusLegacyNV( + VkDevice device, + VkBool32* pLowLatencyMode); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkShutdownLatencyDeviceLegacyNV( + VkDevice device); +#endif +#endif // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. @@ -21005,21 +21719,10 @@ typedef enum VkCopyMicromapModeEXT { VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF } VkCopyMicromapModeEXT; +typedef VkOpacityMicromapFormatKHR VkOpacityMicromapFormatEXT; + +typedef VkOpacityMicromapSpecialIndexKHR VkOpacityMicromapSpecialIndexEXT; -typedef enum VkOpacityMicromapFormatEXT { - VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, - VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, - VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF -} VkOpacityMicromapFormatEXT; - -typedef enum VkOpacityMicromapSpecialIndexEXT { - VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, - VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, - VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, - VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, - VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV = -5, - VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF -} VkOpacityMicromapSpecialIndexEXT; typedef enum VkAccelerationStructureCompatibilityKHR { VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, @@ -21090,6 +21793,7 @@ typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { void* pNext; VkBool32 micromap; VkBool32 micromapCaptureReplay; + // micromapHostCommands is legacy, but no reason was given in the API XML VkBool32 micromapHostCommands; } VkPhysicalDeviceOpacityMicromapFeaturesEXT; @@ -21151,26 +21855,22 @@ typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { VkMicromapEXT micromap; } VkAccelerationStructureTrianglesOpacityMicromapEXT; -typedef struct VkMicromapTriangleEXT { - uint32_t dataOffset; - uint16_t subdivisionLevel; - uint16_t format; -} VkMicromapTriangleEXT; - -typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); -typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); -typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); -typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); -typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); -typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); -typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); -typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); -typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); -typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); -typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); -typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); -typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); -typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); +typedef VkMicromapTriangleKHR VkMicromapTriangleEXT; + +typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); +typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); +typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); +typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); +typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); +typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); +typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); +typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); +typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); +typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); +typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); +typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); +typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); +typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); #ifndef VK_NO_PROTOTYPES #ifndef VK_ONLY_EXPORTED_PROTOTYPES @@ -22302,6 +23002,11 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorViewARM) typedef enum VkTensorTilingARM { VK_TENSOR_TILING_OPTIMAL_ARM = 0, VK_TENSOR_TILING_LINEAR_ARM = 1, + VK_TENSOR_TILING_BRICK_16_WIDE_ARM = 1000565000, + VK_TENSOR_TILING_BRICK_8_WIDE_ARM = 1000565001, + VK_TENSOR_TILING_BRICK_4_WIDE_ARM = 1000565002, + VK_TENSOR_TILING_BLOCK_U_INTERLEAVED_ARM = 1000565003, + VK_TENSOR_TILING_BLOCK_U_INTERLEAVED_64K_ARM = 1000565004, VK_TENSOR_TILING_MAX_ENUM_ARM = 0x7FFFFFFF } VkTensorTilingARM; typedef VkFlags64 VkTensorCreateFlagsARM; @@ -22932,6 +23637,7 @@ typedef enum VkShaderCreateFlagBitsEXT { VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT = 0x00000080, + VK_SHADER_CREATE_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT = 0x00001000, VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT = 0x00008000, VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR = 0x00040000, VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF @@ -23304,11 +24010,7 @@ typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { #define VK_EXT_pipeline_library_group_handles 1 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" -typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 pipelineLibraryGroupHandles; -} VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; +typedef VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; @@ -23326,7 +24028,7 @@ typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. #define VK_NV_low_latency2 1 -#define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 +#define VK_NV_LOW_LATENCY_2_SPEC_VERSION 3 #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" typedef enum VkLatencyMarkerNV { @@ -24230,6 +24932,29 @@ typedef struct VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT { +// VK_ARM_tensor_controls is a preprocessor guard. Do not pass it to API calls. +#define VK_ARM_tensor_controls 1 +#define VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM 4U +#define VK_ARM_TENSOR_CONTROLS_SPEC_VERSION 1 +#define VK_ARM_TENSOR_CONTROLS_EXTENSION_NAME "VK_ARM_tensor_controls" +typedef struct VkTensorRollingBackingCreateInfoARM { + VkStructureType sType; + const void* pNext; + uint32_t wraps[VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM]; +} VkTensorRollingBackingCreateInfoARM; + +typedef struct VkTensorExplicitTilingFormatPropertiesARM { + VkStructureType sType; + void* pNext; + VkFormatFeatureFlags2 brick16TilingTensorFeatures; + VkFormatFeatureFlags2 brick8TilingTensorFeatures; + VkFormatFeatureFlags2 brick4TilingTensorFeatures; + VkFormatFeatureFlags2 blockUTilingTensorFeatures; + VkFormatFeatureFlags2 blockU64kTilingTensorFeatures; +} VkTensorExplicitTilingFormatPropertiesARM; + + + // VK_EXT_shader_float8 is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_shader_float8 1 #define VK_EXT_SHADER_FLOAT8_SPEC_VERSION 1 @@ -25093,6 +25818,12 @@ typedef struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM { +// VK_IMG_filter_linear_2d is a preprocessor guard. Do not pass it to API calls. +#define VK_IMG_filter_linear_2d 1 +#define VK_IMG_FILTER_LINEAR_2D_SPEC_VERSION 1 +#define VK_IMG_FILTER_LINEAR_2D_EXTENSION_NAME "VK_IMG_filter_linear_2d" + + // VK_ARM_performance_counters_by_region is a preprocessor guard. Do not pass it to API calls. #define VK_ARM_performance_counters_by_region 1 #define VK_ARM_PERFORMANCE_COUNTERS_BY_REGION_SPEC_VERSION 1 @@ -25315,6 +26046,24 @@ typedef struct VkPhysicalDevicePresentMeteringFeaturesNV { +// VK_EXT_multisampled_render_to_swapchain is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_multisampled_render_to_swapchain 1 +#define VK_EXT_MULTISAMPLED_RENDER_TO_SWAPCHAIN_SPEC_VERSION 1 +#define VK_EXT_MULTISAMPLED_RENDER_TO_SWAPCHAIN_EXTENSION_NAME "VK_EXT_multisampled_render_to_swapchain" +typedef struct VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 multisampledRenderToSwapchain; +} VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + +typedef struct VkSwapchainFlagsSurfaceCapabilitiesEXT { + VkStructureType sType; + void* pNext; + VkSwapchainCreateFlagsKHR swapchainSupportedFlags; +} VkSwapchainFlagsSurfaceCapabilitiesEXT; + + + // VK_EXT_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_fragment_density_map_offset 1 #define VK_EXT_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 @@ -25650,6 +26399,60 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetComputeOccupancyPriorityNV( #endif +// VK_EXT_cooperative_matrix_maintenance1 is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_cooperative_matrix_maintenance1 1 +#define VK_EXT_COOPERATIVE_MATRIX_MAINTENANCE_1_SPEC_VERSION 1 +#define VK_EXT_COOPERATIVE_MATRIX_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_cooperative_matrix_maintenance1" + +typedef enum VkCooperativeMatrixFlagBitsEXT { + VK_COOPERATIVE_MATRIX_SATURATING_ACCUMULATION_BIT_EXT = 0x00000001, + VK_COOPERATIVE_MATRIX_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkCooperativeMatrixFlagBitsEXT; +typedef VkFlags VkCooperativeMatrixFlagsEXT; +typedef struct VkCooperativeMatrixProperties2EXT { + VkStructureType sType; + void* pNext; + uint32_t MGranularity; + uint32_t NGranularity; + uint32_t KGranularity; + VkComponentTypeKHR AType; + VkComponentTypeKHR BType; + VkComponentTypeKHR CType; + VkComponentTypeKHR ResultType; +} VkCooperativeMatrixProperties2EXT; + +typedef struct VkPhysicalDeviceCooperativeMatrixInfo2EXT { + VkStructureType sType; + const void* pNext; + VkScopeKHR scope; + uint32_t invocations; + uint32_t subgroupSize; + VkCooperativeMatrixFlagsEXT flags; +} VkPhysicalDeviceCooperativeMatrixInfo2EXT; + +typedef struct VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 cooperativeMatrixProperties2; + VkBool32 cooperativeMatrixReductions; + VkBool32 cooperativeMatrixConversions; + VkBool32 cooperativeMatrixPerElementOperations; + VkBool32 cooperativeMatrixGetCoordinate; +} VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo, uint32_t* pPropertyCount, VkCooperativeMatrixProperties2EXT* pProperties); + +#ifndef VK_NO_PROTOTYPES +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo, + uint32_t* pPropertyCount, + VkCooperativeMatrixProperties2EXT* pProperties); +#endif +#endif + + // VK_EXT_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_shader_subgroup_partitioned 1 #define VK_EXT_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 @@ -25662,6 +26465,21 @@ typedef struct VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT { +// VK_EXT_shader_ocp_microscaling_types is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_shader_ocp_microscaling_types 1 +#define VK_EXT_SHADER_OCP_MICROSCALING_TYPES_SPEC_VERSION 1 +#define VK_EXT_SHADER_OCP_MICROSCALING_TYPES_EXTENSION_NAME "VK_EXT_shader_ocp_microscaling_types" +typedef struct VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 shaderFloat4; + VkBool32 shaderFloat6; + VkBool32 shaderFloat8UnsignedE8M0; + VkBool32 shaderMXInt8; +} VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT; + + + // VK_VALVE_shader_mixed_float_dot_product is a preprocessor guard. Do not pass it to API calls. #define VK_VALVE_shader_mixed_float_dot_product 1 #define VK_VALVE_SHADER_MIXED_FLOAT_DOT_PRODUCT_SPEC_VERSION 1 @@ -25754,6 +26572,93 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartIndexEXT( #endif +// VK_EXT_image_tiling_control is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_image_tiling_control 1 +#define VK_EXT_IMAGE_TILING_CONTROL_SPEC_VERSION 1 +#define VK_EXT_IMAGE_TILING_CONTROL_EXTENSION_NAME "VK_EXT_image_tiling_control" + +typedef enum VkImageTilingControlEXT { + VK_IMAGE_TILING_CONTROL_DEFAULT_EXT = 0, + VK_IMAGE_TILING_CONTROL_MIN_SIZE_EXT = 1, + VK_IMAGE_TILING_CONTROL_MAX_PERFORMANCE_EXT = 2, + VK_IMAGE_TILING_CONTROL_MAX_ENUM_EXT = 0x7FFFFFFF +} VkImageTilingControlEXT; +typedef struct VkPhysicalDeviceImageTilingControlFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 imageTilingControl; +} VkPhysicalDeviceImageTilingControlFeaturesEXT; + +typedef struct VkImageTilingControlCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkImageTilingControlEXT tilingControl; +} VkImageTilingControlCreateInfoEXT; + + + +// VK_NV_cooperative_matrix_decode_vector is a preprocessor guard. Do not pass it to API calls. +#define VK_NV_cooperative_matrix_decode_vector 1 +#define VK_NV_COOPERATIVE_MATRIX_DECODE_VECTOR_SPEC_VERSION 1 +#define VK_NV_COOPERATIVE_MATRIX_DECODE_VECTOR_EXTENSION_NAME "VK_NV_cooperative_matrix_decode_vector" +typedef struct VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 cooperativeMatrixDecodeVector; +} VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + + + +// VK_NV_private_data_base_handle is a preprocessor guard. Do not pass it to API calls. +#define VK_NV_private_data_base_handle 1 +#define VK_NV_PRIVATE_DATA_BASE_HANDLE_SPEC_VERSION 1 +#define VK_NV_PRIVATE_DATA_BASE_HANDLE_EXTENSION_NAME "VK_NV_private_data_base_handle" +typedef struct VkPhysicalDevicePrivateDataBaseHandleFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 privateDataBaseHandle; +} VkPhysicalDevicePrivateDataBaseHandleFeaturesNV; + + + +// VK_INTEL_device_info is a preprocessor guard. Do not pass it to API calls. +#define VK_INTEL_device_info 1 +#define VK_INTEL_DEVICE_INFO_SPEC_VERSION 1 +#define VK_INTEL_DEVICE_INFO_EXTENSION_NAME "VK_INTEL_device_info" +typedef struct VkPhysicalDeviceInfoPropertiesINTEL { + VkStructureType sType; + void* pNext; + uint32_t deviceIpVersionArch; + uint32_t deviceIpVersionRelease; + uint32_t deviceIpVersionRevision; +} VkPhysicalDeviceInfoPropertiesINTEL; + + + +// VK_VALVE_buffer_device_address_allocation_alignment is a preprocessor guard. Do not pass it to API calls. +#define VK_VALVE_buffer_device_address_allocation_alignment 1 +#define VK_VALVE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_SPEC_VERSION 1 +#define VK_VALVE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_EXTENSION_NAME "VK_VALVE_buffer_device_address_allocation_alignment" +typedef struct VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE { + VkStructureType sType; + void* pNext; + VkBool32 bufferDeviceAddressAllocationAlignment; +} VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + +typedef struct VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE { + VkStructureType sType; + void* pNext; + uint32_t maxBufferDeviceAddressAllocationAlignment; +} VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + +typedef struct VkBufferDeviceAddressAlignmentAllocateInfoVALVE { + VkStructureType sType; + void* pNext; + uint32_t alignment; +} VkBufferDeviceAddressAlignmentAllocateInfoVALVE; + + + // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_acceleration_structure 1 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 @@ -25849,6 +26754,7 @@ typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { VkBool32 accelerationStructure; VkBool32 accelerationStructureCaptureReplay; VkBool32 accelerationStructureIndirectBuild; + // accelerationStructureHostCommands is legacy, but no reason was given in the API XML VkBool32 accelerationStructureHostCommands; VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; } VkPhysicalDeviceAccelerationStructureFeaturesKHR; diff --git a/third_party/vulkan/include/vulkan/vulkan_directfb.h b/third_party/vulkan/include/vulkan/vulkan_directfb.h index b96e957e1..527331a61 100644 --- a/third_party/vulkan/include/vulkan/vulkan_directfb.h +++ b/third_party/vulkan/include/vulkan/vulkan_directfb.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_enums.hpp b/third_party/vulkan/include/vulkan/vulkan_enums.hpp index f0525ea5a..3f75c78f4 100644 --- a/third_party/vulkan/include/vulkan/vulkan_enums.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_enums.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -23,6 +22,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = false; }; +#if 20 <= VULKAN_HPP_CPP_VERSION + template + concept Bitmask = FlagTraits::isBitmask; +#endif + template class Flags { @@ -143,85 +147,101 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) // relational operators only needed for pre C++20 - template - VULKAN_HPP_CONSTEXPR bool operator<( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR bool operator<( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator>( bit ); } - template - VULKAN_HPP_CONSTEXPR bool operator<=( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR bool operator<=( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator>=( bit ); } - template - VULKAN_HPP_CONSTEXPR bool operator>( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR bool operator>( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator<( bit ); } - template - VULKAN_HPP_CONSTEXPR bool operator>=( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR bool operator>=( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator<=( bit ); } - template - VULKAN_HPP_CONSTEXPR bool operator==( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR bool operator==( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator==( bit ); } - template - VULKAN_HPP_CONSTEXPR bool operator!=( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR bool operator!=( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator!=( bit ); } #endif // bitwise operators - template - VULKAN_HPP_CONSTEXPR Flags operator&( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR Flags operator&( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator&( bit ); } - template - VULKAN_HPP_CONSTEXPR Flags operator|( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR Flags operator|( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator|( bit ); } - template - VULKAN_HPP_CONSTEXPR Flags operator^( BitType bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT + template + VULKAN_HPP_CONSTEXPR Flags operator^( T bit, Flags const & flags ) VULKAN_HPP_NOEXCEPT { return flags.operator^( bit ); } - // bitwise operators on BitType - template ::isBitmask, bool>::type = true> - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator&( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT +// bitwise operators on BitType T +#if VULKAN_HPP_CPP_VERSION < 20 + template ::isBitmask, bool>::type = true> +#else + template +#endif + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator&( T lhs, T rhs ) VULKAN_HPP_NOEXCEPT { - return Flags( lhs ) & rhs; + return Flags( lhs ) & rhs; } - template ::isBitmask, bool>::type = true> - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator|( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT +#if VULKAN_HPP_CPP_VERSION < 20 + template ::isBitmask, bool>::type = true> +#else + template +#endif + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator|( T lhs, T rhs ) VULKAN_HPP_NOEXCEPT { - return Flags( lhs ) | rhs; + return Flags( lhs ) | rhs; } - template ::isBitmask, bool>::type = true> - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator^( BitType lhs, BitType rhs ) VULKAN_HPP_NOEXCEPT +#if VULKAN_HPP_CPP_VERSION < 20 + template ::isBitmask, bool>::type = true> +#else + template +#endif + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator^( T lhs, T rhs ) VULKAN_HPP_NOEXCEPT { - return Flags( lhs ) ^ rhs; + return Flags( lhs ) ^ rhs; } - template ::isBitmask, bool>::type = true> - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator~( BitType bit ) VULKAN_HPP_NOEXCEPT +#if VULKAN_HPP_CPP_VERSION < 20 + template ::isBitmask, bool>::type = true> +#else + template +#endif + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR Flags operator~( T bit ) VULKAN_HPP_NOEXCEPT { - return ~( Flags( bit ) ); + return ~( Flags( bit ) ); } //============= @@ -986,6 +1006,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eExternalFormatANDROID = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID, eAndroidHardwareBufferFormatProperties2ANDROID = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID, #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + ePhysicalDeviceGpaFeaturesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_FEATURES_AMD, + ePhysicalDeviceGpaPropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_AMD, + eGpaSampleBeginInfoAMD = VK_STRUCTURE_TYPE_GPA_SAMPLE_BEGIN_INFO_AMD, + eGpaSessionCreateInfoAMD = VK_STRUCTURE_TYPE_GPA_SESSION_CREATE_INFO_AMD, + eGpaDeviceClockModeInfoAMD = VK_STRUCTURE_TYPE_GPA_DEVICE_CLOCK_MODE_INFO_AMD, + ePhysicalDeviceGpaProperties2AMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_2_AMD, + eGpaDeviceGetClockInfoAMD = VK_STRUCTURE_TYPE_GPA_DEVICE_GET_CLOCK_INFO_AMD, #if defined( VK_ENABLE_BETA_EXTENSIONS ) ePhysicalDeviceShaderEnqueueFeaturesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX, ePhysicalDeviceShaderEnqueuePropertiesAMDX = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX, @@ -1076,6 +1103,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceImageViewImageFormatInfoEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT, eFilterCubicImageViewImageFormatPropertiesEXT = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT, ePhysicalDeviceCooperativeMatrixConversionFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM, + ePhysicalDeviceElapsedTimerQueryFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ELAPSED_TIMER_QUERY_FEATURES_QCOM, eImportMemoryHostPointerInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT, eMemoryHostPointerPropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT, ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, @@ -1232,6 +1260,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ePerfHintInfoQCOM = VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM, ePhysicalDeviceQueuePerfHintFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM, ePhysicalDeviceQueuePerfHintPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM, + ePhysicalDeviceImageProcessing3FeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_3_FEATURES_QCOM, + ePhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_FEATURES_QCOM, + ePhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MULTIPLE_WAIT_QUEUES_PROPERTIES_QCOM, + ePhysicalDeviceShaderSplitBarrierFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_FEATURES_EXT, + ePhysicalDeviceShaderSplitBarrierPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SPLIT_BARRIER_PROPERTIES_EXT, #if defined( VK_ENABLE_BETA_EXTENSIONS ) eCudaModuleCreateInfoNV = VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV, eCudaFunctionCreateInfoNV = VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV, @@ -1561,7 +1594,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eLayerSettingsCreateInfoEXT = VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT, ePhysicalDeviceShaderCoreBuiltinsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM, ePhysicalDeviceShaderCoreBuiltinsPropertiesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM, - ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT, ePhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT, ePhysicalDeviceInternallySynchronizedQueuesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR, eLatencySleepModeInfoNV = VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV, @@ -1696,6 +1728,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceLayeredApiVulkanPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR, ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV, ePhysicalDeviceShaderReplicatedCompositesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT, + eTensorExplicitTilingFormatPropertiesARM = VK_STRUCTURE_TYPE_TENSOR_EXPLICIT_TILING_FORMAT_PROPERTIES_ARM, + eTensorRollingBackingCreateInfoARM = VK_STRUCTURE_TYPE_TENSOR_ROLLING_BACKING_CREATE_INFO_ARM, ePhysicalDeviceShaderFloat8FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT, ePhysicalDeviceRayTracingValidationFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV, ePhysicalDeviceClusterAccelerationStructureFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV, @@ -1753,12 +1787,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #if defined( VK_USE_PLATFORM_OHOS ) eSurfaceCreateInfoOHOS = VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS, #endif /*VK_USE_PLATFORM_OHOS*/ - ePhysicalDeviceHdrVividFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI, - eHdrVividDynamicMetadataHUAWEI = VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI, - ePhysicalDeviceCooperativeMatrix2FeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV, - eCooperativeMatrixFlexibleDimensionsPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV, - ePhysicalDeviceCooperativeMatrix2PropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV, - ePhysicalDevicePipelineOpacityMicromapFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM, + ePhysicalDeviceHdrVividFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI, + eHdrVividDynamicMetadataHUAWEI = VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI, + ePhysicalDeviceCooperativeMatrix2FeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV, + eCooperativeMatrixFlexibleDimensionsPropertiesNV = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV, + ePhysicalDeviceCooperativeMatrix2PropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV, + ePhysicalDevicePipelineOpacityMicromapFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM, + ePhysicalDeviceVideoEncodeFeedback2FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_FEEDBACK_2_FEATURES_KHR, + eVideoEncodeFeedback2CapabilitiesKHR = VK_STRUCTURE_TYPE_VIDEO_ENCODE_FEEDBACK_2_CAPABILITIES_KHR, + eQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR = VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_CREATE_INFO_KHR, #if defined( VK_USE_PLATFORM_METAL_EXT ) eImportMemoryMetalHandleInfoEXT = VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT, eMemoryMetalHandlePropertiesEXT = VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT, @@ -1786,6 +1823,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceRobustness2PropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, eSetPresentConfigNV = VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV, ePhysicalDevicePresentMeteringFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV, + ePhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SWAPCHAIN_FEATURES_EXT, + eSwapchainFlagsSurfaceCapabilitiesEXT = VK_STRUCTURE_TYPE_SWAPCHAIN_FLAGS_SURFACE_CAPABILITIES_EXT, ePhysicalDeviceFragmentDensityMapOffsetFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT, ePhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, ePhysicalDeviceFragmentDensityMapOffsetPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT, @@ -1795,6 +1834,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT, ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR, ePhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT, + ePhysicalDeviceOpacityMicromapFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_KHR, + ePhysicalDeviceOpacityMicromapPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_KHR, + eAccelerationStructureGeometryMicromapDataKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MICROMAP_DATA_KHR, + eAccelerationStructureTrianglesOpacityMicromapKHR = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_KHR, ePhysicalDeviceShader64BitIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT, ePhysicalDeviceCustomResolveFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT, eBeginCustomResolveInfoEXT = VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT, @@ -1822,19 +1865,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT, eComputeOccupancyPriorityParametersNV = VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV, ePhysicalDeviceComputeOccupancyPriorityFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV, + ePhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_KHR, + ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT, ePhysicalDeviceMaintenance11FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR, eQueueFamilyOptimalImageTransferGranularityPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR, + ePhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT, + ePhysicalDeviceCooperativeMatrixInfo2EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_INFO_2_EXT, + eCooperativeMatrixProperties2EXT = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_2_EXT, ePhysicalDeviceShaderSubgroupPartitionedFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT, #if defined( VK_USE_PLATFORM_UBM_SEC ) eUbmSurfaceCreateInfoSEC = VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC, #endif /*VK_USE_PLATFORM_UBM_SEC*/ + eFormatProperties4KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_4_KHR, + eImageCreateFlags2CreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_CREATE_FLAGS_2_CREATE_INFO_KHR, + eImageUsageFlags2CreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_USAGE_FLAGS_2_CREATE_INFO_KHR, + eImageViewUsage2CreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_2_CREATE_INFO_KHR, + ePhysicalDeviceExtendedFlagsFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_FLAGS_FEATURES_KHR, + eImageStencilUsage2CreateInfoKHR = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_2_CREATE_INFO_KHR, + eSharedPresentSurfaceCapabilities2KHR = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_2_KHR, + ePhysicalDeviceShaderOcpMicroscalingTypesFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OCP_MICROSCALING_TYPES_FEATURES_EXT, ePhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE, ePhysicalDeviceThrottleHintFeaturesSEC = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC, eThrottleHintSubmitInfoSEC = VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC, eDataGraphPipelineNeuralStatisticsCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM, eDataGraphPipelineSessionNeuralStatisticsCreateInfoARM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM, ePhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM, - ePhysicalDevicePrimitiveRestartIndexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT + ePhysicalDevicePrimitiveRestartIndexFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT, + ePhysicalDeviceImageTilingControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_TILING_CONTROL_FEATURES_EXT, + eImageTilingControlCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_TILING_CONTROL_CREATE_INFO_EXT, + ePhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_DECODE_VECTOR_FEATURES_NV, + ePhysicalDevicePrivateDataBaseHandleFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_BASE_HANDLE_FEATURES_NV, + ePhysicalDeviceInfoPropertiesINTEL = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INFO_PROPERTIES_INTEL, + ePhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE = + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_FEATURES_VALVE, + ePhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE = + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_ALLOCATION_ALIGNMENT_PROPERTIES_VALVE, + eBufferDeviceAddressAlignmentAllocateInfoVALVE = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_ALIGNMENT_ALLOCATE_INFO_VALVE }; // wrapper class for enum VkObjectType, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkObjectType.html @@ -1882,6 +1948,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eCuModuleNVX = VK_OBJECT_TYPE_CU_MODULE_NVX, eCuFunctionNVX = VK_OBJECT_TYPE_CU_FUNCTION_NVX, eDebugUtilsMessengerEXT = VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT, + eGpaSessionAMD = VK_OBJECT_TYPE_GPA_SESSION_AMD, eAccelerationStructureKHR = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR, eValidationCacheEXT = VK_OBJECT_TYPE_VALIDATION_CACHE_EXT, eAccelerationStructureNV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV, @@ -1918,7 +1985,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eCodeplay = VK_VENDOR_ID_CODEPLAY, eMESA = VK_VENDOR_ID_MESA, ePocl = VK_VENDOR_ID_POCL, - eMobileye = VK_VENDOR_ID_MOBILEYE + eMobileye = VK_VENDOR_ID_MOBILEYE, + eApe = VK_VENDOR_ID_APE }; // wrapper class for enum VkFormat, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormat.html @@ -2968,6 +3036,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eAccelerationStructureCompactedSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR, eAccelerationStructureSerializationSizeKHR = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR, eAccelerationStructureCompactedSizeNV = VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV, + eTimeElapsedQCOM = VK_QUERY_TYPE_TIME_ELAPSED_QCOM, ePerformanceQueryINTEL = VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL, eVideoEncodeFeedbackKHR = VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, eMeshPrimitivesGeneratedEXT = VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT, @@ -3518,10 +3587,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV, eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, - eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT, #if defined( VK_ENABLE_BETA_EXTENSIONS ) - eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV + eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ + eRayTracingOpacityMicromapKHR = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_KHR, + eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT }; // wrapper using for bitmask VkPipelineCreateFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineCreateFlags.html @@ -3544,12 +3614,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineCreateFlagBits::eCaptureStatisticsKHR | PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR | PipelineCreateFlagBits::eIndirectBindableNV | PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eDescriptorBufferEXT | PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits::eLinkTimeOptimizationEXT | PipelineCreateFlagBits::eRayTracingAllowMotionNV | - PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT | - PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT + PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT #if defined( VK_ENABLE_BETA_EXTENSIONS ) | PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - ; + | PipelineCreateFlagBits::eRayTracingOpacityMicromapKHR; }; // wrapper class for enum VkPipelineLayoutCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineLayoutCreateFlagBits.html @@ -4868,7 +4937,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eImaginationOpenSourceMESA = VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA, eMesaHoneykrisp = VK_DRIVER_ID_MESA_HONEYKRISP, eVulkanScEmulationOnVulkan = VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN, - eMesaKosmickrisp = VK_DRIVER_ID_MESA_KOSMICKRISP + eMesaKosmickrisp = VK_DRIVER_ID_MESA_KOSMICKRISP, + eMesaGfxstream = VK_DRIVER_ID_MESA_GFXSTREAM, + eApeSoft = VK_DRIVER_ID_APE_SOFT, + eReserved31 = VK_DRIVER_ID_RESERVED_31 }; using DriverIdKHR = DriverId; @@ -5035,8 +5107,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ToolPurposeFlagBits::eModifyingFeatures | ToolPurposeFlagBits::eDebugReportingEXT | ToolPurposeFlagBits::eDebugMarkersEXT; }; + // wrapper class for enum VkPrivateDataSlotCreateFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPrivateDataSlotCreateFlagBits.html enum class PrivateDataSlotCreateFlagBits : VkPrivateDataSlotCreateFlags { + eBaseObjectHandleNV = VK_PRIVATE_DATA_SLOT_CREATE_BASE_OBJECT_HANDLE_BIT_NV }; using PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBits; @@ -5048,8 +5122,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE template <> struct FlagTraits { + using WrappedType = VkPrivateDataSlotCreateFlagBits; static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - static VULKAN_HPP_CONST_OR_CONSTEXPR PrivateDataSlotCreateFlags allFlags = {}; + static VULKAN_HPP_CONST_OR_CONSTEXPR PrivateDataSlotCreateFlags allFlags = PrivateDataSlotCreateFlagBits::eBaseObjectHandleNV; }; // wrapper class for enum VkPipelineStageFlagBits2, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPipelineStageFlagBits2.html @@ -5367,6 +5442,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eFragmentShadingRateAttachmentKHR = VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, eVideoEncodeInputKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR, eVideoEncodeDpbKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR, + eBlockMatchingSxdQCOM = VK_FORMAT_FEATURE_2_BLOCK_MATCHING_SXD_BIT_QCOM, eAccelerationStructureRadiusBufferNV = VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV, eLinearColorAttachmentNV = VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV, eWeightImageQCOM = VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM, @@ -5382,6 +5458,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eCopyImageIndirectDstKHR = VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR, eVideoEncodeQuantizationDeltaMapKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR, eVideoEncodeEmphasisMapKHR = VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR, + eSampledImageFilterLinear2DIMG = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_2D_BIT_IMG, eDepthCopyOnComputeQueueKHR = VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR, eDepthCopyOnTransferQueueKHR = VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR, eStencilCopyOnComputeQueueKHR = VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR, @@ -5417,16 +5494,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE FormatFeatureFlagBits2::eVideoDecodeOutputKHR | FormatFeatureFlagBits2::eVideoDecodeDpbKHR | FormatFeatureFlagBits2::eAccelerationStructureVertexBufferKHR | FormatFeatureFlagBits2::eFragmentDensityMapEXT | FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR | FormatFeatureFlagBits2::eVideoEncodeInputKHR | FormatFeatureFlagBits2::eVideoEncodeDpbKHR | - FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV | FormatFeatureFlagBits2::eLinearColorAttachmentNV | - FormatFeatureFlagBits2::eWeightImageQCOM | FormatFeatureFlagBits2::eWeightSampledImageQCOM | FormatFeatureFlagBits2::eBlockMatchingQCOM | - FormatFeatureFlagBits2::eBoxFilterSampledQCOM | FormatFeatureFlagBits2::eTensorShaderARM | FormatFeatureFlagBits2::eTensorImageAliasingARM | - FormatFeatureFlagBits2::eOpticalFlowImageNV | FormatFeatureFlagBits2::eOpticalFlowVectorNV | FormatFeatureFlagBits2::eOpticalFlowCostNV | - FormatFeatureFlagBits2::eTensorDataGraphARM | FormatFeatureFlagBits2::eCopyImageIndirectDstKHR | + FormatFeatureFlagBits2::eBlockMatchingSxdQCOM | FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV | + FormatFeatureFlagBits2::eLinearColorAttachmentNV | FormatFeatureFlagBits2::eWeightImageQCOM | FormatFeatureFlagBits2::eWeightSampledImageQCOM | + FormatFeatureFlagBits2::eBlockMatchingQCOM | FormatFeatureFlagBits2::eBoxFilterSampledQCOM | FormatFeatureFlagBits2::eTensorShaderARM | + FormatFeatureFlagBits2::eTensorImageAliasingARM | FormatFeatureFlagBits2::eOpticalFlowImageNV | FormatFeatureFlagBits2::eOpticalFlowVectorNV | + FormatFeatureFlagBits2::eOpticalFlowCostNV | FormatFeatureFlagBits2::eTensorDataGraphARM | FormatFeatureFlagBits2::eCopyImageIndirectDstKHR | FormatFeatureFlagBits2::eVideoEncodeQuantizationDeltaMapKHR | FormatFeatureFlagBits2::eVideoEncodeEmphasisMapKHR | - FormatFeatureFlagBits2::eDepthCopyOnComputeQueueKHR | FormatFeatureFlagBits2::eDepthCopyOnTransferQueueKHR | - FormatFeatureFlagBits2::eStencilCopyOnComputeQueueKHR | FormatFeatureFlagBits2::eStencilCopyOnTransferQueueKHR | - FormatFeatureFlagBits2::eDataGraphOpticalFlowImageARM | FormatFeatureFlagBits2::eDataGraphOpticalFlowVectorARM | - FormatFeatureFlagBits2::eDataGraphOpticalFlowCostARM; + FormatFeatureFlagBits2::eSampledImageFilterLinear2DIMG | FormatFeatureFlagBits2::eDepthCopyOnComputeQueueKHR | + FormatFeatureFlagBits2::eDepthCopyOnTransferQueueKHR | FormatFeatureFlagBits2::eStencilCopyOnComputeQueueKHR | + FormatFeatureFlagBits2::eStencilCopyOnTransferQueueKHR | FormatFeatureFlagBits2::eDataGraphOpticalFlowImageARM | + FormatFeatureFlagBits2::eDataGraphOpticalFlowVectorARM | FormatFeatureFlagBits2::eDataGraphOpticalFlowCostARM; }; // wrapper class for enum VkPipelineCreationFeedbackFlagBits, see @@ -5594,6 +5671,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eExecutionGraphScratchAMDX = VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ eDescriptorHeapEXT = VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT, + eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT, + eMicromapStorageEXT = VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT, eConditionalRenderingEXT = VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT, eShaderBindingTableKHR = VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR, eRayTracingNV = VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV, @@ -5608,8 +5687,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT, eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT, ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, - eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT, - eMicromapStorageEXT = VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT, #if defined( VK_ENABLE_BETA_EXTENSIONS ) eCompressedDataDgf1AMDX = VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -5638,13 +5715,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #if defined( VK_ENABLE_BETA_EXTENSIONS ) | BufferUsageFlagBits2::eExecutionGraphScratchAMDX #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - | BufferUsageFlagBits2::eDescriptorHeapEXT | BufferUsageFlagBits2::eConditionalRenderingEXT | BufferUsageFlagBits2::eShaderBindingTableKHR | - BufferUsageFlagBits2::eTransformFeedbackBufferEXT | BufferUsageFlagBits2::eTransformFeedbackCounterBufferEXT | BufferUsageFlagBits2::eVideoDecodeSrcKHR | - BufferUsageFlagBits2::eVideoDecodeDstKHR | BufferUsageFlagBits2::eVideoEncodeDstKHR | BufferUsageFlagBits2::eVideoEncodeSrcKHR | - BufferUsageFlagBits2::eAccelerationStructureBuildInputReadOnlyKHR | BufferUsageFlagBits2::eAccelerationStructureStorageKHR | - BufferUsageFlagBits2::eSamplerDescriptorBufferEXT | BufferUsageFlagBits2::eResourceDescriptorBufferEXT | - BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT | BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT | - BufferUsageFlagBits2::eMicromapStorageEXT + | BufferUsageFlagBits2::eDescriptorHeapEXT | BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits2::eMicromapStorageEXT | + BufferUsageFlagBits2::eConditionalRenderingEXT | BufferUsageFlagBits2::eShaderBindingTableKHR | BufferUsageFlagBits2::eTransformFeedbackBufferEXT | + BufferUsageFlagBits2::eTransformFeedbackCounterBufferEXT | BufferUsageFlagBits2::eVideoDecodeSrcKHR | BufferUsageFlagBits2::eVideoDecodeDstKHR | + BufferUsageFlagBits2::eVideoEncodeDstKHR | BufferUsageFlagBits2::eVideoEncodeSrcKHR | BufferUsageFlagBits2::eAccelerationStructureBuildInputReadOnlyKHR | + BufferUsageFlagBits2::eAccelerationStructureStorageKHR | BufferUsageFlagBits2::eSamplerDescriptorBufferEXT | + BufferUsageFlagBits2::eResourceDescriptorBufferEXT | BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT #if defined( VK_ENABLE_BETA_EXTENSIONS ) | BufferUsageFlagBits2::eCompressedDataDgf1AMDX #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -5719,19 +5795,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV, eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, - eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT, eColorAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, eDepthStencilAttachmentFeedbackLoopEXT = VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, #if defined( VK_ENABLE_BETA_EXTENSIONS ) eRayTracingDisplacementMicromapNV = VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - eDescriptorBufferEXT = VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT, - eDisallowOpacityMicromapARM = VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM, - eInstrumentShadersARM = VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM, - eCaptureDataKHR = VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR, - eIndirectBindableEXT = VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT, - ePerLayerFragmentDensityVALVE = VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE, - e64BitIndexingEXT = VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT + eDescriptorBufferEXT = VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT, + eDisallowOpacityMicromapARM = VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM, + eInstrumentShadersARM = VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM, + eCaptureDataKHR = VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR, + eIndirectBindableEXT = VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT, + ePerLayerFragmentDensityVALVE = VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE, + eRayTracingOpacityMicromapKHR = VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_KHR, + eRayTracingOpacityMicromapEXT = VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT, + eOpacityMicromapDisallowMixedSpecialIndexKHR = VK_PIPELINE_CREATE_2_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_KHR, + e64BitIndexingEXT = VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT }; using PipelineCreateFlagBits2KHR = PipelineCreateFlagBits2; @@ -5761,13 +5839,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineCreateFlagBits2::eRayTracingNoNullMissShadersKHR | PipelineCreateFlagBits2::eRayTracingNoNullIntersectionShadersKHR | PipelineCreateFlagBits2::eRayTracingShaderGroupHandleCaptureReplayKHR | PipelineCreateFlagBits2::eIndirectBindableNV | PipelineCreateFlagBits2::eRayTracingAllowMotionNV | PipelineCreateFlagBits2::eRenderingFragmentShadingRateAttachmentKHR | - PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits2::eRayTracingOpacityMicromapEXT | - PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT + PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT | PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT | + PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT #if defined( VK_ENABLE_BETA_EXTENSIONS ) | PipelineCreateFlagBits2::eRayTracingDisplacementMicromapNV #endif /*VK_ENABLE_BETA_EXTENSIONS*/ | PipelineCreateFlagBits2::eDescriptorBufferEXT | PipelineCreateFlagBits2::eDisallowOpacityMicromapARM | PipelineCreateFlagBits2::eInstrumentShadersARM | PipelineCreateFlagBits2::eCaptureDataKHR | PipelineCreateFlagBits2::eIndirectBindableEXT | PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE | + PipelineCreateFlagBits2::eRayTracingOpacityMicromapKHR | PipelineCreateFlagBits2::eOpacityMicromapDisallowMixedSpecialIndexKHR | PipelineCreateFlagBits2::e64BitIndexingEXT; }; @@ -5882,14 +5961,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper class for enum VkSwapchainCreateFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainCreateFlagBitsKHR.html enum class SwapchainCreateFlagBitsKHR : VkSwapchainCreateFlagsKHR { - eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, - eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, - eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR, - ePresentTimingEXT = VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT, - ePresentId2 = VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR, - ePresentWait2 = VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR, - eDeferredMemoryAllocation = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR, - eDeferredMemoryAllocationEXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT + eSplitInstanceBindRegions = VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, + eProtected = VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, + eMutableFormat = VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR, + ePresentTimingEXT = VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT, + ePresentId2 = VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR, + ePresentWait2 = VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR, + eDeferredMemoryAllocation = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR, + eDeferredMemoryAllocationEXT = VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT, + eMultisampledRenderToSingleSampledEXT = VK_SWAPCHAIN_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT }; // wrapper using for bitmask VkSwapchainCreateFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainCreateFlagsKHR.html @@ -5903,7 +5983,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR SwapchainCreateFlagsKHR allFlags = SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions | SwapchainCreateFlagBitsKHR::eProtected | SwapchainCreateFlagBitsKHR::eMutableFormat | SwapchainCreateFlagBitsKHR::ePresentTimingEXT | SwapchainCreateFlagBitsKHR::ePresentId2 | SwapchainCreateFlagBitsKHR::ePresentWait2 | - SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocation; + SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocation | SwapchainCreateFlagBitsKHR::eMultisampledRenderToSingleSampledEXT; }; // wrapper class for enum VkDeviceGroupPresentModeFlagBitsKHR, see @@ -7175,6 +7255,146 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR DebugUtilsMessengerCreateFlagsEXT allFlags = {}; }; + //=== VK_AMD_gpa_interface === + + // wrapper class for enum VkGpaSqShaderStageFlagBitsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSqShaderStageFlagBitsAMD.html + enum class GpaSqShaderStageFlagBitsAMD : VkGpaSqShaderStageFlagsAMD + { + ePs = VK_GPA_SQ_SHADER_STAGE_PS_BIT_AMD, + eVs = VK_GPA_SQ_SHADER_STAGE_VS_BIT_AMD, + eGs = VK_GPA_SQ_SHADER_STAGE_GS_BIT_AMD, + eEs = VK_GPA_SQ_SHADER_STAGE_ES_BIT_AMD, + eHs = VK_GPA_SQ_SHADER_STAGE_HS_BIT_AMD, + eLs = VK_GPA_SQ_SHADER_STAGE_LS_BIT_AMD, + eCs = VK_GPA_SQ_SHADER_STAGE_CS_BIT_AMD + }; + + // wrapper using for bitmask VkGpaSqShaderStageFlagsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSqShaderStageFlagsAMD.html + using GpaSqShaderStageFlagsAMD = Flags; + + template <> + struct FlagTraits + { + using WrappedType = VkGpaSqShaderStageFlagBitsAMD; + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR GpaSqShaderStageFlagsAMD allFlags = + GpaSqShaderStageFlagBitsAMD::ePs | GpaSqShaderStageFlagBitsAMD::eVs | GpaSqShaderStageFlagBitsAMD::eGs | GpaSqShaderStageFlagBitsAMD::eEs | + GpaSqShaderStageFlagBitsAMD::eHs | GpaSqShaderStageFlagBitsAMD::eLs | GpaSqShaderStageFlagBitsAMD::eCs; + }; + + // wrapper class for enum VkGpaPerfBlockAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaPerfBlockAMD.html + enum class GpaPerfBlockAMD + { + eCpf = VK_GPA_PERF_BLOCK_CPF_AMD, + eIa = VK_GPA_PERF_BLOCK_IA_AMD, + eVgt = VK_GPA_PERF_BLOCK_VGT_AMD, + ePa = VK_GPA_PERF_BLOCK_PA_AMD, + eSc = VK_GPA_PERF_BLOCK_SC_AMD, + eSpi = VK_GPA_PERF_BLOCK_SPI_AMD, + eSq = VK_GPA_PERF_BLOCK_SQ_AMD, + eSx = VK_GPA_PERF_BLOCK_SX_AMD, + eTa = VK_GPA_PERF_BLOCK_TA_AMD, + eTd = VK_GPA_PERF_BLOCK_TD_AMD, + eTcp = VK_GPA_PERF_BLOCK_TCP_AMD, + eTcc = VK_GPA_PERF_BLOCK_TCC_AMD, + eTca = VK_GPA_PERF_BLOCK_TCA_AMD, + eDb = VK_GPA_PERF_BLOCK_DB_AMD, + eCb = VK_GPA_PERF_BLOCK_CB_AMD, + eGds = VK_GPA_PERF_BLOCK_GDS_AMD, + eSrbm = VK_GPA_PERF_BLOCK_SRBM_AMD, + eGrbm = VK_GPA_PERF_BLOCK_GRBM_AMD, + eGrbmSe = VK_GPA_PERF_BLOCK_GRBM_SE_AMD, + eRlc = VK_GPA_PERF_BLOCK_RLC_AMD, + eDma = VK_GPA_PERF_BLOCK_DMA_AMD, + eMc = VK_GPA_PERF_BLOCK_MC_AMD, + eCpg = VK_GPA_PERF_BLOCK_CPG_AMD, + eCpc = VK_GPA_PERF_BLOCK_CPC_AMD, + eWd = VK_GPA_PERF_BLOCK_WD_AMD, + eTcs = VK_GPA_PERF_BLOCK_TCS_AMD, + eAtc = VK_GPA_PERF_BLOCK_ATC_AMD, + eAtcL2 = VK_GPA_PERF_BLOCK_ATC_L2_AMD, + eMcVmL2 = VK_GPA_PERF_BLOCK_MC_VM_L2_AMD, + eEa = VK_GPA_PERF_BLOCK_EA_AMD, + eRpb = VK_GPA_PERF_BLOCK_RPB_AMD, + eRmi = VK_GPA_PERF_BLOCK_RMI_AMD, + eUmcch = VK_GPA_PERF_BLOCK_UMCCH_AMD, + eGe = VK_GPA_PERF_BLOCK_GE_AMD, + eGe1 = VK_GPA_PERF_BLOCK_GE1_AMD, + eGl1A = VK_GPA_PERF_BLOCK_GL1A_AMD, + eGl1C = VK_GPA_PERF_BLOCK_GL1C_AMD, + eGl1Cg = VK_GPA_PERF_BLOCK_GL1CG_AMD, + eGl2A = VK_GPA_PERF_BLOCK_GL2A_AMD, + eGl2C = VK_GPA_PERF_BLOCK_GL2C_AMD, + eCha = VK_GPA_PERF_BLOCK_CHA_AMD, + eChc = VK_GPA_PERF_BLOCK_CHC_AMD, + eChcg = VK_GPA_PERF_BLOCK_CHCG_AMD, + eGus = VK_GPA_PERF_BLOCK_GUS_AMD, + eGcr = VK_GPA_PERF_BLOCK_GCR_AMD, + ePh = VK_GPA_PERF_BLOCK_PH_AMD, + eUtcl1 = VK_GPA_PERF_BLOCK_UTCL1_AMD, + eGeDist = VK_GPA_PERF_BLOCK_GE_DIST_AMD, + eGeSe = VK_GPA_PERF_BLOCK_GE_SE_AMD, + eDfMall = VK_GPA_PERF_BLOCK_DF_MALL_AMD, + eSqWgp = VK_GPA_PERF_BLOCK_SQ_WGP_AMD, + ePc = VK_GPA_PERF_BLOCK_PC_AMD, + eGl1Xa = VK_GPA_PERF_BLOCK_GL1XA_AMD, + eGl1Xc = VK_GPA_PERF_BLOCK_GL1XC_AMD, + eWgs = VK_GPA_PERF_BLOCK_WGS_AMD, + eEacpwd = VK_GPA_PERF_BLOCK_EACPWD_AMD, + eEase = VK_GPA_PERF_BLOCK_EASE_AMD, + eRlcuser = VK_GPA_PERF_BLOCK_RLCUSER_AMD, + eRlclocal = VK_GPA_PERF_BLOCK_RLCLOCAL_AMD + }; + + // wrapper class for enum VkGpaSampleTypeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSampleTypeAMD.html + enum class GpaSampleTypeAMD + { + eCumulative = VK_GPA_SAMPLE_TYPE_CUMULATIVE_AMD, + eTrace = VK_GPA_SAMPLE_TYPE_TRACE_AMD, + eTiming = VK_GPA_SAMPLE_TYPE_TIMING_AMD + }; + + // wrapper class for enum VkGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaDeviceClockModeAMD.html + enum class GpaDeviceClockModeAMD + { + eDefault = VK_GPA_DEVICE_CLOCK_MODE_DEFAULT_AMD, + eQuery = VK_GPA_DEVICE_CLOCK_MODE_QUERY_AMD, + eProfiling = VK_GPA_DEVICE_CLOCK_MODE_PROFILING_AMD, + eMinMemory = VK_GPA_DEVICE_CLOCK_MODE_MIN_MEMORY_AMD, + eMinEngine = VK_GPA_DEVICE_CLOCK_MODE_MIN_ENGINE_AMD, + ePeak = VK_GPA_DEVICE_CLOCK_MODE_PEAK_AMD + }; + + enum class GpaPerfBlockPropertiesFlagBitsAMD : VkGpaPerfBlockPropertiesFlagsAMD + { + }; + + // wrapper using for bitmask VkGpaPerfBlockPropertiesFlagsAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaPerfBlockPropertiesFlagsAMD.html + using GpaPerfBlockPropertiesFlagsAMD = Flags; + + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR GpaPerfBlockPropertiesFlagsAMD allFlags = {}; + }; + + enum class PhysicalDeviceGpaPropertiesFlagBitsAMD : VkPhysicalDeviceGpaPropertiesFlagsAMD + { + }; + + // wrapper using for bitmask VkPhysicalDeviceGpaPropertiesFlagsAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceGpaPropertiesFlagsAMD.html + using PhysicalDeviceGpaPropertiesFlagsAMD = Flags; + + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR PhysicalDeviceGpaPropertiesFlagsAMD allFlags = {}; + }; + //=== VK_EXT_descriptor_heap === // wrapper class for enum VkDescriptorMappingSourceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDescriptorMappingSourceEXT.html @@ -7273,11 +7493,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper class for enum VkAccelerationStructureTypeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureTypeKHR.html enum class AccelerationStructureTypeKHR { - eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, - eTopLevelNV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV, - eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, - eBottomLevelNV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV, - eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR + eTopLevel = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, + eTopLevelNV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV, + eBottomLevel = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, + eBottomLevelNV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV, + eGeneric = VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR, + eOpacityMicromap = VK_ACCELERATION_STRUCTURE_TYPE_OPACITY_MICROMAP_KHR }; using AccelerationStructureTypeNV = AccelerationStructureTypeKHR; @@ -7327,7 +7548,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eForceOpaqueNV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV, eForceNoOpaque = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, eForceNoOpaqueNV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV, + eForceOpacityMicromap2State = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_KHR, eForceOpacityMicromap2StateEXT = VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT, + eDisableOpacityMicromaps = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_KHR, eDisableOpacityMicromapsEXT = VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT }; @@ -7344,8 +7567,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; static VULKAN_HPP_CONST_OR_CONSTEXPR GeometryInstanceFlagsKHR allFlags = GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable | GeometryInstanceFlagBitsKHR::eTriangleFlipFacing | GeometryInstanceFlagBitsKHR::eForceOpaque | - GeometryInstanceFlagBitsKHR::eForceNoOpaque | GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT | - GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT; + GeometryInstanceFlagBitsKHR::eForceNoOpaque | GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2State | + GeometryInstanceFlagBitsKHR::eDisableOpacityMicromaps; }; // wrapper class for enum VkBuildAccelerationStructureFlagBitsKHR, see @@ -7363,15 +7586,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eLowMemory = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, eLowMemoryNV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV, eMotionNV = VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV, - eAllowOpacityMicromapUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT, - eAllowDisableOpacityMicromapsEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT, eAllowOpacityMicromapDataUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT, #if defined( VK_ENABLE_BETA_EXTENSIONS ) eAllowDisplacementMicromapUpdateNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV, eAllowDisplacementMicromapUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - eAllowDataAccess = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR, - eAllowClusterOpacityMicromapsNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV + eAllowDataAccess = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR, + eAllowClusterOpacityMicromapsNV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV, + eAllowOpacityMicromapUpdate = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_KHR, + eAllowOpacityMicromapUpdateEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT, + eAllowDisableOpacityMicromaps = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_KHR, + eAllowDisableOpacityMicromapsEXT = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT, + eMicromapLossy = VK_BUILD_ACCELERATION_STRUCTURE_MICROMAP_LOSSY_BIT_KHR }; using BuildAccelerationStructureFlagBitsNV = BuildAccelerationStructureFlagBitsKHR; @@ -7390,12 +7616,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE BuildAccelerationStructureFlagBitsKHR::eAllowUpdate | BuildAccelerationStructureFlagBitsKHR::eAllowCompaction | BuildAccelerationStructureFlagBitsKHR::ePreferFastTrace | BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild | BuildAccelerationStructureFlagBitsKHR::eLowMemory | BuildAccelerationStructureFlagBitsKHR::eMotionNV | - BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT | BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT | BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT #if defined( VK_ENABLE_BETA_EXTENSIONS ) | BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - | BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess | BuildAccelerationStructureFlagBitsKHR::eAllowClusterOpacityMicromapsNV; + | BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess | BuildAccelerationStructureFlagBitsKHR::eAllowClusterOpacityMicromapsNV | + BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdate | BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromaps | + BuildAccelerationStructureFlagBitsKHR::eMicromapLossy; }; // wrapper class for enum VkCopyAccelerationStructureModeKHR, see @@ -7423,8 +7650,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eSpheresNV = VK_GEOMETRY_TYPE_SPHERES_NV, eLinearSweptSpheresNV = VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV, #if defined( VK_ENABLE_BETA_EXTENSIONS ) - eDenseGeometryFormatTrianglesAMDX = VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX + eDenseGeometryFormatTrianglesAMDX = VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX, #endif /*VK_ENABLE_BETA_EXTENSIONS*/ + eMicromap = VK_GEOMETRY_TYPE_MICROMAP_KHR }; using GeometryTypeNV = GeometryTypeKHR; @@ -8007,7 +8235,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { eBitstreamBufferOffset = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR, eBitstreamBytesWritten = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR, - eBitstreamHasOverrides = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR + eBitstreamHasOverrides = VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR, + eAverageQuantization = VK_VIDEO_ENCODE_FEEDBACK_AVERAGE_QUANTIZATION_BIT_KHR, + eMinQuantization = VK_VIDEO_ENCODE_FEEDBACK_MIN_QUANTIZATION_BIT_KHR, + eMaxQuantization = VK_VIDEO_ENCODE_FEEDBACK_MAX_QUANTIZATION_BIT_KHR, + eIntraPixels = VK_VIDEO_ENCODE_FEEDBACK_INTRA_PIXELS_BIT_KHR, + eInterPixels = VK_VIDEO_ENCODE_FEEDBACK_INTER_PIXELS_BIT_KHR, + eSkippedPixels = VK_VIDEO_ENCODE_FEEDBACK_SKIPPED_PIXELS_BIT_KHR, + ePicturePartitionCount = VK_VIDEO_ENCODE_FEEDBACK_PICTURE_PARTITION_COUNT_BIT_KHR }; // wrapper using for bitmask VkVideoEncodeFeedbackFlagsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFeedbackFlagsKHR.html @@ -8018,9 +8253,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { using WrappedType = VkVideoEncodeFeedbackFlagBitsKHR; static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; - static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags = VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset | - VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten | - VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides; + static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodeFeedbackFlagsKHR allFlags = + VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset | VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten | + VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides | VideoEncodeFeedbackFlagBitsKHR::eAverageQuantization | + VideoEncodeFeedbackFlagBitsKHR::eMinQuantization | VideoEncodeFeedbackFlagBitsKHR::eMaxQuantization | VideoEncodeFeedbackFlagBitsKHR::eIntraPixels | + VideoEncodeFeedbackFlagBitsKHR::eInterPixels | VideoEncodeFeedbackFlagBitsKHR::eSkippedPixels | VideoEncodeFeedbackFlagBitsKHR::ePicturePartitionCount; }; // wrapper class for enum VkVideoEncodeUsageFlagBitsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeUsageFlagBitsKHR.html @@ -8684,24 +8921,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eBuild = VK_BUILD_MICROMAP_MODE_BUILD_EXT }; - // wrapper class for enum VkOpacityMicromapFormatEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapFormatEXT.html - enum class OpacityMicromapFormatEXT - { - e2State = VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT, - e4State = VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT - }; - - // wrapper class for enum VkOpacityMicromapSpecialIndexEXT, see - // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapSpecialIndexEXT.html - enum class OpacityMicromapSpecialIndexEXT - { - eFullyTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT, - eFullyOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT, - eFullyUnknownTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT, - eFullyUnknownOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT, - eClusterGeometryDisableOpacityMicromapNV = VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV - }; - #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_displacement_micromap === @@ -8850,8 +9069,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper class for enum VkTensorTilingARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorTilingARM.html enum class TensorTilingARM { - eOptimal = VK_TENSOR_TILING_OPTIMAL_ARM, - eLinear = VK_TENSOR_TILING_LINEAR_ARM + eOptimal = VK_TENSOR_TILING_OPTIMAL_ARM, + eLinear = VK_TENSOR_TILING_LINEAR_ARM, + eBrick16Wide = VK_TENSOR_TILING_BRICK_16_WIDE_ARM, + eBrick8Wide = VK_TENSOR_TILING_BRICK_8_WIDE_ARM, + eBrick4Wide = VK_TENSOR_TILING_BRICK_4_WIDE_ARM, + eBlockUInterleaved = VK_TENSOR_TILING_BLOCK_U_INTERLEAVED_ARM, + eBlockUInterleaved64K = VK_TENSOR_TILING_BLOCK_U_INTERLEAVED_64K_ARM }; //=== VK_NV_optical_flow === @@ -9003,18 +9227,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper class for enum VkShaderCreateFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCreateFlagBitsEXT.html enum class ShaderCreateFlagBitsEXT : VkShaderCreateFlagsEXT { - eLinkStage = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT, - eDescriptorHeap = VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT, - eInstrumentShaderARM = VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM, - eAllowVaryingSubgroupSize = VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, - eRequireFullSubgroups = VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT, - eNoTaskShader = VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT, - eDispatchBase = VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT, - eFragmentShadingRateAttachment = VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT, - eFragmentDensityMapAttachment = VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, - eIndirectBindable = VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT, - e64BitIndexing = VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT, - eIndependentSetsKHR = VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR + eLinkStage = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT, + eDescriptorHeap = VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT, + eInstrumentShaderARM = VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM, + eAllowVaryingSubgroupSize = VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, + eRequireFullSubgroups = VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT, + eNoTaskShader = VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT, + eDispatchBase = VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT, + eFragmentShadingRateAttachment = VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT, + eFragmentDensityMapAttachment = VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, + eIndirectBindable = VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT, + eOpacityMicromapDisallowMixedSpecialIndex = VK_SHADER_CREATE_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT, + e64BitIndexing = VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT, + eIndependentSetsKHR = VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR }; // wrapper using for bitmask VkShaderCreateFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkShaderCreateFlagsEXT.html @@ -9029,7 +9254,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ShaderCreateFlagBitsEXT::eLinkStage | ShaderCreateFlagBitsEXT::eDescriptorHeap | ShaderCreateFlagBitsEXT::eInstrumentShaderARM | ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize | ShaderCreateFlagBitsEXT::eRequireFullSubgroups | ShaderCreateFlagBitsEXT::eNoTaskShader | ShaderCreateFlagBitsEXT::eDispatchBase | ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment | - ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment | ShaderCreateFlagBitsEXT::eIndirectBindable | ShaderCreateFlagBitsEXT::e64BitIndexing | + ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment | ShaderCreateFlagBitsEXT::eIndirectBindable | + ShaderCreateFlagBitsEXT::eOpacityMicromapDisallowMixedSpecialIndex | ShaderCreateFlagBitsEXT::e64BitIndexing | ShaderCreateFlagBitsEXT::eIndependentSetsKHR; }; @@ -9109,37 +9335,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper class for enum VkComponentTypeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkComponentTypeKHR.html enum class ComponentTypeKHR { - eFloat16 = VK_COMPONENT_TYPE_FLOAT16_KHR, - eFloat16NV = VK_COMPONENT_TYPE_FLOAT16_NV, - eFloat32 = VK_COMPONENT_TYPE_FLOAT32_KHR, - eFloat32NV = VK_COMPONENT_TYPE_FLOAT32_NV, - eFloat64 = VK_COMPONENT_TYPE_FLOAT64_KHR, - eFloat64NV = VK_COMPONENT_TYPE_FLOAT64_NV, - eSint8 = VK_COMPONENT_TYPE_SINT8_KHR, - eSint8NV = VK_COMPONENT_TYPE_SINT8_NV, - eSint16 = VK_COMPONENT_TYPE_SINT16_KHR, - eSint16NV = VK_COMPONENT_TYPE_SINT16_NV, - eSint32 = VK_COMPONENT_TYPE_SINT32_KHR, - eSint32NV = VK_COMPONENT_TYPE_SINT32_NV, - eSint64 = VK_COMPONENT_TYPE_SINT64_KHR, - eSint64NV = VK_COMPONENT_TYPE_SINT64_NV, - eUint8 = VK_COMPONENT_TYPE_UINT8_KHR, - eUint8NV = VK_COMPONENT_TYPE_UINT8_NV, - eUint16 = VK_COMPONENT_TYPE_UINT16_KHR, - eUint16NV = VK_COMPONENT_TYPE_UINT16_NV, - eUint32 = VK_COMPONENT_TYPE_UINT32_KHR, - eUint32NV = VK_COMPONENT_TYPE_UINT32_NV, - eUint64 = VK_COMPONENT_TYPE_UINT64_KHR, - eUint64NV = VK_COMPONENT_TYPE_UINT64_NV, - eBfloat16 = VK_COMPONENT_TYPE_BFLOAT16_KHR, - eSint8PackedNV = VK_COMPONENT_TYPE_SINT8_PACKED_NV, - eUint8PackedNV = VK_COMPONENT_TYPE_UINT8_PACKED_NV, - eFloat8E4M3EXT = VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT, - eFloatE4M3 = VK_COMPONENT_TYPE_FLOAT_E4M3_NV, - eFloatE4M3NV = VK_COMPONENT_TYPE_FLOAT_E4M3_NV, - eFloat8E5M2EXT = VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT, - eFloatE5M2 = VK_COMPONENT_TYPE_FLOAT_E5M2_NV, - eFloatE5M2NV = VK_COMPONENT_TYPE_FLOAT_E5M2_NV + eFloat16 = VK_COMPONENT_TYPE_FLOAT16_KHR, + eFloat16NV = VK_COMPONENT_TYPE_FLOAT16_NV, + eFloat32 = VK_COMPONENT_TYPE_FLOAT32_KHR, + eFloat32NV = VK_COMPONENT_TYPE_FLOAT32_NV, + eFloat64 = VK_COMPONENT_TYPE_FLOAT64_KHR, + eFloat64NV = VK_COMPONENT_TYPE_FLOAT64_NV, + eSint8 = VK_COMPONENT_TYPE_SINT8_KHR, + eSint8NV = VK_COMPONENT_TYPE_SINT8_NV, + eSint16 = VK_COMPONENT_TYPE_SINT16_KHR, + eSint16NV = VK_COMPONENT_TYPE_SINT16_NV, + eSint32 = VK_COMPONENT_TYPE_SINT32_KHR, + eSint32NV = VK_COMPONENT_TYPE_SINT32_NV, + eSint64 = VK_COMPONENT_TYPE_SINT64_KHR, + eSint64NV = VK_COMPONENT_TYPE_SINT64_NV, + eUint8 = VK_COMPONENT_TYPE_UINT8_KHR, + eUint8NV = VK_COMPONENT_TYPE_UINT8_NV, + eUint16 = VK_COMPONENT_TYPE_UINT16_KHR, + eUint16NV = VK_COMPONENT_TYPE_UINT16_NV, + eUint32 = VK_COMPONENT_TYPE_UINT32_KHR, + eUint32NV = VK_COMPONENT_TYPE_UINT32_NV, + eUint64 = VK_COMPONENT_TYPE_UINT64_KHR, + eUint64NV = VK_COMPONENT_TYPE_UINT64_NV, + eBfloat16 = VK_COMPONENT_TYPE_BFLOAT16_KHR, + eSint8PackedNV = VK_COMPONENT_TYPE_SINT8_PACKED_NV, + eUint8PackedNV = VK_COMPONENT_TYPE_UINT8_PACKED_NV, + eFloat8E4M3EXT = VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT, + eFloatE4M3 = VK_COMPONENT_TYPE_FLOAT_E4M3_NV, + eFloatE4M3NV = VK_COMPONENT_TYPE_FLOAT_E4M3_NV, + eFloat8E5M2EXT = VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT, + eFloatE5M2 = VK_COMPONENT_TYPE_FLOAT_E5M2_NV, + eFloatE5M2NV = VK_COMPONENT_TYPE_FLOAT_E5M2_NV, + eFloat6E2M3EXT = VK_COMPONENT_TYPE_FLOAT6_E2M3_EXT, + eFloat6E3M2EXT = VK_COMPONENT_TYPE_FLOAT6_E3M2_EXT, + eFloat4E2M1EXT = VK_COMPONENT_TYPE_FLOAT4_E2M1_EXT, + eFloat8UnsignedE8M0EXT = VK_COMPONENT_TYPE_FLOAT8_UNSIGNED_E8M0_EXT, + eMxint8EXT = VK_COMPONENT_TYPE_MXINT8_EXT }; using ComponentTypeNV = ComponentTypeKHR; @@ -10016,6 +10247,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_OHOS*/ + //=== VK_KHR_video_encode_feedback2 === + + // wrapper class for enum VkVideoEncodePerPartitionFeedbackFlagBitsKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodePerPartitionFeedbackFlagBitsKHR.html + enum class VideoEncodePerPartitionFeedbackFlagBitsKHR : VkVideoEncodePerPartitionFeedbackFlagsKHR + { + eStatus = VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_STATUS_BIT_KHR, + eBitstreamBufferOffset = VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR, + eBitstreamBytesWritten = VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR + }; + + // wrapper using for bitmask VkVideoEncodePerPartitionFeedbackFlagsKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodePerPartitionFeedbackFlagsKHR.html + using VideoEncodePerPartitionFeedbackFlagsKHR = Flags; + + template <> + struct FlagTraits + { + using WrappedType = VkVideoEncodePerPartitionFeedbackFlagBitsKHR; + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR VideoEncodePerPartitionFeedbackFlagsKHR allFlags = VideoEncodePerPartitionFeedbackFlagBitsKHR::eStatus | + VideoEncodePerPartitionFeedbackFlagBitsKHR::eBitstreamBufferOffset | + VideoEncodePerPartitionFeedbackFlagBitsKHR::eBitstreamBytesWritten; + }; + //=== VK_ARM_performance_counters_by_region === enum class PerformanceCounterDescriptionFlagBitsARM : VkPerformanceCounterDescriptionFlagsARM @@ -10050,6 +10306,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR ShaderInstrumentationValuesFlagsARM allFlags = {}; }; + //=== VK_KHR_opacity_micromap === + + // wrapper class for enum VkOpacityMicromapFormatKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapFormatKHR.html + enum class OpacityMicromapFormatKHR + { + e2State = VK_OPACITY_MICROMAP_FORMAT_2_STATE_KHR, + e2StateEXT = VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT, + e4State = VK_OPACITY_MICROMAP_FORMAT_4_STATE_KHR, + e4StateEXT = VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT + }; + + using OpacityMicromapFormatEXT = OpacityMicromapFormatKHR; + + // wrapper class for enum VkOpacityMicromapSpecialIndexKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpacityMicromapSpecialIndexKHR.html + enum class OpacityMicromapSpecialIndexKHR + { + eFullyTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_KHR, + eFullyTransparentEXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT, + eFullyOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_KHR, + eFullyOpaqueEXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT, + eFullyUnknownTransparent = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_KHR, + eFullyUnknownTransparentEXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT, + eFullyUnknownOpaque = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_KHR, + eFullyUnknownOpaqueEXT = VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT, + eClusterGeometryDisableOpacityMicromapNV = VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV + }; + + using OpacityMicromapSpecialIndexEXT = OpacityMicromapSpecialIndexKHR; + + // wrapper class for enum VkAccelerationStructureSerializedBlockTypeKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureSerializedBlockTypeKHR.html + enum class AccelerationStructureSerializedBlockTypeKHR + { + eOpacityMicromap = VK_ACCELERATION_STRUCTURE_SERIALIZED_BLOCK_TYPE_OPACITY_MICROMAP_KHR + }; + //=== VK_QCOM_data_graph_model === // wrapper class for enum VkDataGraphModelCacheTypeQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDataGraphModelCacheTypeQCOM.html @@ -10229,6 +10522,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eOpticalFlowCost = VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_COST_ARM }; + //=== VK_EXT_cooperative_matrix_maintenance1 === + + // wrapper class for enum VkCooperativeMatrixFlagBitsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixFlagBitsEXT.html + enum class CooperativeMatrixFlagBitsEXT : VkCooperativeMatrixFlagsEXT + { + eSaturatingAccumulation = VK_COOPERATIVE_MATRIX_SATURATING_ACCUMULATION_BIT_EXT + }; + + // wrapper using for bitmask VkCooperativeMatrixFlagsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixFlagsEXT.html + using CooperativeMatrixFlagsEXT = Flags; + + template <> + struct FlagTraits + { + using WrappedType = VkCooperativeMatrixFlagBitsEXT; + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR CooperativeMatrixFlagsEXT allFlags = CooperativeMatrixFlagBitsEXT::eSaturatingAccumulation; + }; + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === @@ -10247,6 +10559,116 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; #endif /*VK_USE_PLATFORM_UBM_SEC*/ + //=== VK_KHR_extended_flags === + + enum class FormatFeatureFlagBits4KHR : VkFormatFeatureFlags4KHR + { + }; + + // wrapper using for bitmask VkFormatFeatureFlags4KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatFeatureFlags4KHR.html + using FormatFeatureFlags4KHR = Flags; + + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR FormatFeatureFlags4KHR allFlags = {}; + }; + + // wrapper class for enum VkImageUsageFlagBits2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageUsageFlagBits2KHR.html + enum class ImageUsageFlagBits2KHR : VkImageUsageFlags2KHR + { + eTransferSrc = VK_IMAGE_USAGE_2_TRANSFER_SRC_BIT_KHR, + eTransferDst = VK_IMAGE_USAGE_2_TRANSFER_DST_BIT_KHR, + eSampled = VK_IMAGE_USAGE_2_SAMPLED_BIT_KHR, + eStorage = VK_IMAGE_USAGE_2_STORAGE_BIT_KHR, + eColorAttachment = VK_IMAGE_USAGE_2_COLOR_ATTACHMENT_BIT_KHR, + eDepthStencilAttachment = VK_IMAGE_USAGE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR, + eTransientAttachment = VK_IMAGE_USAGE_2_TRANSIENT_ATTACHMENT_BIT_KHR, + eInputAttachment = VK_IMAGE_USAGE_2_INPUT_ATTACHMENT_BIT_KHR, + eFragmentShadingRateAttachment = VK_IMAGE_USAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + eFragmentDensityMapEXT = VK_IMAGE_USAGE_2_FRAGMENT_DENSITY_MAP_BIT_EXT, + eVideoDecodeDst = VK_IMAGE_USAGE_2_VIDEO_DECODE_DST_BIT_KHR, + eVideoDecodeSrc = VK_IMAGE_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR, + eVideoDecodeDpb = VK_IMAGE_USAGE_2_VIDEO_DECODE_DPB_BIT_KHR, + eVideoEncodeDst = VK_IMAGE_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR, + eVideoEncodeSrc = VK_IMAGE_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR, + eVideoEncodeDpb = VK_IMAGE_USAGE_2_VIDEO_ENCODE_DPB_BIT_KHR, + eInvocationMaskHUAWEI = VK_IMAGE_USAGE_2_INVOCATION_MASK_BIT_HUAWEI, + eAttachmentFeedbackLoopEXT = VK_IMAGE_USAGE_2_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT, + eSampleWeightQCOM = VK_IMAGE_USAGE_2_SAMPLE_WEIGHT_BIT_QCOM, + eSampleBlockMatchQCOM = VK_IMAGE_USAGE_2_SAMPLE_BLOCK_MATCH_BIT_QCOM, + eHostTransfer = VK_IMAGE_USAGE_2_HOST_TRANSFER_BIT_KHR, + eTensorAliasingARM = VK_IMAGE_USAGE_2_TENSOR_ALIASING_BIT_ARM, + eVideoEncodeQuantizationDeltaMap = VK_IMAGE_USAGE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR, + eVideoEncodeEmphasisMap = VK_IMAGE_USAGE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR, + eTileMemoryQCOM = VK_IMAGE_USAGE_2_TILE_MEMORY_BIT_QCOM + }; + + // wrapper using for bitmask VkImageUsageFlags2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageUsageFlags2KHR.html + using ImageUsageFlags2KHR = Flags; + + template <> + struct FlagTraits + { + using WrappedType = VkImageUsageFlagBits2KHR; + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR ImageUsageFlags2KHR allFlags = + ImageUsageFlagBits2KHR::eTransferSrc | ImageUsageFlagBits2KHR::eTransferDst | ImageUsageFlagBits2KHR::eSampled | ImageUsageFlagBits2KHR::eStorage | + ImageUsageFlagBits2KHR::eColorAttachment | ImageUsageFlagBits2KHR::eDepthStencilAttachment | ImageUsageFlagBits2KHR::eTransientAttachment | + ImageUsageFlagBits2KHR::eInputAttachment | ImageUsageFlagBits2KHR::eFragmentShadingRateAttachment | ImageUsageFlagBits2KHR::eFragmentDensityMapEXT | + ImageUsageFlagBits2KHR::eVideoDecodeDst | ImageUsageFlagBits2KHR::eVideoDecodeSrc | ImageUsageFlagBits2KHR::eVideoDecodeDpb | + ImageUsageFlagBits2KHR::eVideoEncodeDst | ImageUsageFlagBits2KHR::eVideoEncodeSrc | ImageUsageFlagBits2KHR::eVideoEncodeDpb | + ImageUsageFlagBits2KHR::eInvocationMaskHUAWEI | ImageUsageFlagBits2KHR::eAttachmentFeedbackLoopEXT | ImageUsageFlagBits2KHR::eSampleWeightQCOM | + ImageUsageFlagBits2KHR::eSampleBlockMatchQCOM | ImageUsageFlagBits2KHR::eHostTransfer | ImageUsageFlagBits2KHR::eTensorAliasingARM | + ImageUsageFlagBits2KHR::eVideoEncodeQuantizationDeltaMap | ImageUsageFlagBits2KHR::eVideoEncodeEmphasisMap | ImageUsageFlagBits2KHR::eTileMemoryQCOM; + }; + + // wrapper class for enum VkImageCreateFlagBits2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateFlagBits2KHR.html + enum class ImageCreateFlagBits2KHR : VkImageCreateFlags2KHR + { + eSparseBinding = VK_IMAGE_CREATE_2_SPARSE_BINDING_BIT_KHR, + eSparseResidency = VK_IMAGE_CREATE_2_SPARSE_RESIDENCY_BIT_KHR, + eSparseAliased = VK_IMAGE_CREATE_2_SPARSE_ALIASED_BIT_KHR, + eMutableFormat = VK_IMAGE_CREATE_2_MUTABLE_FORMAT_BIT_KHR, + eCubeCompatible = VK_IMAGE_CREATE_2_CUBE_COMPATIBLE_BIT_KHR, + eAliasSingleLayerDescriptor = VK_IMAGE_CREATE_2_ALIAS_SINGLE_LAYER_DESCRIPTOR_BIT_KHR, + e2DArrayCompatible = VK_IMAGE_CREATE_2_2D_ARRAY_COMPATIBLE_BIT_KHR, + eSplitInstanceBindRegions = VK_IMAGE_CREATE_2_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, + eBlockTexelViewCompatible = VK_IMAGE_CREATE_2_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR, + eExtendedUsage = VK_IMAGE_CREATE_2_EXTENDED_USAGE_BIT_KHR, + eDisjoint = VK_IMAGE_CREATE_2_DISJOINT_BIT_KHR, + eAlias = VK_IMAGE_CREATE_2_ALIAS_BIT_KHR, + eProtected = VK_IMAGE_CREATE_2_PROTECTED_BIT_KHR, + eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_2_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, + eCornerSampledNV = VK_IMAGE_CREATE_2_CORNER_SAMPLED_BIT_NV, + eSubsampledEXT = VK_IMAGE_CREATE_2_SUBSAMPLED_BIT_EXT, + eFragmentDensityMapOffsetEXT = VK_IMAGE_CREATE_2_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT, + eDescriptorBufferCaptureReplayEXT = VK_IMAGE_CREATE_2_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, + e2DViewCompatibleEXT = VK_IMAGE_CREATE_2_2D_VIEW_COMPATIBLE_BIT_EXT, + eMultisampledRenderToSingleSampledEXT = VK_IMAGE_CREATE_2_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT, + eVideoProfileIndependent = VK_IMAGE_CREATE_2_VIDEO_PROFILE_INDEPENDENT_BIT_KHR + }; + + // wrapper using for bitmask VkImageCreateFlags2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateFlags2KHR.html + using ImageCreateFlags2KHR = Flags; + + template <> + struct FlagTraits + { + using WrappedType = VkImageCreateFlagBits2KHR; + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR ImageCreateFlags2KHR allFlags = + ImageCreateFlagBits2KHR::eSparseBinding | ImageCreateFlagBits2KHR::eSparseResidency | ImageCreateFlagBits2KHR::eSparseAliased | + ImageCreateFlagBits2KHR::eMutableFormat | ImageCreateFlagBits2KHR::eCubeCompatible | ImageCreateFlagBits2KHR::eAliasSingleLayerDescriptor | + ImageCreateFlagBits2KHR::e2DArrayCompatible | ImageCreateFlagBits2KHR::eSplitInstanceBindRegions | ImageCreateFlagBits2KHR::eBlockTexelViewCompatible | + ImageCreateFlagBits2KHR::eExtendedUsage | ImageCreateFlagBits2KHR::eDisjoint | ImageCreateFlagBits2KHR::eAlias | ImageCreateFlagBits2KHR::eProtected | + ImageCreateFlagBits2KHR::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits2KHR::eCornerSampledNV | ImageCreateFlagBits2KHR::eSubsampledEXT | + ImageCreateFlagBits2KHR::eFragmentDensityMapOffsetEXT | ImageCreateFlagBits2KHR::eDescriptorBufferCaptureReplayEXT | + ImageCreateFlagBits2KHR::e2DViewCompatibleEXT | ImageCreateFlagBits2KHR::eMultisampledRenderToSingleSampledEXT | + ImageCreateFlagBits2KHR::eVideoProfileIndependent; + }; + //=== VK_SEC_throttle_hint === // wrapper class for enum VkThrottleHintTypeSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkThrottleHintTypeSEC.html @@ -10268,6 +10690,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eStatistics1 = VK_NEURAL_ACCELERATOR_STATISTICS_MODE_STATISTICS1_ARM }; + //=== VK_EXT_image_tiling_control === + + // wrapper class for enum VkImageTilingControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageTilingControlEXT.html + enum class ImageTilingControlEXT + { + eDefault = VK_IMAGE_TILING_CONTROL_DEFAULT_EXT, + eMinSize = VK_IMAGE_TILING_CONTROL_MIN_SIZE_EXT, + eMaxPerformance = VK_IMAGE_TILING_CONTROL_MAX_PERFORMANCE_EXT + }; + //=========================================================== //=== Mapping from ObjectType to DebugReportObjectTypeEXT === //=========================================================== @@ -10344,6 +10776,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case ObjectType::eDebugUtilsMessengerEXT: return DebugReportObjectTypeEXT::eUnknown; + //=== VK_AMD_gpa_interface === + case ObjectType::eGpaSessionAMD: + return DebugReportObjectTypeEXT::eUnknown; + //=== VK_EXT_descriptor_heap === case ObjectType::eTensorARM: return DebugReportObjectTypeEXT::eUnknown; diff --git a/third_party/vulkan/include/vulkan/vulkan_extension_inspection.hpp b/third_party/vulkan/include/vulkan/vulkan_extension_inspection.hpp index 214078d8b..a1b78bc5b 100644 --- a/third_party/vulkan/include/vulkan/vulkan_extension_inspection.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_extension_inspection.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -73,6 +72,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_NV_ray_tracing", "VK_KHR_ray_tracing_pipeline" }, { "VK_EXT_buffer_device_address", "VK_KHR_buffer_device_address" }, { "VK_EXT_validation_features", "VK_EXT_layer_settings" }, + { "VK_NV_low_latency", "VK_NV_low_latency2" }, { "VK_EXT_descriptor_buffer", "VK_EXT_descriptor_heap" }, #if defined( VK_ENABLE_BETA_EXTENSIONS ) { "VK_NV_displacement_micromap", "VK_NV_cluster_acceleration_structure" }, @@ -179,6 +179,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_EXT_sampler_filter_minmax", "VK_KHR_storage_buffer_storage_class", "VK_AMD_gpu_shader_int16", + "VK_AMD_gpa_interface", #if defined( VK_ENABLE_BETA_EXTENSIONS ) "VK_AMDX_shader_enqueue", #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -218,6 +219,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_EXT_filter_cubic", "VK_QCOM_render_pass_shader_resolve", "VK_QCOM_cooperative_matrix_conversion", + "VK_QCOM_elapsed_timer_query", "VK_EXT_global_priority", "VK_KHR_shader_subgroup_extended_types", "VK_KHR_8bit_storage", @@ -321,6 +323,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_NV_device_diagnostics_config", "VK_QCOM_render_pass_store_ops", "VK_QCOM_queue_perf_hint", + "VK_QCOM_image_processing3", + "VK_QCOM_shader_multiple_wait_queues", + "VK_EXT_shader_split_barrier", #if defined( VK_ENABLE_BETA_EXTENSIONS ) "VK_NV_cuda_kernel_launch", #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -492,6 +497,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_KHR_maintenance7", "VK_NV_shader_atomic_float16_vector", "VK_EXT_shader_replicated_composites", + "VK_ARM_tensor_controls", "VK_EXT_shader_float8", "VK_NV_ray_tracing_validation", "VK_NV_cluster_acceleration_structure", @@ -509,6 +515,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_HUAWEI_hdr_vivid", "VK_NV_cooperative_matrix2", "VK_ARM_pipeline_opacity_micromap", + "VK_KHR_video_encode_feedback2", + "VK_IMG_filter_linear_2d", #if defined( VK_USE_PLATFORM_METAL_EXT ) "VK_EXT_external_memory_metal", #endif /*VK_USE_PLATFORM_METAL_EXT*/ @@ -520,9 +528,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_VALVE_fragment_density_map_layered", "VK_KHR_robustness2", "VK_NV_present_metering", + "VK_EXT_multisampled_render_to_swapchain", "VK_EXT_fragment_density_map_offset", "VK_EXT_zero_initialize_device_memory", "VK_KHR_present_mode_fifo_latest_ready", + "VK_KHR_opacity_micromap", "VK_EXT_shader_64bit_indexing", "VK_EXT_custom_resolve", "VK_QCOM_data_graph_model", @@ -532,12 +542,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_SEC_pipeline_cache_incremental_mode", "VK_EXT_shader_uniform_buffer_unsized_array", "VK_NV_compute_occupancy_priority", + "VK_KHR_pipeline_library_group_handles", "VK_KHR_maintenance11", + "VK_EXT_cooperative_matrix_maintenance1", "VK_EXT_shader_subgroup_partitioned", + "VK_KHR_extended_flags", + "VK_EXT_shader_ocp_microscaling_types", "VK_VALVE_shader_mixed_float_dot_product", "VK_SEC_throttle_hint", "VK_ARM_data_graph_neural_accelerator_statistics", - "VK_EXT_primitive_restart_index" }; + "VK_EXT_primitive_restart_index", + "VK_EXT_image_tiling_control", + "VK_NV_cooperative_matrix_decode_vector", + "VK_NV_private_data_base_handle", + "VK_INTEL_device_info", + "VK_VALVE_buffer_device_address_allocation_alignment" }; return deviceExtensions; } @@ -1108,6 +1127,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ , { "VK_EXT_sampler_filter_minmax", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_AMD_gpa_interface", { { "VK_VERSION_1_0", { { "VK_KHR_get_physical_device_properties2", @@ -1134,13 +1159,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_EXT_descriptor_heap", { { "VK_VERSION_1_0", { { - "VK_KHR_buffer_device_address", - "VK_KHR_maintenance5", - } } }, + "VK_KHR_buffer_device_address", + "VK_KHR_extended_flags", + }, + { + "VK_KHR_buffer_device_address", + "VK_KHR_maintenance5", + } } }, { "VK_VERSION_1_2", { { - "VK_KHR_maintenance5", - } } } } }, + "VK_KHR_extended_flags", + }, + { + "VK_KHR_maintenance5", + } } }, + { "VK_VERSION_1_4", { {} } } } }, { "VK_EXT_inline_uniform_block", { { "VK_VERSION_1_0", { { @@ -1267,6 +1300,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { { "VK_KHR_cooperative_matrix", } } } } }, + { "VK_QCOM_elapsed_timer_query", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, { "VK_KHR_shader_subgroup_extended_types", { { "VK_VERSION_1_1", { {} } } } }, { "VK_KHR_8bit_storage", { { "VK_VERSION_1_0", @@ -1858,6 +1897,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } }, { "VK_VERSION_1_1", { {} } } } }, { "VK_QCOM_queue_perf_hint", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_QCOM_image_processing3", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_QCOM_shader_multiple_wait_queues", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_EXT_shader_split_barrier", { { "VK_VERSION_1_0", { { "VK_KHR_get_physical_device_properties2", @@ -2397,6 +2454,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { { "VK_VERSION_1_0", { { "VK_EXT_image_compression_control", + "VK_KHR_swapchain", } } } } }, { "VK_QCOM_image_processing", { { "VK_VERSION_1_0", @@ -2513,9 +2571,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_AMDX_dense_geometry_format", { { "VK_VERSION_1_0", { { - "VK_KHR_acceleration_structure", - "VK_KHR_maintenance5", - } } }, + "VK_KHR_acceleration_structure", + "VK_KHR_extended_flags", + }, + { + "VK_KHR_acceleration_structure", + "VK_KHR_maintenance5", + } } }, { "VK_VERSION_1_4", { { "VK_KHR_acceleration_structure", @@ -2556,8 +2618,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_KHR_pipeline_binary", { { "VK_VERSION_1_0", { { - "VK_KHR_maintenance5", - } } }, + "VK_KHR_extended_flags", + }, + { + "VK_KHR_maintenance5", + } } }, { "VK_VERSION_1_4", { {} } } } }, { "VK_QCOM_tile_properties", { { "VK_VERSION_1_0", @@ -2673,9 +2738,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_ARM_data_graph", { { "VK_VERSION_1_3", { { - "VK_KHR_deferred_host_operations", - "VK_KHR_maintenance5", - } } } } }, + "VK_KHR_deferred_host_operations", + "VK_KHR_extended_flags", + }, + { + "VK_KHR_deferred_host_operations", + "VK_KHR_maintenance5", + } } } } }, { "VK_ARM_data_graph_instruction_set_tosa", { { "VK_VERSION_1_0", { { @@ -2892,6 +2961,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_KHR_get_physical_device_properties2", } } }, { "VK_VERSION_1_1", { {} } } } }, + { "VK_ARM_tensor_controls", + { { "VK_VERSION_1_0", + { { + "VK_ARM_tensors", + } } } } }, { "VK_EXT_shader_float8", { { "VK_VERSION_1_0", { { @@ -2917,13 +2991,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_EXT_device_generated_commands", { { "VK_VERSION_1_0", { { - "VK_KHR_buffer_device_address", - "VK_KHR_maintenance5", - } } }, + "VK_KHR_buffer_device_address", + "VK_KHR_extended_flags", + }, + { + "VK_KHR_buffer_device_address", + "VK_KHR_maintenance5", + } } }, { "VK_VERSION_1_2", { { - "VK_KHR_maintenance5", - } } }, + "VK_KHR_extended_flags", + }, + { + "VK_KHR_maintenance5", + } } }, { "VK_VERSION_1_3", { {} } } } }, { "VK_KHR_device_fault", { { "VK_VERSION_1_0", @@ -2996,7 +3077,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { { "VK_VERSION_1_0", { { "VK_EXT_opacity_micromap", - } } } } } + } } } } }, + { "VK_KHR_video_encode_feedback2", + { { "VK_VERSION_1_0", + { { + "VK_KHR_video_encode_queue", + } } } } }, + { "VK_IMG_filter_linear_2d", + { { "VK_VERSION_1_0", + { { + "VK_KHR_format_feature_flags2", + } } }, + { "VK_VERSION_1_3", { {} } } } } #if defined( VK_USE_PLATFORM_METAL_EXT ) , { "VK_EXT_external_memory_metal", @@ -3040,9 +3132,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_VALVE_fragment_density_map_layered", { { "VK_VERSION_1_0", { { - "VK_EXT_fragment_density_map", - "VK_KHR_maintenance5", - } } }, + "VK_EXT_fragment_density_map", + "VK_KHR_extended_flags", + }, + { + "VK_EXT_fragment_density_map", + "VK_KHR_maintenance5", + } } }, { "VK_VERSION_1_4", { { "VK_EXT_fragment_density_map", @@ -3059,6 +3155,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_KHR_get_physical_device_properties2", } } }, { "VK_VERSION_1_1", { {} } } } }, + { "VK_EXT_multisampled_render_to_swapchain", + { { "VK_VERSION_1_0", + { { + "VK_EXT_multisampled_render_to_single_sampled", + "VK_KHR_swapchain", + } } } } }, { "VK_EXT_fragment_density_map_offset", { { "VK_VERSION_1_0", { { @@ -3093,6 +3195,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { { "VK_KHR_swapchain", } } } } }, + { "VK_KHR_opacity_micromap", + { { "VK_VERSION_1_0", + { { + "VK_KHR_acceleration_structure", + "VK_KHR_device_address_commands", + } } } } }, { "VK_EXT_shader_64bit_indexing", { { "VK_VERSION_1_0", { { @@ -3140,12 +3248,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "VK_KHR_get_physical_device_properties2", } } }, { "VK_VERSION_1_1", { {} } } } }, + { "VK_KHR_pipeline_library_group_handles", + { { "VK_VERSION_1_0", + { { + "VK_KHR_pipeline_library", + "VK_KHR_ray_tracing_pipeline", + } } } } }, { "VK_KHR_maintenance11", { { "VK_VERSION_1_0", { { "VK_KHR_get_physical_device_properties2", } } }, { "VK_VERSION_1_1", { {} } } } }, + { "VK_EXT_cooperative_matrix_maintenance1", + { { "VK_VERSION_1_0", + { { + "VK_KHR_cooperative_matrix", + } } } } }, { "VK_EXT_shader_subgroup_partitioned", { { "VK_VERSION_1_0", { { @@ -3161,6 +3280,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } } } } #endif /*VK_USE_PLATFORM_UBM_SEC*/ , + { "VK_KHR_extended_flags", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_EXT_shader_ocp_microscaling_types", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, { "VK_VALVE_shader_mixed_float_dot_product", { { "VK_VERSION_1_0", { { @@ -3169,19 +3300,50 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } }, { "VK_VERSION_1_1", { { - "VK_KHR_shader_float16_int8", - }, - {} } }, - { "VK_VERSION_1_2", + "VK_KHR_shader_float16_int8", + } } }, + { "VK_VERSION_1_2", { {} } } } }, + { "VK_ARM_data_graph_neural_accelerator_statistics", + { { "VK_VERSION_1_0", { { "VK_KHR_get_physical_device_properties2", - } } } } }, + } } }, + { "VK_VERSION_1_1", { {} } } } }, { "VK_EXT_primitive_restart_index", { { "VK_VERSION_1_0", { { "VK_KHR_get_physical_device_properties2", } } }, - { "VK_VERSION_1_1", { {} } } } } + { "VK_VERSION_1_1", { {} } } } }, + { "VK_EXT_image_tiling_control", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_NV_cooperative_matrix_decode_vector", + { { "VK_VERSION_1_0", + { { + "VK_NV_cooperative_matrix2", + } } } } }, + { "VK_NV_private_data_base_handle", + { { "VK_VERSION_1_0", + { { + "VK_EXT_private_data", + } } }, + { "VK_VERSION_1_3", { {} } } } }, + { "VK_INTEL_device_info", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } }, + { "VK_VALVE_buffer_device_address_allocation_alignment", + { { "VK_VERSION_1_0", + { { + "VK_KHR_buffer_device_address", + } } }, + { "VK_VERSION_1_2", { {} } } } } }; auto depIt = dependencies.find( extension ); return ( depIt != dependencies.end() ) ? depIt->second : noDependencies; @@ -3322,6 +3484,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_EXT_present_mode_fifo_latest_ready", "VK_KHR_present_mode_fifo_latest_ready" }, { "VK_EXT_extended_dynamic_state2", "VK_VERSION_1_3" }, { "VK_EXT_global_priority_query", "VK_KHR_global_priority" }, + { "VK_EXT_opacity_micromap", "VK_KHR_opacity_micromap" }, { "VK_EXT_load_store_op_none", "VK_KHR_load_store_op_none" }, { "VK_KHR_maintenance4", "VK_VERSION_1_3" }, { "VK_KHR_shader_subgroup_rotate", "VK_VERSION_1_4" }, @@ -3332,6 +3495,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { "VK_EXT_pipeline_protected_access", "VK_VERSION_1_4" }, { "VK_KHR_maintenance5", "VK_VERSION_1_4" }, { "VK_NV_ray_tracing_invocation_reorder", "VK_EXT_ray_tracing_invocation_reorder" }, + { "VK_EXT_pipeline_library_group_handles", "VK_KHR_pipeline_library_group_handles" }, { "VK_KHR_vertex_attribute_divisor", "VK_VERSION_1_4" }, { "VK_KHR_load_store_op_none", "VK_VERSION_1_4" }, { "VK_KHR_shader_float_controls2", "VK_VERSION_1_4" }, @@ -3419,6 +3583,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { return "VK_EXT_layer_settings"; } + if ( extension == "VK_NV_low_latency" ) + { + return "VK_NV_low_latency2"; + } if ( extension == "VK_EXT_descriptor_buffer" ) { return "VK_EXT_descriptor_heap"; @@ -3829,6 +3997,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { return "VK_KHR_global_priority"; } + if ( extension == "VK_EXT_opacity_micromap" ) + { + return "VK_KHR_opacity_micromap"; + } if ( extension == "VK_EXT_load_store_op_none" ) { return "VK_KHR_load_store_op_none"; @@ -3869,6 +4041,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { return "VK_EXT_ray_tracing_invocation_reorder"; } + if ( extension == "VK_EXT_pipeline_library_group_handles" ) + { + return "VK_KHR_pipeline_library_group_handles"; + } if ( extension == "VK_KHR_vertex_attribute_divisor" ) { return "VK_VERSION_1_4"; @@ -3920,7 +4096,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE || ( extension == "VK_MVK_macos_surface" ) #endif /*VK_USE_PLATFORM_MACOS_MVK*/ || ( extension == "VK_AMD_gpu_shader_int16" ) || ( extension == "VK_NV_ray_tracing" ) || ( extension == "VK_EXT_buffer_device_address" ) || - ( extension == "VK_EXT_validation_features" ) || ( extension == "VK_EXT_descriptor_buffer" ) + ( extension == "VK_EXT_validation_features" ) || ( extension == "VK_NV_low_latency" ) || ( extension == "VK_EXT_descriptor_buffer" ) #if defined( VK_ENABLE_BETA_EXTENSIONS ) || ( extension == "VK_NV_displacement_micromap" ) #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -3979,7 +4155,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE || ( extension == "VK_ANDROID_external_memory_android_hardware_buffer" ) #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ || ( extension == "VK_EXT_sampler_filter_minmax" ) || ( extension == "VK_KHR_storage_buffer_storage_class" ) || - ( extension == "VK_AMD_gpu_shader_int16" ) + ( extension == "VK_AMD_gpu_shader_int16" ) || ( extension == "VK_AMD_gpa_interface" ) #if defined( VK_ENABLE_BETA_EXTENSIONS ) || ( extension == "VK_AMDX_shader_enqueue" ) #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -3999,7 +4175,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE || ( extension == "VK_NV_shading_rate_image" ) || ( extension == "VK_NV_ray_tracing" ) || ( extension == "VK_NV_representative_fragment_test" ) || ( extension == "VK_KHR_maintenance3" ) || ( extension == "VK_KHR_draw_indirect_count" ) || ( extension == "VK_EXT_filter_cubic" ) || ( extension == "VK_QCOM_render_pass_shader_resolve" ) || ( extension == "VK_QCOM_cooperative_matrix_conversion" ) || - ( extension == "VK_EXT_global_priority" ) || ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) || + ( extension == "VK_QCOM_elapsed_timer_query" ) || ( extension == "VK_EXT_global_priority" ) || + ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) || ( extension == "VK_EXT_external_memory_host" ) || ( extension == "VK_AMD_buffer_marker" ) || ( extension == "VK_KHR_shader_atomic_int64" ) || ( extension == "VK_KHR_shader_clock" ) || ( extension == "VK_AMD_pipeline_compiler_control" ) || ( extension == "VK_EXT_calibrated_timestamps" ) || ( extension == "VK_AMD_shader_core_properties" ) || ( extension == "VK_KHR_video_decode_h265" ) || ( extension == "VK_KHR_global_priority" ) || @@ -4044,7 +4221,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ( extension == "VK_KHR_pipeline_library" ) || ( extension == "VK_NV_present_barrier" ) || ( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_KHR_present_id" ) || ( extension == "VK_EXT_private_data" ) || ( extension == "VK_EXT_pipeline_creation_cache_control" ) || ( extension == "VK_KHR_video_encode_queue" ) || ( extension == "VK_NV_device_diagnostics_config" ) || - ( extension == "VK_QCOM_render_pass_store_ops" ) || ( extension == "VK_QCOM_queue_perf_hint" ) + ( extension == "VK_QCOM_render_pass_store_ops" ) || ( extension == "VK_QCOM_queue_perf_hint" ) || ( extension == "VK_QCOM_image_processing3" ) || + ( extension == "VK_QCOM_shader_multiple_wait_queues" ) || ( extension == "VK_EXT_shader_split_barrier" ) #if defined( VK_ENABLE_BETA_EXTENSIONS ) || ( extension == "VK_NV_cuda_kernel_launch" ) #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -4135,28 +4313,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ( extension == "VK_NV_raw_access_chains" ) || ( extension == "VK_NV_external_compute_queue" ) || ( extension == "VK_KHR_shader_relaxed_extended_instruction" ) || ( extension == "VK_NV_command_buffer_inheritance" ) || ( extension == "VK_KHR_maintenance7" ) || ( extension == "VK_NV_shader_atomic_float16_vector" ) || - ( extension == "VK_EXT_shader_replicated_composites" ) || ( extension == "VK_EXT_shader_float8" ) || + ( extension == "VK_EXT_shader_replicated_composites" ) || ( extension == "VK_ARM_tensor_controls" ) || ( extension == "VK_EXT_shader_float8" ) || ( extension == "VK_NV_ray_tracing_validation" ) || ( extension == "VK_NV_cluster_acceleration_structure" ) || ( extension == "VK_NV_partitioned_acceleration_structure" ) || ( extension == "VK_EXT_device_generated_commands" ) || ( extension == "VK_KHR_device_fault" ) || ( extension == "VK_KHR_maintenance8" ) || ( extension == "VK_MESA_image_alignment_control" ) || ( extension == "VK_KHR_shader_fma" ) || ( extension == "VK_NV_push_constant_bank" ) || ( extension == "VK_EXT_ray_tracing_invocation_reorder" ) || ( extension == "VK_EXT_depth_clamp_control" ) || ( extension == "VK_KHR_maintenance9" ) || ( extension == "VK_KHR_video_maintenance2" ) || - ( extension == "VK_HUAWEI_hdr_vivid" ) || ( extension == "VK_NV_cooperative_matrix2" ) || ( extension == "VK_ARM_pipeline_opacity_micromap" ) + ( extension == "VK_HUAWEI_hdr_vivid" ) || ( extension == "VK_NV_cooperative_matrix2" ) || ( extension == "VK_ARM_pipeline_opacity_micromap" ) || + ( extension == "VK_KHR_video_encode_feedback2" ) || ( extension == "VK_IMG_filter_linear_2d" ) #if defined( VK_USE_PLATFORM_METAL_EXT ) || ( extension == "VK_EXT_external_memory_metal" ) #endif /*VK_USE_PLATFORM_METAL_EXT*/ || ( extension == "VK_KHR_depth_clamp_zero_one" ) || ( extension == "VK_ARM_performance_counters_by_region" ) || ( extension == "VK_ARM_shader_instrumentation" ) || ( extension == "VK_EXT_vertex_attribute_robustness" ) || ( extension == "VK_ARM_format_pack" ) || ( extension == "VK_VALVE_fragment_density_map_layered" ) || ( extension == "VK_KHR_robustness2" ) || ( extension == "VK_NV_present_metering" ) || - ( extension == "VK_EXT_fragment_density_map_offset" ) || ( extension == "VK_EXT_zero_initialize_device_memory" ) || - ( extension == "VK_KHR_present_mode_fifo_latest_ready" ) || ( extension == "VK_EXT_shader_64bit_indexing" ) || - ( extension == "VK_EXT_custom_resolve" ) || ( extension == "VK_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) || - ( extension == "VK_ARM_data_graph_optical_flow" ) || ( extension == "VK_EXT_shader_long_vector" ) || - ( extension == "VK_SEC_pipeline_cache_incremental_mode" ) || ( extension == "VK_EXT_shader_uniform_buffer_unsized_array" ) || - ( extension == "VK_NV_compute_occupancy_priority" ) || ( extension == "VK_KHR_maintenance11" ) || - ( extension == "VK_EXT_shader_subgroup_partitioned" ) || ( extension == "VK_VALVE_shader_mixed_float_dot_product" ) || - ( extension == "VK_SEC_throttle_hint" ) || ( extension == "VK_ARM_data_graph_neural_accelerator_statistics" ) || - ( extension == "VK_EXT_primitive_restart_index" ); + ( extension == "VK_EXT_multisampled_render_to_swapchain" ) || ( extension == "VK_EXT_fragment_density_map_offset" ) || + ( extension == "VK_EXT_zero_initialize_device_memory" ) || ( extension == "VK_KHR_present_mode_fifo_latest_ready" ) || + ( extension == "VK_KHR_opacity_micromap" ) || ( extension == "VK_EXT_shader_64bit_indexing" ) || ( extension == "VK_EXT_custom_resolve" ) || + ( extension == "VK_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) || ( extension == "VK_ARM_data_graph_optical_flow" ) || + ( extension == "VK_EXT_shader_long_vector" ) || ( extension == "VK_SEC_pipeline_cache_incremental_mode" ) || + ( extension == "VK_EXT_shader_uniform_buffer_unsized_array" ) || ( extension == "VK_NV_compute_occupancy_priority" ) || + ( extension == "VK_KHR_pipeline_library_group_handles" ) || ( extension == "VK_KHR_maintenance11" ) || + ( extension == "VK_EXT_cooperative_matrix_maintenance1" ) || ( extension == "VK_EXT_shader_subgroup_partitioned" ) || + ( extension == "VK_KHR_extended_flags" ) || ( extension == "VK_EXT_shader_ocp_microscaling_types" ) || + ( extension == "VK_VALVE_shader_mixed_float_dot_product" ) || ( extension == "VK_SEC_throttle_hint" ) || + ( extension == "VK_ARM_data_graph_neural_accelerator_statistics" ) || ( extension == "VK_EXT_primitive_restart_index" ) || + ( extension == "VK_EXT_image_tiling_control" ) || ( extension == "VK_NV_cooperative_matrix_decode_vector" ) || + ( extension == "VK_NV_private_data_base_handle" ) || ( extension == "VK_INTEL_device_info" ) || + ( extension == "VK_VALVE_buffer_device_address_allocation_alignment" ); } VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isInstanceExtension( std::string const & extension ) @@ -4276,14 +4460,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ( extension == "VK_EXT_device_fault" ) || ( extension == "VK_ARM_rasterization_order_attachment_access" ) || ( extension == "VK_VALVE_mutable_descriptor_type" ) || ( extension == "VK_KHR_format_feature_flags2" ) || ( extension == "VK_EXT_present_mode_fifo_latest_ready" ) || ( extension == "VK_EXT_extended_dynamic_state2" ) || - ( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_EXT_load_store_op_none" ) || ( extension == "VK_KHR_maintenance4" ) || - ( extension == "VK_KHR_shader_subgroup_rotate" ) || ( extension == "VK_EXT_depth_clamp_zero_one" ) || + ( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_EXT_opacity_micromap" ) || ( extension == "VK_EXT_load_store_op_none" ) || + ( extension == "VK_KHR_maintenance4" ) || ( extension == "VK_KHR_shader_subgroup_rotate" ) || ( extension == "VK_EXT_depth_clamp_zero_one" ) || ( extension == "VK_QCOM_fragment_density_map_offset" ) || ( extension == "VK_NV_copy_memory_indirect" ) || ( extension == "VK_NV_memory_decompression" ) || ( extension == "VK_EXT_pipeline_protected_access" ) || ( extension == "VK_KHR_maintenance5" ) || - ( extension == "VK_NV_ray_tracing_invocation_reorder" ) || ( extension == "VK_KHR_vertex_attribute_divisor" ) || - ( extension == "VK_KHR_load_store_op_none" ) || ( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) || - ( extension == "VK_KHR_line_rasterization" ) || ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) || - ( extension == "VK_EXT_vertex_attribute_robustness" ); + ( extension == "VK_NV_ray_tracing_invocation_reorder" ) || ( extension == "VK_EXT_pipeline_library_group_handles" ) || + ( extension == "VK_KHR_vertex_attribute_divisor" ) || ( extension == "VK_KHR_load_store_op_none" ) || + ( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) || + ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) || ( extension == "VK_EXT_vertex_attribute_robustness" ); } } // namespace VULKAN_HPP_NAMESPACE diff --git a/third_party/vulkan/include/vulkan/vulkan_format_traits.hpp b/third_party/vulkan/include/vulkan/vulkan_format_traits.hpp index b6a704ed1..9aac6c88f 100644 --- a/third_party/vulkan/include/vulkan/vulkan_format_traits.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_format_traits.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // diff --git a/third_party/vulkan/include/vulkan/vulkan_fuchsia.h b/third_party/vulkan/include/vulkan/vulkan_fuchsia.h index ccca6271f..bfeee3943 100644 --- a/third_party/vulkan/include/vulkan/vulkan_fuchsia.h +++ b/third_party/vulkan/include/vulkan/vulkan_fuchsia.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_funcs.hpp b/third_party/vulkan/include/vulkan/vulkan_funcs.hpp index 8a32c1116..328c226ef 100644 --- a/third_party/vulkan/include/vulkan/vulkan_funcs.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_funcs.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -20,7 +19,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateInstance ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createInstance( InstanceCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Instance * pInstance, Dispatch const & d ) VULKAN_HPP_NOEXCEPT { @@ -32,7 +36,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateInstance ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type createInstance( InstanceCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) { @@ -42,17 +51,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Instance instance; - Result result = static_cast( d.vkCreateInstance( reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &instance ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::createInstance" ); + Result result_ = static_cast( d.vkCreateInstance( reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &instance ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::createInstance" ); - return detail::createResultValueType( result, std::move( instance ) ); + return detail::createResultValueType( result_, std::move( instance ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateInstance ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type createInstanceUnique( InstanceCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) { @@ -62,19 +76,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Instance instance; - Result result = static_cast( d.vkCreateInstance( reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &instance ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::createInstanceUnique" ); + Result result_ = static_cast( d.vkCreateInstance( reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &instance ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::createInstanceUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( instance, detail::ObjectDestroy( allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyInstance ) ) +#endif VULKAN_HPP_INLINE void Instance::destroy( AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -83,7 +102,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyInstance ) ) +# endif VULKAN_HPP_INLINE void Instance::destroy( Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -91,12 +115,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyInstance && "Function requires " ); # endif - d.vkDestroyInstance( m_instance, reinterpret_cast( allocator.get() ) ); + d.vkDestroyInstance( static_cast( m_instance ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDevices ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDevices( uint32_t * pPhysicalDeviceCount, PhysicalDevice * pPhysicalDevices, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -107,10 +136,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDevices ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::enumeratePhysicalDevices( Dispatch const & d ) const { @@ -121,31 +155,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDevices; uint32_t physicalDeviceCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceCount ) + result_ = static_cast( d.vkEnumeratePhysicalDevices( static_cast( m_instance ), &physicalDeviceCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceCount ) { physicalDevices.resize( physicalDeviceCount ); - result = static_cast( - d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, reinterpret_cast( physicalDevices.data() ) ) ); + result_ = static_cast( d.vkEnumeratePhysicalDevices( + static_cast( m_instance ), &physicalDeviceCount, reinterpret_cast( physicalDevices.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() ); if ( physicalDeviceCount < physicalDevices.size() ) { physicalDevices.resize( physicalDeviceCount ); } - return detail::createResultValueType( result, std::move( physicalDevices ) ); + return detail::createResultValueType( result_, std::move( physicalDevices ) ); } // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDevices ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::enumeratePhysicalDevices( PhysicalDeviceAllocator const & physicalDeviceAllocator, Dispatch const & d ) const { @@ -156,29 +195,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDevices( physicalDeviceAllocator ); uint32_t physicalDeviceCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceCount ) + result_ = static_cast( d.vkEnumeratePhysicalDevices( static_cast( m_instance ), &physicalDeviceCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceCount ) { physicalDevices.resize( physicalDeviceCount ); - result = static_cast( - d.vkEnumeratePhysicalDevices( m_instance, &physicalDeviceCount, reinterpret_cast( physicalDevices.data() ) ) ); + result_ = static_cast( d.vkEnumeratePhysicalDevices( + static_cast( m_instance ), &physicalDeviceCount, reinterpret_cast( physicalDevices.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); VULKAN_HPP_ASSERT( physicalDeviceCount <= physicalDevices.size() ); if ( physicalDeviceCount < physicalDevices.size() ) { physicalDevices.resize( physicalDeviceCount ); } - return detail::createResultValueType( result, std::move( physicalDevices ) ); + return detail::createResultValueType( result_, std::move( physicalDevices ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getFeatures( PhysicalDeviceFeatures * pFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -187,7 +231,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceFeatures PhysicalDevice::getFeatures( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -196,7 +245,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceFeatures features; - d.vkGetPhysicalDeviceFeatures( m_physicalDevice, reinterpret_cast( &features ) ); + d.vkGetPhysicalDeviceFeatures( static_cast( m_physicalDevice ), reinterpret_cast( &features ) ); return features; } @@ -204,7 +253,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties( Format format, FormatProperties * pFormatProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -216,7 +270,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE FormatProperties PhysicalDevice::getFormatProperties( Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -225,7 +284,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif FormatProperties formatProperties; - d.vkGetPhysicalDeviceFormatProperties( m_physicalDevice, static_cast( format ), reinterpret_cast( &formatProperties ) ); + d.vkGetPhysicalDeviceFormatProperties( + static_cast( m_physicalDevice ), static_cast( format ), reinterpret_cast( &formatProperties ) ); return formatProperties; } @@ -233,7 +293,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties( Format format, ImageType type, ImageTiling tiling, @@ -255,7 +320,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getImageFormatProperties( Format format, ImageType type, ImageTiling tiling, ImageUsageFlags usage, ImageCreateFlags flags, Dispatch const & d ) const { @@ -265,22 +335,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageFormatProperties imageFormatProperties; - Result result = static_cast( d.vkGetPhysicalDeviceImageFormatProperties( m_physicalDevice, - static_cast( format ), - static_cast( type ), - static_cast( tiling ), - static_cast( usage ), - static_cast( flags ), - reinterpret_cast( &imageFormatProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); + Result result_ = static_cast( d.vkGetPhysicalDeviceImageFormatProperties( static_cast( m_physicalDevice ), + static_cast( format ), + static_cast( type ), + static_cast( tiling ), + static_cast( usage ), + static_cast( flags ), + reinterpret_cast( &imageFormatProperties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getProperties( PhysicalDeviceProperties * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -290,7 +365,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceProperties PhysicalDevice::getProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -299,7 +379,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceProperties properties; - d.vkGetPhysicalDeviceProperties( m_physicalDevice, reinterpret_cast( &properties ) ); + d.vkGetPhysicalDeviceProperties( static_cast( m_physicalDevice ), reinterpret_cast( &properties ) ); return properties; } @@ -307,7 +387,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties( uint32_t * pQueueFamilyPropertyCount, QueueFamilyProperties * pQueueFamilyProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -319,10 +404,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties( Dispatch const & d ) const { @@ -333,10 +423,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); queueFamilyProperties.resize( queueFamilyPropertyCount ); - d.vkGetPhysicalDeviceQueueFamilyProperties( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -348,10 +439,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties( QueueFamilyPropertiesAllocator const & queueFamilyPropertiesAllocator, Dispatch const & d ) const { @@ -362,10 +458,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyProperties( queueFamilyPropertiesAllocator ); uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); queueFamilyProperties.resize( queueFamilyPropertyCount ); - d.vkGetPhysicalDeviceQueueFamilyProperties( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -378,7 +475,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties( PhysicalDeviceMemoryProperties * pMemoryProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -389,7 +491,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceMemoryProperties PhysicalDevice::getMemoryProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -398,14 +505,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceMemoryProperties memoryProperties; - d.vkGetPhysicalDeviceMemoryProperties( m_physicalDevice, reinterpret_cast( &memoryProperties ) ); + d.vkGetPhysicalDeviceMemoryProperties( static_cast( m_physicalDevice ), + reinterpret_cast( &memoryProperties ) ); return memoryProperties; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetInstanceProcAddr ) ) +#endif VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr( char const * pName, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -414,7 +527,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetInstanceProcAddr ) ) +# endif VULKAN_HPP_INLINE PFN_VoidFunction Instance::getProcAddr( std::string const & name, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -422,14 +540,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetInstanceProcAddr && "Function requires " ); # endif - PFN_vkVoidFunction result = d.vkGetInstanceProcAddr( m_instance, name.c_str() ); + PFN_vkVoidFunction result_ = d.vkGetInstanceProcAddr( static_cast( m_instance ), name.c_str() ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceProcAddr ) ) +#endif VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr( char const * pName, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -438,7 +561,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceProcAddr ) ) +# endif VULKAN_HPP_INLINE PFN_VoidFunction Device::getProcAddr( std::string const & name, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -446,14 +574,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetDeviceProcAddr && "Function requires " ); # endif - PFN_vkVoidFunction result = d.vkGetDeviceProcAddr( m_device, name.c_str() ); + PFN_vkVoidFunction result_ = d.vkGetDeviceProcAddr( static_cast( m_device ), name.c_str() ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDevice ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::createDevice( DeviceCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Device * pDevice, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -466,7 +599,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDevice ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::createDevice( DeviceCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -476,18 +614,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Device device; - Result result = static_cast( d.vkCreateDevice( m_physicalDevice, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &device ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDevice" ); + Result result_ = static_cast( d.vkCreateDevice( static_cast( m_physicalDevice ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &device ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDevice" ); - return detail::createResultValueType( result, std::move( device ) ); + return detail::createResultValueType( result_, std::move( device ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDevice ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::createDeviceUnique( DeviceCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -497,19 +640,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Device device; - Result result = static_cast( d.vkCreateDevice( m_physicalDevice, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &device ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDeviceUnique" ); + Result result_ = static_cast( d.vkCreateDevice( static_cast( m_physicalDevice ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &device ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDeviceUnique" ); - return detail::createResultValueType( result, UniqueHandle( device, detail::ObjectDestroy( allocator, d ) ) ); + return detail::createResultValueType( result_, + UniqueHandle( device, detail::ObjectDestroy( allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDevice.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDevice ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -518,7 +667,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDevice.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDevice ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -526,13 +680,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDevice && "Function requires " ); # endif - d.vkDestroyDevice( m_device, reinterpret_cast( allocator.get() ) ); + d.vkDestroyDevice( static_cast( m_device ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkEnumerateInstanceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumerateInstanceExtensionProperties ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceExtensionProperties( char const * pLayerName, uint32_t * pPropertyCount, ExtensionProperties * pProperties, Dispatch const & d ) VULKAN_HPP_NOEXCEPT { @@ -544,10 +703,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateInstanceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ExtensionPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateInstanceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type enumerateInstanceExtensionProperties( Optional layerName, Dispatch const & d ) { @@ -558,32 +722,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkEnumerateInstanceExtensionProperties( + result_ = static_cast( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateInstanceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ExtensionPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateInstanceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type enumerateInstanceExtensionProperties( Optional layerName, ExtensionPropertiesAllocator const & extensionPropertiesAllocator, Dispatch const & d ) @@ -595,30 +764,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( extensionPropertiesAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkEnumerateInstanceExtensionProperties( + result_ = static_cast( d.vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceExtensionProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkEnumerateDeviceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumerateDeviceExtensionProperties ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateDeviceExtensionProperties( char const * pLayerName, uint32_t * pPropertyCount, ExtensionProperties * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -630,10 +804,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateDeviceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ExtensionPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateDeviceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::enumerateDeviceExtensionProperties( Optional layerName, Dispatch const & d ) const { @@ -644,33 +823,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = - static_cast( d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateDeviceExtensionProperties( + static_cast( m_physicalDevice ), layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkEnumerateDeviceExtensionProperties( - m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkEnumerateDeviceExtensionProperties( static_cast( m_physicalDevice ), + layerName ? layerName->c_str() : nullptr, + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateDeviceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ExtensionPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateDeviceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::enumerateDeviceExtensionProperties( Optional layerName, ExtensionPropertiesAllocator const & extensionPropertiesAllocator, Dispatch const & d ) const @@ -682,31 +868,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( extensionPropertiesAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = - static_cast( d.vkEnumerateDeviceExtensionProperties( m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateDeviceExtensionProperties( + static_cast( m_physicalDevice ), layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkEnumerateDeviceExtensionProperties( - m_physicalDevice, layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkEnumerateDeviceExtensionProperties( static_cast( m_physicalDevice ), + layerName ? layerName->c_str() : nullptr, + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkEnumerateInstanceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumerateInstanceLayerProperties ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceLayerProperties( uint32_t * pPropertyCount, LayerProperties * pProperties, Dispatch const & d ) VULKAN_HPP_NOEXCEPT { @@ -717,10 +910,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateInstanceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template LayerPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateInstanceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type enumerateInstanceLayerProperties( Dispatch const & d ) { @@ -731,31 +929,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateInstanceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template LayerPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateInstanceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type enumerateInstanceLayerProperties( LayerPropertiesAllocator const & layerPropertiesAllocator, Dispatch const & d ) { @@ -766,29 +969,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( layerPropertiesAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceLayerProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkEnumerateDeviceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumerateDeviceLayerProperties ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateDeviceLayerProperties( uint32_t * pPropertyCount, LayerProperties * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -800,10 +1008,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateDeviceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template LayerPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateDeviceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::enumerateDeviceLayerProperties( Dispatch const & d ) const { @@ -814,32 +1027,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateDeviceLayerProperties( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( - d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkEnumerateDeviceLayerProperties( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateDeviceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template LayerPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumerateDeviceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::enumerateDeviceLayerProperties( LayerPropertiesAllocator const & layerPropertiesAllocator, Dispatch const & d ) const { @@ -850,29 +1068,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( layerPropertiesAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkEnumerateDeviceLayerProperties( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( - d.vkEnumerateDeviceLayerProperties( m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkEnumerateDeviceLayerProperties( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceQueue ) ) +#endif VULKAN_HPP_INLINE void Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Queue * pQueue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -881,7 +1104,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceQueue ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Queue Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -890,14 +1118,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Queue queue; - d.vkGetDeviceQueue( m_device, queueFamilyIndex, queueIndex, reinterpret_cast( &queue ) ); + d.vkGetDeviceQueue( static_cast( m_device ), queueFamilyIndex, queueIndex, reinterpret_cast( &queue ) ); return queue; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueSubmit ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit( uint32_t submitCount, SubmitInfo const * pSubmits, Fence fence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -908,7 +1141,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueSubmit ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::submit( ArrayProxy const & submits, Fence fence, Dispatch const & d ) const { @@ -917,17 +1155,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueSubmit && "Function requires " ); # endif - Result result = static_cast( - d.vkQueueSubmit( m_queue, submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit" ); + Result result_ = static_cast( d.vkQueueSubmit( + static_cast( m_queue ), submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::waitIdle( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -935,7 +1178,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::waitIdle( Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -943,16 +1191,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueWaitIdle && "Function requires " ); # endif - Result result = static_cast( d.vkQueueWaitIdle( m_queue ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle" ); + Result result_ = static_cast( d.vkQueueWaitIdle( static_cast( m_queue ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDeviceWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitIdle( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -960,7 +1213,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDeviceWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::waitIdle( Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -968,15 +1226,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDeviceWaitIdle && "Function requires " ); # endif - Result result = static_cast( d.vkDeviceWaitIdle( m_device ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle" ); + Result result_ = static_cast( d.vkDeviceWaitIdle( static_cast( m_device ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAllocateMemory ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateMemory( MemoryAllocateInfo const * pAllocateInfo, AllocationCallbacks const * pAllocator, DeviceMemory * pMemory, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -989,7 +1252,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAllocateMemory ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::allocateMemory( MemoryAllocateInfo const & allocateInfo, Optional allocator, Dispatch const & d ) const { @@ -999,18 +1267,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceMemory memory; - Result result = static_cast( d.vkAllocateMemory( m_device, - reinterpret_cast( &allocateInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &memory ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemory" ); + Result result_ = static_cast( d.vkAllocateMemory( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &memory ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemory" ); - return detail::createResultValueType( result, std::move( memory ) ); + return detail::createResultValueType( result_, std::move( memory ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAllocateMemory ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::allocateMemoryUnique( MemoryAllocateInfo const & allocateInfo, Optional allocator, Dispatch const & d ) const { @@ -1020,19 +1293,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceMemory memory; - Result result = static_cast( d.vkAllocateMemory( m_device, - reinterpret_cast( &allocateInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &memory ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemoryUnique" ); + Result result_ = static_cast( d.vkAllocateMemory( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &memory ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateMemoryUnique" ); - return detail::createResultValueType( result, UniqueHandle( memory, detail::ObjectFree( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, + UniqueHandle( memory, detail::ObjectFree( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +#endif VULKAN_HPP_INLINE void Device::freeMemory( DeviceMemory memory, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1041,7 +1320,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +# endif VULKAN_HPP_INLINE void Device::freeMemory( DeviceMemory memory, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1049,12 +1333,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFreeMemory && "Function requires " ); # endif - d.vkFreeMemory( m_device, static_cast( memory ), reinterpret_cast( allocator.get() ) ); + d.vkFreeMemory( + static_cast( m_device ), static_cast( memory ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +#endif VULKAN_HPP_INLINE void( Device::free )( DeviceMemory memory, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1063,7 +1353,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +# endif VULKAN_HPP_INLINE void( Device::free )( DeviceMemory memory, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1071,12 +1366,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFreeMemory && "Function requires " ); # endif - d.vkFreeMemory( m_device, static_cast( memory ), reinterpret_cast( allocator.get() ) ); + d.vkFreeMemory( + static_cast( m_device ), static_cast( memory ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkMapMemory ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory( DeviceMemory memory, DeviceSize offset, DeviceSize size, MemoryMapFlags flags, void ** ppData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1091,7 +1392,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkMapMemory ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::mapMemory( DeviceMemory memory, DeviceSize offset, DeviceSize size, MemoryMapFlags flags, Dispatch const & d ) const { @@ -1101,20 +1407,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif void * pData; - Result result = static_cast( d.vkMapMemory( m_device, - static_cast( memory ), - static_cast( offset ), - static_cast( size ), - static_cast( flags ), - &pData ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory" ); + Result result_ = static_cast( d.vkMapMemory( static_cast( m_device ), + static_cast( memory ), + static_cast( offset ), + static_cast( size ), + static_cast( flags ), + &pData ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory" ); - return detail::createResultValueType( result, std::move( pData ) ); + return detail::createResultValueType( result_, std::move( pData ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUnmapMemory ) ) +#endif VULKAN_HPP_INLINE void Device::unmapMemory( DeviceMemory memory, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1122,7 +1433,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFlushMappedMemoryRanges ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::flushMappedMemoryRanges( uint32_t memoryRangeCount, MappedMemoryRange const * pMemoryRanges, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1133,7 +1449,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFlushMappedMemoryRanges ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::flushMappedMemoryRanges( ArrayProxy const & memoryRanges, Dispatch const & d ) const { @@ -1142,17 +1463,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFlushMappedMemoryRanges && "Function requires " ); # endif - Result result = - static_cast( d.vkFlushMappedMemoryRanges( m_device, memoryRanges.size(), reinterpret_cast( memoryRanges.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); + Result result_ = static_cast( d.vkFlushMappedMemoryRanges( + static_cast( m_device ), memoryRanges.size(), reinterpret_cast( memoryRanges.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkInvalidateMappedMemoryRanges, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkInvalidateMappedMemoryRanges ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::invalidateMappedMemoryRanges( uint32_t memoryRangeCount, MappedMemoryRange const * pMemoryRanges, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1164,7 +1490,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkInvalidateMappedMemoryRanges, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkInvalidateMappedMemoryRanges ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::invalidateMappedMemoryRanges( ArrayProxy const & memoryRanges, Dispatch const & d ) const { @@ -1173,16 +1504,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkInvalidateMappedMemoryRanges && "Function requires " ); # endif - Result result = static_cast( - d.vkInvalidateMappedMemoryRanges( m_device, memoryRanges.size(), reinterpret_cast( memoryRanges.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); + Result result_ = static_cast( d.vkInvalidateMappedMemoryRanges( + static_cast( m_device ), memoryRanges.size(), reinterpret_cast( memoryRanges.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryCommitment ) ) +#endif VULKAN_HPP_INLINE void Device::getMemoryCommitment( DeviceMemory memory, DeviceSize * pCommittedMemoryInBytes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1192,7 +1528,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryCommitment ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize Device::getMemoryCommitment( DeviceMemory memory, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1201,7 +1542,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceSize committedMemoryInBytes; - d.vkGetDeviceMemoryCommitment( m_device, static_cast( memory ), reinterpret_cast( &committedMemoryInBytes ) ); + d.vkGetDeviceMemoryCommitment( + static_cast( m_device ), static_cast( memory ), reinterpret_cast( &committedMemoryInBytes ) ); return committedMemoryInBytes; } @@ -1209,7 +1551,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1219,7 +1566,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d ) const { @@ -1228,17 +1580,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindBufferMemory && "Function requires " ); # endif - Result result = static_cast( - d.vkBindBufferMemory( m_device, static_cast( buffer ), static_cast( memory ), static_cast( memoryOffset ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory" ); + Result result_ = static_cast( d.vkBindBufferMemory( + static_cast( m_device ), static_cast( buffer ), static_cast( memory ), static_cast( memoryOffset ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1248,7 +1605,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d ) const { @@ -1257,17 +1619,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindImageMemory && "Function requires " ); # endif - Result result = static_cast( - d.vkBindImageMemory( m_device, static_cast( image ), static_cast( memory ), static_cast( memoryOffset ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory" ); + Result result_ = static_cast( d.vkBindImageMemory( + static_cast( m_device ), static_cast( image ), static_cast( memory ), static_cast( memoryOffset ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements ) ) +#endif VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements( Buffer buffer, MemoryRequirements * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1279,7 +1646,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements Device::getBufferMemoryRequirements( Buffer buffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1288,14 +1660,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements memoryRequirements; - d.vkGetBufferMemoryRequirements( m_device, static_cast( buffer ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetBufferMemoryRequirements( + static_cast( m_device ), static_cast( buffer ), reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageMemoryRequirements, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements ) ) +#endif VULKAN_HPP_INLINE void Device::getImageMemoryRequirements( Image image, MemoryRequirements * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1306,7 +1684,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageMemoryRequirements, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements Device::getImageMemoryRequirements( Image image, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1315,7 +1698,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements memoryRequirements; - d.vkGetImageMemoryRequirements( m_device, static_cast( image ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetImageMemoryRequirements( + static_cast( m_device ), static_cast( image ), reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } @@ -1323,7 +1707,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements( Image image, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements * pSparseMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -1338,10 +1727,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirementsAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements( Image image, Dispatch const & d ) const { @@ -1352,9 +1746,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements; uint32_t sparseMemoryRequirementCount; - d.vkGetImageSparseMemoryRequirements( m_device, static_cast( image ), &sparseMemoryRequirementCount, nullptr ); + d.vkGetImageSparseMemoryRequirements( static_cast( m_device ), static_cast( image ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetImageSparseMemoryRequirements( m_device, + d.vkGetImageSparseMemoryRequirements( static_cast( m_device ), static_cast( image ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -1369,10 +1763,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirementsAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements( Image image, SparseImageMemoryRequirementsAllocator const & sparseImageMemoryRequirementsAllocator, Dispatch const & d ) const @@ -1384,9 +1783,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements( sparseImageMemoryRequirementsAllocator ); uint32_t sparseMemoryRequirementCount; - d.vkGetImageSparseMemoryRequirements( m_device, static_cast( image ), &sparseMemoryRequirementCount, nullptr ); + d.vkGetImageSparseMemoryRequirements( static_cast( m_device ), static_cast( image ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetImageSparseMemoryRequirements( m_device, + d.vkGetImageSparseMemoryRequirements( static_cast( m_device ), static_cast( image ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -1402,7 +1801,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, @@ -1426,10 +1830,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageFormatPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, ImageUsageFlags usage, ImageTiling tiling, Dispatch const & d ) const @@ -1442,7 +1851,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), static_cast( samples ), @@ -1451,7 +1860,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE &propertyCount, nullptr ); properties.resize( propertyCount ); - d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), static_cast( samples ), @@ -1470,10 +1879,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageFormatPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getSparseImageFormatProperties( Format format, ImageType type, @@ -1491,7 +1905,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( sparseImageFormatPropertiesAllocator ); uint32_t propertyCount; - d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), static_cast( samples ), @@ -1500,7 +1914,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE &propertyCount, nullptr ); properties.resize( propertyCount ); - d.vkGetPhysicalDeviceSparseImageFormatProperties( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), static_cast( samples ), @@ -1519,7 +1933,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueBindSparse ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::bindSparse( uint32_t bindInfoCount, BindSparseInfo const * pBindInfo, Fence fence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1530,7 +1949,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueBindSparse ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::bindSparse( ArrayProxy const & bindInfo, Fence fence, Dispatch const & d ) const { @@ -1539,16 +1963,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueBindSparse && "Function requires " ); # endif - Result result = static_cast( - d.vkQueueBindSparse( m_queue, bindInfo.size(), reinterpret_cast( bindInfo.data() ), static_cast( fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse" ); + Result result_ = static_cast( d.vkQueueBindSparse( + static_cast( m_queue ), bindInfo.size(), reinterpret_cast( bindInfo.data() ), static_cast( fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateFence ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createFence( FenceCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Fence * pFence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1561,7 +1990,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateFence ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createFence( FenceCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -1571,18 +2005,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Fence fence; - Result result = static_cast( d.vkCreateFence( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFence" ); + Result result_ = static_cast( d.vkCreateFence( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createFence" ); - return detail::createResultValueType( result, std::move( fence ) ); + return detail::createResultValueType( result_, std::move( fence ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateFence ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createFenceUnique( FenceCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -1592,19 +2031,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Fence fence; - Result result = static_cast( d.vkCreateFence( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFenceUnique" ); + Result result_ = static_cast( d.vkCreateFence( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createFenceUnique" ); - return detail::createResultValueType( result, UniqueHandle( fence, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( fence, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +#endif VULKAN_HPP_INLINE void Device::destroyFence( Fence fence, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1613,7 +2057,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +# endif VULKAN_HPP_INLINE void Device::destroyFence( Fence fence, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1621,12 +2070,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyFence && "Function requires " ); # endif - d.vkDestroyFence( m_device, static_cast( fence ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyFence( static_cast( m_device ), static_cast( fence ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Fence fence, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1635,7 +2089,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Fence fence, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1643,12 +2102,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyFence && "Function requires " ); # endif - d.vkDestroyFence( m_device, static_cast( fence ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyFence( static_cast( m_device ), static_cast( fence ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkResetFences ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetFences( uint32_t fenceCount, Fence const * pFences, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1657,7 +2121,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetFences ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::resetFences( ArrayProxy const & fences, Dispatch const & d ) const { @@ -1666,16 +2135,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkResetFences && "Function requires " ); # endif - Result result = static_cast( d.vkResetFences( m_device, fences.size(), reinterpret_cast( fences.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences" ); + Result result_ = + static_cast( d.vkResetFences( static_cast( m_device ), fences.size(), reinterpret_cast( fences.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetFenceStatus ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceStatus( Fence fence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1683,7 +2158,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetFenceStatus ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceStatus( Fence fence, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1691,15 +2171,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetFenceStatus && "Function requires " ); # endif - Result result = static_cast( d.vkGetFenceStatus( m_device, static_cast( fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceStatus", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( d.vkGetFenceStatus( static_cast( m_device ), static_cast( fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceStatus", { Result::eSuccess, Result::eNotReady } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWaitForFences ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForFences( uint32_t fenceCount, Fence const * pFences, Bool32 waitAll, uint64_t timeout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1710,7 +2195,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWaitForFences ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForFences( ArrayProxy const & fences, Bool32 waitAll, uint64_t timeout, Dispatch const & d ) const { @@ -1719,16 +2209,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkWaitForFences && "Function requires " ); # endif - Result result = static_cast( - d.vkWaitForFences( m_device, fences.size(), reinterpret_cast( fences.data() ), static_cast( waitAll ), timeout ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences", { Result::eSuccess, Result::eTimeout } ); + Result result_ = static_cast( d.vkWaitForFences( + static_cast( m_device ), fences.size(), reinterpret_cast( fences.data() ), static_cast( waitAll ), timeout ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences", { Result::eSuccess, Result::eTimeout } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateSemaphore ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSemaphore( SemaphoreCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Semaphore * pSemaphore, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1741,7 +2236,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSemaphore ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createSemaphore( SemaphoreCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -1751,18 +2251,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Semaphore semaphore; - Result result = static_cast( d.vkCreateSemaphore( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &semaphore ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphore" ); + Result result_ = static_cast( d.vkCreateSemaphore( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &semaphore ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphore" ); - return detail::createResultValueType( result, std::move( semaphore ) ); + return detail::createResultValueType( result_, std::move( semaphore ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSemaphore ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSemaphoreUnique( SemaphoreCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -1772,20 +2277,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Semaphore semaphore; - Result result = static_cast( d.vkCreateSemaphore( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &semaphore ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphoreUnique" ); + Result result_ = static_cast( d.vkCreateSemaphore( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &semaphore ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSemaphoreUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( semaphore, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +#endif VULKAN_HPP_INLINE void Device::destroySemaphore( Semaphore semaphore, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1795,7 +2305,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +# endif VULKAN_HPP_INLINE void Device::destroySemaphore( Semaphore semaphore, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1804,12 +2319,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySemaphore && "Function requires " ); # endif - d.vkDestroySemaphore( m_device, static_cast( semaphore ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySemaphore( + static_cast( m_device ), static_cast( semaphore ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Semaphore semaphore, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1819,7 +2340,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Semaphore semaphore, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1827,12 +2353,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySemaphore && "Function requires " ); # endif - d.vkDestroySemaphore( m_device, static_cast( semaphore ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySemaphore( + static_cast( m_device ), static_cast( semaphore ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateQueryPool ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createQueryPool( QueryPoolCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, QueryPool * pQueryPool, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1845,7 +2377,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateQueryPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createQueryPool( QueryPoolCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -1855,18 +2392,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif QueryPool queryPool; - Result result = static_cast( d.vkCreateQueryPool( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &queryPool ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPool" ); + Result result_ = static_cast( d.vkCreateQueryPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &queryPool ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPool" ); - return detail::createResultValueType( result, std::move( queryPool ) ); + return detail::createResultValueType( result_, std::move( queryPool ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateQueryPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createQueryPoolUnique( QueryPoolCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -1876,20 +2418,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif QueryPool queryPool; - Result result = static_cast( d.vkCreateQueryPool( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &queryPool ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPoolUnique" ); + Result result_ = static_cast( d.vkCreateQueryPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &queryPool ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createQueryPoolUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( queryPool, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +#endif VULKAN_HPP_INLINE void Device::destroyQueryPool( QueryPool queryPool, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1899,7 +2446,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +# endif VULKAN_HPP_INLINE void Device::destroyQueryPool( QueryPool queryPool, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -1908,12 +2460,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyQueryPool && "Function requires " ); # endif - d.vkDestroyQueryPool( m_device, static_cast( queryPool ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyQueryPool( + static_cast( m_device ), static_cast( queryPool ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( QueryPool queryPool, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1923,7 +2481,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( QueryPool queryPool, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -1931,12 +2494,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyQueryPool && "Function requires " ); # endif - d.vkDestroyQueryPool( m_device, static_cast( queryPool ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyQueryPool( + static_cast( m_device ), static_cast( queryPool ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetQueryPoolResults ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -1959,11 +2528,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetQueryPoolResults ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, DeviceSize stride, QueryResultFlags flags, Dispatch const & d ) const { @@ -1974,21 +2548,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( d.vkGetQueryPoolResults( m_device, - static_cast( queryPool ), - firstQuery, - queryCount, - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ), - static_cast( stride ), - static_cast( flags ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( d.vkGetQueryPoolResults( static_cast( m_device ), + static_cast( queryPool ), + firstQuery, + queryCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ), + static_cast( stride ), + static_cast( flags ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResults", { Result::eSuccess, Result::eNotReady } ); - return { result, data }; + return { result_, data }; } // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetQueryPoolResults ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::getQueryPoolResult( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, DeviceSize stride, QueryResultFlags flags, Dispatch const & d ) const { @@ -1998,22 +2577,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkGetQueryPoolResults( m_device, - static_cast( queryPool ), - firstQuery, - queryCount, - sizeof( DataType ), - reinterpret_cast( &data ), - static_cast( stride ), - static_cast( flags ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResult", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( d.vkGetQueryPoolResults( static_cast( m_device ), + static_cast( queryPool ), + firstQuery, + queryCount, + sizeof( DataType ), + reinterpret_cast( &data ), + static_cast( stride ), + static_cast( flags ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getQueryPoolResult", { Result::eSuccess, Result::eNotReady } ); - return { result, data }; + return { result_, data }; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateBuffer ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBuffer( BufferCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Buffer * pBuffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2026,7 +2610,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBuffer ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createBuffer( BufferCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2036,18 +2625,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Buffer buffer; - Result result = static_cast( d.vkCreateBuffer( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &buffer ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBuffer" ); + Result result_ = static_cast( d.vkCreateBuffer( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &buffer ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createBuffer" ); - return detail::createResultValueType( result, std::move( buffer ) ); + return detail::createResultValueType( result_, std::move( buffer ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBuffer ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createBufferUnique( BufferCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2057,19 +2651,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Buffer buffer; - Result result = static_cast( d.vkCreateBuffer( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &buffer ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferUnique" ); + Result result_ = static_cast( d.vkCreateBuffer( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &buffer ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferUnique" ); - return detail::createResultValueType( result, UniqueHandle( buffer, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( buffer, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +#endif VULKAN_HPP_INLINE void Device::destroyBuffer( Buffer buffer, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2078,7 +2677,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +# endif VULKAN_HPP_INLINE void Device::destroyBuffer( Buffer buffer, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2086,12 +2690,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyBuffer && "Function requires " ); # endif - d.vkDestroyBuffer( m_device, static_cast( buffer ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyBuffer( static_cast( m_device ), static_cast( buffer ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Buffer buffer, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2100,7 +2709,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Buffer buffer, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2108,12 +2722,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyBuffer && "Function requires " ); # endif - d.vkDestroyBuffer( m_device, static_cast( buffer ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyBuffer( static_cast( m_device ), static_cast( buffer ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateImage ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createImage( ImageCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Image * pImage, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2126,7 +2745,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImage ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createImage( ImageCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2136,18 +2760,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Image image; - Result result = static_cast( d.vkCreateImage( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &image ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImage" ); + Result result_ = static_cast( d.vkCreateImage( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &image ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createImage" ); - return detail::createResultValueType( result, std::move( image ) ); + return detail::createResultValueType( result_, std::move( image ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImage ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createImageUnique( ImageCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2157,19 +2786,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Image image; - Result result = static_cast( d.vkCreateImage( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &image ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageUnique" ); + Result result_ = static_cast( d.vkCreateImage( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &image ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageUnique" ); - return detail::createResultValueType( result, UniqueHandle( image, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( image, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +#endif VULKAN_HPP_INLINE void Device::destroyImage( Image image, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2178,7 +2812,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +# endif VULKAN_HPP_INLINE void Device::destroyImage( Image image, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2186,12 +2825,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyImage && "Function requires " ); # endif - d.vkDestroyImage( m_device, static_cast( image ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyImage( static_cast( m_device ), static_cast( image ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Image image, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2200,7 +2844,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Image image, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2208,12 +2857,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyImage && "Function requires " ); # endif - d.vkDestroyImage( m_device, static_cast( image ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyImage( static_cast( m_device ), static_cast( image ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSubresourceLayout( Image image, ImageSubresource const * pSubresource, SubresourceLayout * pLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2226,7 +2880,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout Device::getImageSubresourceLayout( Image image, ImageSubresource const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2236,7 +2895,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SubresourceLayout layout; - d.vkGetImageSubresourceLayout( m_device, + d.vkGetImageSubresourceLayout( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -2246,7 +2905,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateImageView ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createImageView( ImageViewCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, ImageView * pView, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2259,7 +2923,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImageView ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createImageView( ImageViewCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2269,18 +2938,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageView view; - Result result = static_cast( d.vkCreateImageView( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageView" ); + Result result_ = static_cast( d.vkCreateImageView( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageView" ); - return detail::createResultValueType( result, std::move( view ) ); + return detail::createResultValueType( result_, std::move( view ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImageView ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createImageViewUnique( ImageViewCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2290,19 +2964,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageView view; - Result result = static_cast( d.vkCreateImageView( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageViewUnique" ); + Result result_ = static_cast( d.vkCreateImageView( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createImageViewUnique" ); - return detail::createResultValueType( result, UniqueHandle( view, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( view, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +#endif VULKAN_HPP_INLINE void Device::destroyImageView( ImageView imageView, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2312,7 +2991,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +# endif VULKAN_HPP_INLINE void Device::destroyImageView( ImageView imageView, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2321,12 +3005,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyImageView && "Function requires " ); # endif - d.vkDestroyImageView( m_device, static_cast( imageView ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyImageView( + static_cast( m_device ), static_cast( imageView ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( ImageView imageView, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2336,7 +3026,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( ImageView imageView, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2344,12 +3039,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyImageView && "Function requires " ); # endif - d.vkDestroyImageView( m_device, static_cast( imageView ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyImageView( + static_cast( m_device ), static_cast( imageView ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateCommandPool ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCommandPool( CommandPoolCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, CommandPool * pCommandPool, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -2363,7 +3064,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCommandPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createCommandPool( CommandPoolCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2373,18 +3079,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CommandPool commandPool; - Result result = static_cast( d.vkCreateCommandPool( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &commandPool ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPool" ); + Result result_ = static_cast( d.vkCreateCommandPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &commandPool ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPool" ); - return detail::createResultValueType( result, std::move( commandPool ) ); + return detail::createResultValueType( result_, std::move( commandPool ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCommandPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createCommandPoolUnique( CommandPoolCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -2394,20 +3105,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CommandPool commandPool; - Result result = static_cast( d.vkCreateCommandPool( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &commandPool ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPoolUnique" ); + Result result_ = static_cast( d.vkCreateCommandPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &commandPool ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCommandPoolUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( commandPool, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +#endif VULKAN_HPP_INLINE void Device::destroyCommandPool( CommandPool commandPool, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2418,7 +3134,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCommandPool( CommandPool commandPool, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2427,12 +3148,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCommandPool && "Function requires " ); # endif - d.vkDestroyCommandPool( m_device, static_cast( commandPool ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCommandPool( + static_cast( m_device ), static_cast( commandPool ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( CommandPool commandPool, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2442,7 +3169,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CommandPool commandPool, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2450,13 +3182,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCommandPool && "Function requires " ); # endif - d.vkDestroyCommandPool( m_device, static_cast( commandPool ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCommandPool( + static_cast( m_device ), static_cast( commandPool ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetCommandPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetCommandPool( CommandPool commandPool, CommandPoolResetFlags flags, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2466,7 +3204,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetCommandPool ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::resetCommandPool( CommandPool commandPool, CommandPoolResetFlags flags, Dispatch const & d ) const { @@ -2475,16 +3218,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkResetCommandPool && "Function requires " ); # endif - Result result = - static_cast( d.vkResetCommandPool( m_device, static_cast( commandPool ), static_cast( flags ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetCommandPool" ); + Result result_ = static_cast( + d.vkResetCommandPool( static_cast( m_device ), static_cast( commandPool ), static_cast( flags ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::resetCommandPool" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateCommandBuffers( CommandBufferAllocateInfo const * pAllocateInfo, CommandBuffer * pCommandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2496,10 +3244,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CommandBufferAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::allocateCommandBuffers( CommandBufferAllocateInfo const & allocateInfo, Dispatch const & d ) const { @@ -2509,18 +3262,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector commandBuffers( allocateInfo.commandBufferCount ); - Result result = static_cast( d.vkAllocateCommandBuffers( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( commandBuffers.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + Result result_ = static_cast( d.vkAllocateCommandBuffers( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( commandBuffers.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); - return detail::createResultValueType( result, std::move( commandBuffers ) ); + return detail::createResultValueType( result_, std::move( commandBuffers ) ); } // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CommandBufferAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::allocateCommandBuffers( CommandBufferAllocateInfo const & allocateInfo, CommandBufferAllocator const & commandBufferAllocator, Dispatch const & d ) const { @@ -2530,19 +3289,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector commandBuffers( allocateInfo.commandBufferCount, {}, commandBufferAllocator ); - Result result = static_cast( d.vkAllocateCommandBuffers( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( commandBuffers.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + Result result_ = static_cast( d.vkAllocateCommandBuffers( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( commandBuffers.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); - return detail::createResultValueType( result, std::move( commandBuffers ) ); + return detail::createResultValueType( result_, std::move( commandBuffers ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > CommandBufferAllocator> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, CommandBufferAllocator>>::type Device::allocateCommandBuffersUnique( CommandBufferAllocateInfo const & allocateInfo, Dispatch const & d ) const { @@ -2552,9 +3317,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector commandBuffers( allocateInfo.commandBufferCount ); - Result result = static_cast( d.vkAllocateCommandBuffers( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( commandBuffers.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" ); + Result result_ = static_cast( d.vkAllocateCommandBuffers( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( commandBuffers.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" ); std::vector, CommandBufferAllocator> uniqueCommandBuffers; uniqueCommandBuffers.reserve( allocateInfo.commandBufferCount ); detail::PoolFree deleter( *this, allocateInfo.commandPool, d ); @@ -2562,14 +3328,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueCommandBuffers.push_back( UniqueHandle( commandBuffer, deleter ) ); } - return detail::createResultValueType( result, std::move( uniqueCommandBuffers ) ); + return detail::createResultValueType( result_, std::move( uniqueCommandBuffers ) ); } // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > CommandBufferAllocator> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, CommandBufferAllocator>>::type Device::allocateCommandBuffersUnique( CommandBufferAllocateInfo const & allocateInfo, CommandBufferAllocator const & commandBufferAllocator, Dispatch const & d ) const @@ -2580,9 +3351,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector commandBuffers( allocateInfo.commandBufferCount ); - Result result = static_cast( d.vkAllocateCommandBuffers( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( commandBuffers.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" ); + Result result_ = static_cast( d.vkAllocateCommandBuffers( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( commandBuffers.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffersUnique" ); std::vector, CommandBufferAllocator> uniqueCommandBuffers( commandBufferAllocator ); uniqueCommandBuffers.reserve( allocateInfo.commandBufferCount ); detail::PoolFree deleter( *this, allocateInfo.commandPool, d ); @@ -2590,13 +3362,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueCommandBuffers.push_back( UniqueHandle( commandBuffer, deleter ) ); } - return detail::createResultValueType( result, std::move( uniqueCommandBuffers ) ); + return detail::createResultValueType( result_, std::move( uniqueCommandBuffers ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +#endif VULKAN_HPP_INLINE void Device::freeCommandBuffers( CommandPool commandPool, uint32_t commandBufferCount, CommandBuffer const * pCommandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2609,7 +3386,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +# endif VULKAN_HPP_INLINE void Device::freeCommandBuffers( CommandPool commandPool, ArrayProxy const & commandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2618,13 +3400,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFreeCommandBuffers && "Function requires " ); # endif - d.vkFreeCommandBuffers( - m_device, static_cast( commandPool ), commandBuffers.size(), reinterpret_cast( commandBuffers.data() ) ); + d.vkFreeCommandBuffers( static_cast( m_device ), + static_cast( commandPool ), + commandBuffers.size(), + reinterpret_cast( commandBuffers.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +#endif VULKAN_HPP_INLINE void( Device::free )( CommandPool commandPool, uint32_t commandBufferCount, CommandBuffer const * pCommandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2637,7 +3426,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +# endif VULKAN_HPP_INLINE void( Device::free )( CommandPool commandPool, ArrayProxy const & commandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2646,13 +3440,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFreeCommandBuffers && "Function requires " ); # endif - d.vkFreeCommandBuffers( - m_device, static_cast( commandPool ), commandBuffers.size(), reinterpret_cast( commandBuffers.data() ) ); + d.vkFreeCommandBuffers( static_cast( m_device ), + static_cast( commandPool ), + commandBuffers.size(), + reinterpret_cast( commandBuffers.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBeginCommandBuffer ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::begin( CommandBufferBeginInfo const * pBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2662,7 +3463,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBeginCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::begin( CommandBufferBeginInfo const & beginInfo, Dispatch const & d ) const { @@ -2671,16 +3477,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBeginCommandBuffer && "Function requires " ); # endif - Result result = static_cast( d.vkBeginCommandBuffer( m_commandBuffer, reinterpret_cast( &beginInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::begin" ); + Result result_ = static_cast( + d.vkBeginCommandBuffer( static_cast( m_commandBuffer ), reinterpret_cast( &beginInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::begin" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkEndCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::end( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2688,7 +3500,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkEndCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::end( Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2696,16 +3513,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkEndCommandBuffer && "Function requires " ); # endif - Result result = static_cast( d.vkEndCommandBuffer( m_commandBuffer ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end" ); + Result result_ = static_cast( d.vkEndCommandBuffer( static_cast( m_commandBuffer ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::reset( CommandBufferResetFlags flags, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2713,7 +3535,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::reset( CommandBufferResetFlags flags, Dispatch const & d ) const { @@ -2722,15 +3549,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkResetCommandBuffer && "Function requires " ); # endif - Result result = static_cast( d.vkResetCommandBuffer( m_commandBuffer, static_cast( flags ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::reset" ); + Result result_ = + static_cast( d.vkResetCommandBuffer( static_cast( m_commandBuffer ), static_cast( flags ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::reset" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( Buffer srcBuffer, Buffer dstBuffer, uint32_t regionCount, BufferCopy const * pRegions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2744,7 +3577,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyBuffer( Buffer srcBuffer, Buffer dstBuffer, ArrayProxy const & regions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2753,7 +3591,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyBuffer && "Function requires " ); # endif - d.vkCmdCopyBuffer( m_commandBuffer, + d.vkCmdCopyBuffer( static_cast( m_commandBuffer ), static_cast( srcBuffer ), static_cast( dstBuffer ), regions.size(), @@ -2762,7 +3600,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImage ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -2783,7 +3626,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImage ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy const & regions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -2793,7 +3641,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImage && "Function requires " ); # endif - d.vkCmdCopyImage( m_commandBuffer, + d.vkCmdCopyImage( static_cast( m_commandBuffer ), static_cast( srcImage ), static_cast( srcImageLayout ), static_cast( dstImage ), @@ -2804,7 +3652,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, uint32_t regionCount, BufferImageCopy const * pRegions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -2820,7 +3673,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, ArrayProxy const & regions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -2830,7 +3688,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyBufferToImage && "Function requires " ); # endif - d.vkCmdCopyBufferToImage( m_commandBuffer, + d.vkCmdCopyBufferToImage( static_cast( m_commandBuffer ), static_cast( srcBuffer ), static_cast( dstImage ), static_cast( dstImageLayout ), @@ -2840,7 +3698,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, uint32_t regionCount, BufferImageCopy const * pRegions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -2856,7 +3719,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, ArrayProxy const & regions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -2866,7 +3734,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImageToBuffer && "Function requires " ); # endif - d.vkCmdCopyImageToBuffer( m_commandBuffer, + d.vkCmdCopyImageToBuffer( static_cast( m_commandBuffer ), static_cast( srcImage ), static_cast( srcImageLayout ), static_cast( dstBuffer ), @@ -2876,7 +3744,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdUpdateBuffer ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize dataSize, void const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2890,7 +3763,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdUpdateBuffer ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, ArrayProxy const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2899,7 +3777,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdUpdateBuffer && "Function requires " ); # endif - d.vkCmdUpdateBuffer( m_commandBuffer, + d.vkCmdUpdateBuffer( static_cast( m_commandBuffer ), static_cast( dstBuffer ), static_cast( dstOffset ), data.size() * sizeof( DataType ), @@ -2908,7 +3786,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdFillBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdFillBuffer ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::fillBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -2921,7 +3804,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, @@ -2948,7 +3836,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, @@ -2962,7 +3855,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPipelineBarrier && "Function requires " ); # endif - d.vkCmdPipelineBarrier( m_commandBuffer, + d.vkCmdPipelineBarrier( static_cast( m_commandBuffer ), static_cast( srcStageMask ), static_cast( dstStageMask ), static_cast( dependencyFlags ), @@ -2976,7 +3869,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQuery.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginQuery ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginQuery( QueryPool queryPool, uint32_t query, QueryControlFlags flags, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2985,7 +3883,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdEndQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQuery.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndQuery ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endQuery( QueryPool queryPool, uint32_t query, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -2993,7 +3896,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResetQueryPool ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3002,7 +3910,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdWriteTimestamp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteTimestamp ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp( PipelineStageFlagBits pipelineStage, QueryPool queryPool, uint32_t query, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3012,7 +3925,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdCopyQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResults.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyQueryPoolResults ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -3034,7 +3952,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdExecuteCommands ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::executeCommands( uint32_t commandBufferCount, CommandBuffer const * pCommandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3044,7 +3967,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdExecuteCommands ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::executeCommands( ArrayProxy const & commandBuffers, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3052,12 +3980,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdExecuteCommands && "Function requires " ); # endif - d.vkCmdExecuteCommands( m_commandBuffer, commandBuffers.size(), reinterpret_cast( commandBuffers.data() ) ); + d.vkCmdExecuteCommands( + static_cast( m_commandBuffer ), commandBuffers.size(), reinterpret_cast( commandBuffers.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateEvent ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createEvent( EventCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Event * pEvent, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3070,7 +4004,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateEvent ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createEvent( EventCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3080,18 +4019,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Event event; - Result result = static_cast( d.vkCreateEvent( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &event ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createEvent" ); + Result result_ = static_cast( d.vkCreateEvent( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &event ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createEvent" ); - return detail::createResultValueType( result, std::move( event ) ); + return detail::createResultValueType( result_, std::move( event ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateEvent ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createEventUnique( EventCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3101,19 +4045,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Event event; - Result result = static_cast( d.vkCreateEvent( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &event ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createEventUnique" ); + Result result_ = static_cast( d.vkCreateEvent( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &event ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createEventUnique" ); - return detail::createResultValueType( result, UniqueHandle( event, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( event, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +#endif VULKAN_HPP_INLINE void Device::destroyEvent( Event event, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3122,7 +4071,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +# endif VULKAN_HPP_INLINE void Device::destroyEvent( Event event, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3130,12 +4084,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyEvent && "Function requires " ); # endif - d.vkDestroyEvent( m_device, static_cast( event ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyEvent( static_cast( m_device ), static_cast( event ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Event event, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3144,7 +4103,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Event event, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3152,13 +4116,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyEvent && "Function requires " ); # endif - d.vkDestroyEvent( m_device, static_cast( event ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyEvent( static_cast( m_device ), static_cast( event ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetEventStatus ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getEventStatus( Event event, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3166,7 +4135,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetEventStatus ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getEventStatus( Event event, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3174,16 +4148,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetEventStatus && "Function requires " ); # endif - Result result = static_cast( d.vkGetEventStatus( m_device, static_cast( event ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEventStatus", { Result::eEventSet, Result::eEventReset } ); + Result result_ = static_cast( d.vkGetEventStatus( static_cast( m_device ), static_cast( event ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getEventStatus", { Result::eEventSet, Result::eEventReset } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetEvent ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setEvent( Event event, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3191,7 +4170,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetEvent ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setEvent( Event event, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3199,16 +4183,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetEvent && "Function requires " ); # endif - Result result = static_cast( d.vkSetEvent( m_device, static_cast( event ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setEvent" ); + Result result_ = static_cast( d.vkSetEvent( static_cast( m_device ), static_cast( event ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setEvent" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetEvent ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetEvent( Event event, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3216,7 +4205,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetEvent ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::resetEvent( Event event, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3224,15 +4218,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkResetEvent && "Function requires " ); # endif - Result result = static_cast( d.vkResetEvent( m_device, static_cast( event ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetEvent" ); + Result result_ = static_cast( d.vkResetEvent( static_cast( m_device ), static_cast( event ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::resetEvent" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateBufferView ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBufferView( BufferViewCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, BufferView * pView, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3245,7 +4244,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBufferView ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createBufferView( BufferViewCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3255,18 +4259,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BufferView view; - Result result = static_cast( d.vkCreateBufferView( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferView" ); + Result result_ = static_cast( d.vkCreateBufferView( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferView" ); - return detail::createResultValueType( result, std::move( view ) ); + return detail::createResultValueType( result_, std::move( view ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBufferView ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createBufferViewUnique( BufferViewCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3276,19 +4285,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BufferView view; - Result result = static_cast( d.vkCreateBufferView( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferViewUnique" ); + Result result_ = static_cast( d.vkCreateBufferView( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferViewUnique" ); - return detail::createResultValueType( result, UniqueHandle( view, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( view, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +#endif VULKAN_HPP_INLINE void Device::destroyBufferView( BufferView bufferView, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3299,7 +4313,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +# endif VULKAN_HPP_INLINE void Device::destroyBufferView( BufferView bufferView, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3308,12 +4327,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyBufferView && "Function requires " ); # endif - d.vkDestroyBufferView( m_device, static_cast( bufferView ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyBufferView( + static_cast( m_device ), static_cast( bufferView ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( BufferView bufferView, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3323,7 +4348,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( BufferView bufferView, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3331,12 +4361,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyBufferView && "Function requires " ); # endif - d.vkDestroyBufferView( m_device, static_cast( bufferView ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyBufferView( + static_cast( m_device ), static_cast( bufferView ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateShaderModule ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createShaderModule( ShaderModuleCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, ShaderModule * pShaderModule, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -3350,7 +4386,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateShaderModule ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createShaderModule( ShaderModuleCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3360,18 +4401,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderModule shaderModule; - Result result = static_cast( d.vkCreateShaderModule( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &shaderModule ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModule" ); + Result result_ = static_cast( d.vkCreateShaderModule( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &shaderModule ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModule" ); - return detail::createResultValueType( result, std::move( shaderModule ) ); + return detail::createResultValueType( result_, std::move( shaderModule ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateShaderModule ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createShaderModuleUnique( ShaderModuleCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3381,20 +4427,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderModule shaderModule; - Result result = static_cast( d.vkCreateShaderModule( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &shaderModule ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModuleUnique" ); + Result result_ = static_cast( d.vkCreateShaderModule( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &shaderModule ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderModuleUnique" ); return detail::createResultValueType( - result, UniqueHandle( shaderModule, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( shaderModule, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +#endif VULKAN_HPP_INLINE void Device::destroyShaderModule( ShaderModule shaderModule, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3405,7 +4456,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +# endif VULKAN_HPP_INLINE void Device::destroyShaderModule( ShaderModule shaderModule, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3414,12 +4470,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyShaderModule && "Function requires " ); # endif - d.vkDestroyShaderModule( m_device, static_cast( shaderModule ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyShaderModule( + static_cast( m_device ), static_cast( shaderModule ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( ShaderModule shaderModule, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3429,7 +4491,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( ShaderModule shaderModule, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3438,12 +4505,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyShaderModule && "Function requires " ); # endif - d.vkDestroyShaderModule( m_device, static_cast( shaderModule ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyShaderModule( + static_cast( m_device ), static_cast( shaderModule ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreatePipelineCache ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineCache( PipelineCacheCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PipelineCache * pPipelineCache, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -3457,7 +4530,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineCache ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createPipelineCache( PipelineCacheCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3467,18 +4545,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PipelineCache pipelineCache; - Result result = static_cast( d.vkCreatePipelineCache( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipelineCache ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCache" ); + Result result_ = static_cast( d.vkCreatePipelineCache( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipelineCache ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCache" ); - return detail::createResultValueType( result, std::move( pipelineCache ) ); + return detail::createResultValueType( result_, std::move( pipelineCache ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineCache ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createPipelineCacheUnique( PipelineCacheCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3488,20 +4571,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PipelineCache pipelineCache; - Result result = static_cast( d.vkCreatePipelineCache( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipelineCache ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCacheUnique" ); + Result result_ = static_cast( d.vkCreatePipelineCache( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipelineCache ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineCacheUnique" ); return detail::createResultValueType( - result, UniqueHandle( pipelineCache, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipelineCache, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +#endif VULKAN_HPP_INLINE void Device::destroyPipelineCache( PipelineCache pipelineCache, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3512,7 +4600,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +# endif VULKAN_HPP_INLINE void Device::destroyPipelineCache( PipelineCache pipelineCache, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3521,12 +4614,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipelineCache && "Function requires " ); # endif - d.vkDestroyPipelineCache( m_device, static_cast( pipelineCache ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipelineCache( + static_cast( m_device ), static_cast( pipelineCache ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( PipelineCache pipelineCache, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3536,7 +4635,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( PipelineCache pipelineCache, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3545,12 +4649,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipelineCache && "Function requires " ); # endif - d.vkDestroyPipelineCache( m_device, static_cast( pipelineCache ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipelineCache( + static_cast( m_device ), static_cast( pipelineCache ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineCacheData ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineCacheData( PipelineCache pipelineCache, size_t * pDataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3561,10 +4671,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineCacheData ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getPipelineCacheData( PipelineCache pipelineCache, Dispatch const & d ) const { @@ -3575,31 +4690,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetPipelineCacheData( m_device, static_cast( pipelineCache ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + result_ = + static_cast( d.vkGetPipelineCacheData( static_cast( m_device ), static_cast( pipelineCache ), &dataSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetPipelineCacheData( m_device, static_cast( pipelineCache ), &dataSize, reinterpret_cast( data.data() ) ) ); + result_ = static_cast( d.vkGetPipelineCacheData( + static_cast( m_device ), static_cast( pipelineCache ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineCacheData ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getPipelineCacheData( PipelineCache pipelineCache, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const { @@ -3610,29 +4731,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data( uint8_tAllocator ); size_t dataSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetPipelineCacheData( m_device, static_cast( pipelineCache ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + result_ = + static_cast( d.vkGetPipelineCacheData( static_cast( m_device ), static_cast( pipelineCache ), &dataSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetPipelineCacheData( m_device, static_cast( pipelineCache ), &dataSize, reinterpret_cast( data.data() ) ) ); + result_ = static_cast( d.vkGetPipelineCacheData( + static_cast( m_device ), static_cast( pipelineCache ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineCacheData" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkMergePipelineCaches ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mergePipelineCaches( PipelineCache dstCache, uint32_t srcCacheCount, PipelineCache const * pSrcCaches, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3643,7 +4770,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkMergePipelineCaches ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::mergePipelineCaches( PipelineCache dstCache, ArrayProxy const & srcCaches, Dispatch const & d ) const { @@ -3652,16 +4784,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkMergePipelineCaches && "Function requires " ); # endif - Result result = static_cast( d.vkMergePipelineCaches( - m_device, static_cast( dstCache ), srcCaches.size(), reinterpret_cast( srcCaches.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mergePipelineCaches" ); + Result result_ = static_cast( d.vkMergePipelineCaches( static_cast( m_device ), + static_cast( dstCache ), + srcCaches.size(), + reinterpret_cast( srcCaches.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::mergePipelineCaches" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createComputePipelines( PipelineCache pipelineCache, uint32_t createInfoCount, ComputePipelineCreateInfo const * pCreateInfos, @@ -3680,10 +4819,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createComputePipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -3696,13 +4840,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateComputePipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateComputePipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -3710,14 +4854,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createComputePipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -3731,13 +4880,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size(), {}, pipelineAllocator ); - Result result = static_cast( d.vkCreateComputePipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateComputePipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -3745,11 +4894,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createComputePipeline( PipelineCache pipelineCache, ComputePipelineCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3759,23 +4913,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateComputePipelines( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + Result result_ = static_cast( d.vkCreateComputePipelines( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return { result, pipeline }; + return { result_, pipeline }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createComputePipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -3788,13 +4947,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateComputePipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateComputePipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -3808,14 +4967,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createComputePipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -3829,13 +4993,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateComputePipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateComputePipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelinesUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -3849,11 +5013,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createComputePipelineUnique( PipelineCache pipelineCache, ComputePipelineCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3863,23 +5032,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateComputePipelines( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( d.vkCreateComputePipelines( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelineUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelineUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - result, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +#endif VULKAN_HPP_INLINE void Device::destroyPipeline( Pipeline pipeline, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3889,7 +5063,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +# endif VULKAN_HPP_INLINE void Device::destroyPipeline( Pipeline pipeline, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3898,12 +5077,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipeline && "Function requires " ); # endif - d.vkDestroyPipeline( m_device, static_cast( pipeline ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipeline( + static_cast( m_device ), static_cast( pipeline ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Pipeline pipeline, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3913,7 +5098,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Pipeline pipeline, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -3921,12 +5111,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipeline && "Function requires " ); # endif - d.vkDestroyPipeline( m_device, static_cast( pipeline ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipeline( + static_cast( m_device ), static_cast( pipeline ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreatePipelineLayout ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineLayout( PipelineLayoutCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PipelineLayout * pPipelineLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -3940,7 +5136,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createPipelineLayout( PipelineLayoutCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3950,18 +5151,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PipelineLayout pipelineLayout; - Result result = static_cast( d.vkCreatePipelineLayout( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipelineLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayout" ); + Result result_ = static_cast( d.vkCreatePipelineLayout( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipelineLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayout" ); - return detail::createResultValueType( result, std::move( pipelineLayout ) ); + return detail::createResultValueType( result_, std::move( pipelineLayout ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createPipelineLayoutUnique( PipelineLayoutCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -3971,20 +5177,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PipelineLayout pipelineLayout; - Result result = static_cast( d.vkCreatePipelineLayout( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipelineLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayoutUnique" ); + Result result_ = static_cast( d.vkCreatePipelineLayout( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipelineLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineLayoutUnique" ); return detail::createResultValueType( - result, UniqueHandle( pipelineLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipelineLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +#endif VULKAN_HPP_INLINE void Device::destroyPipelineLayout( PipelineLayout pipelineLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -3995,7 +5206,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +# endif VULKAN_HPP_INLINE void Device::destroyPipelineLayout( PipelineLayout pipelineLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4004,12 +5220,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipelineLayout && "Function requires " ); # endif - d.vkDestroyPipelineLayout( m_device, static_cast( pipelineLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipelineLayout( + static_cast( m_device ), static_cast( pipelineLayout ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( PipelineLayout pipelineLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4019,7 +5241,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( PipelineLayout pipelineLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4028,12 +5255,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipelineLayout && "Function requires " ); # endif - d.vkDestroyPipelineLayout( m_device, static_cast( pipelineLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipelineLayout( + static_cast( m_device ), static_cast( pipelineLayout ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateSampler ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSampler( SamplerCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Sampler * pSampler, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4046,7 +5279,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSampler ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createSampler( SamplerCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4056,18 +5294,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Sampler sampler; - Result result = static_cast( d.vkCreateSampler( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &sampler ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSampler" ); + Result result_ = static_cast( d.vkCreateSampler( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &sampler ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSampler" ); - return detail::createResultValueType( result, std::move( sampler ) ); + return detail::createResultValueType( result_, std::move( sampler ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSampler ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSamplerUnique( SamplerCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4077,19 +5320,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Sampler sampler; - Result result = static_cast( d.vkCreateSampler( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &sampler ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerUnique" ); + Result result_ = static_cast( d.vkCreateSampler( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &sampler ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerUnique" ); - return detail::createResultValueType( result, UniqueHandle( sampler, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( sampler, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +#endif VULKAN_HPP_INLINE void Device::destroySampler( Sampler sampler, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4098,7 +5346,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +# endif VULKAN_HPP_INLINE void Device::destroySampler( Sampler sampler, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4106,12 +5359,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySampler && "Function requires " ); # endif - d.vkDestroySampler( m_device, static_cast( sampler ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySampler( + static_cast( m_device ), static_cast( sampler ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Sampler sampler, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4120,7 +5379,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Sampler sampler, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4128,12 +5392,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySampler && "Function requires " ); # endif - d.vkDestroySampler( m_device, static_cast( sampler ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySampler( + static_cast( m_device ), static_cast( sampler ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorSetLayout ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorSetLayout( DescriptorSetLayoutCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorSetLayout * pSetLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -4147,7 +5417,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorSetLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createDescriptorSetLayout( DescriptorSetLayoutCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4157,18 +5432,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorSetLayout setLayout; - Result result = static_cast( d.vkCreateDescriptorSetLayout( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &setLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayout" ); + Result result_ = static_cast( d.vkCreateDescriptorSetLayout( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &setLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayout" ); - return detail::createResultValueType( result, std::move( setLayout ) ); + return detail::createResultValueType( result_, std::move( setLayout ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorSetLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createDescriptorSetLayoutUnique( DescriptorSetLayoutCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4178,20 +5458,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorSetLayout setLayout; - Result result = static_cast( d.vkCreateDescriptorSetLayout( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &setLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayoutUnique" ); + Result result_ = static_cast( d.vkCreateDescriptorSetLayout( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &setLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorSetLayoutUnique" ); return detail::createResultValueType( - result, UniqueHandle( setLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( setLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +#endif VULKAN_HPP_INLINE void Device::destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4203,7 +5488,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +# endif VULKAN_HPP_INLINE void Device::destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4212,13 +5502,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDescriptorSetLayout && "Function requires " ); # endif - d.vkDestroyDescriptorSetLayout( - m_device, static_cast( descriptorSetLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorSetLayout( static_cast( m_device ), + static_cast( descriptorSetLayout ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( DescriptorSetLayout descriptorSetLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4230,7 +5526,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( DescriptorSetLayout descriptorSetLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4239,13 +5540,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDescriptorSetLayout && "Function requires " ); # endif - d.vkDestroyDescriptorSetLayout( - m_device, static_cast( descriptorSetLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorSetLayout( static_cast( m_device ), + static_cast( descriptorSetLayout ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorPool ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorPool( DescriptorPoolCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorPool * pDescriptorPool, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -4259,7 +5566,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createDescriptorPool( DescriptorPoolCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4269,18 +5581,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorPool descriptorPool; - Result result = static_cast( d.vkCreateDescriptorPool( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorPool ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPool" ); + Result result_ = static_cast( d.vkCreateDescriptorPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorPool ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPool" ); - return detail::createResultValueType( result, std::move( descriptorPool ) ); + return detail::createResultValueType( result_, std::move( descriptorPool ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createDescriptorPoolUnique( DescriptorPoolCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4290,20 +5607,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorPool descriptorPool; - Result result = static_cast( d.vkCreateDescriptorPool( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorPool ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPoolUnique" ); + Result result_ = static_cast( d.vkCreateDescriptorPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorPool ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorPoolUnique" ); return detail::createResultValueType( - result, UniqueHandle( descriptorPool, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( descriptorPool, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +#endif VULKAN_HPP_INLINE void Device::destroyDescriptorPool( DescriptorPool descriptorPool, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4314,7 +5636,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +# endif VULKAN_HPP_INLINE void Device::destroyDescriptorPool( DescriptorPool descriptorPool, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4323,12 +5650,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDescriptorPool && "Function requires " ); # endif - d.vkDestroyDescriptorPool( m_device, static_cast( descriptorPool ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorPool( + static_cast( m_device ), static_cast( descriptorPool ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( DescriptorPool descriptorPool, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4338,7 +5671,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( DescriptorPool descriptorPool, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4347,13 +5685,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDescriptorPool && "Function requires " ); # endif - d.vkDestroyDescriptorPool( m_device, static_cast( descriptorPool ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorPool( + static_cast( m_device ), static_cast( descriptorPool ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetDescriptorPool( DescriptorPool descriptorPool, DescriptorPoolResetFlags flags, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4363,7 +5707,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkResetDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::resetDescriptorPool( DescriptorPool descriptorPool, DescriptorPoolResetFlags flags, Dispatch const & d ) const { @@ -4372,16 +5721,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkResetDescriptorPool && "Function requires " ); # endif - Result result = static_cast( - d.vkResetDescriptorPool( m_device, static_cast( descriptorPool ), static_cast( flags ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetDescriptorPool" ); + Result result_ = static_cast( d.vkResetDescriptorPool( + static_cast( m_device ), static_cast( descriptorPool ), static_cast( flags ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::resetDescriptorPool" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::allocateDescriptorSets( DescriptorSetAllocateInfo const * pAllocateInfo, DescriptorSet * pDescriptorSets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4393,10 +5747,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DescriptorSetAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::allocateDescriptorSets( DescriptorSetAllocateInfo const & allocateInfo, Dispatch const & d ) const { @@ -4406,18 +5765,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector descriptorSets( allocateInfo.descriptorSetCount ); - Result result = static_cast( d.vkAllocateDescriptorSets( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( descriptorSets.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + Result result_ = static_cast( d.vkAllocateDescriptorSets( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( descriptorSets.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); - return detail::createResultValueType( result, std::move( descriptorSets ) ); + return detail::createResultValueType( result_, std::move( descriptorSets ) ); } // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DescriptorSetAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::allocateDescriptorSets( DescriptorSetAllocateInfo const & allocateInfo, DescriptorSetAllocator const & descriptorSetAllocator, Dispatch const & d ) const { @@ -4427,19 +5792,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector descriptorSets( allocateInfo.descriptorSetCount, {}, descriptorSetAllocator ); - Result result = static_cast( d.vkAllocateDescriptorSets( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( descriptorSets.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + Result result_ = static_cast( d.vkAllocateDescriptorSets( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( descriptorSets.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); - return detail::createResultValueType( result, std::move( descriptorSets ) ); + return detail::createResultValueType( result_, std::move( descriptorSets ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > DescriptorSetAllocator> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, DescriptorSetAllocator>>::type Device::allocateDescriptorSetsUnique( DescriptorSetAllocateInfo const & allocateInfo, Dispatch const & d ) const { @@ -4449,9 +5820,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector descriptorSets( allocateInfo.descriptorSetCount ); - Result result = static_cast( d.vkAllocateDescriptorSets( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( descriptorSets.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" ); + Result result_ = static_cast( d.vkAllocateDescriptorSets( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( descriptorSets.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" ); std::vector, DescriptorSetAllocator> uniqueDescriptorSets; uniqueDescriptorSets.reserve( allocateInfo.descriptorSetCount ); detail::PoolFree deleter( *this, allocateInfo.descriptorPool, d ); @@ -4459,14 +5831,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueDescriptorSets.push_back( UniqueHandle( descriptorSet, deleter ) ); } - return detail::createResultValueType( result, std::move( uniqueDescriptorSets ) ); + return detail::createResultValueType( result_, std::move( uniqueDescriptorSets ) ); } // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > DescriptorSetAllocator> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, DescriptorSetAllocator>>::type Device::allocateDescriptorSetsUnique( DescriptorSetAllocateInfo const & allocateInfo, DescriptorSetAllocator const & descriptorSetAllocator, Dispatch const & d ) const @@ -4477,9 +5854,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector descriptorSets( allocateInfo.descriptorSetCount ); - Result result = static_cast( d.vkAllocateDescriptorSets( - m_device, reinterpret_cast( &allocateInfo ), reinterpret_cast( descriptorSets.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" ); + Result result_ = static_cast( d.vkAllocateDescriptorSets( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( descriptorSets.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSetsUnique" ); std::vector, DescriptorSetAllocator> uniqueDescriptorSets( descriptorSetAllocator ); uniqueDescriptorSets.reserve( allocateInfo.descriptorSetCount ); detail::PoolFree deleter( *this, allocateInfo.descriptorPool, d ); @@ -4487,13 +5865,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueDescriptorSets.push_back( UniqueHandle( descriptorSet, deleter ) ); } - return detail::createResultValueType( result, std::move( uniqueDescriptorSets ) ); + return detail::createResultValueType( result_, std::move( uniqueDescriptorSets ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::freeDescriptorSets( DescriptorPool descriptorPool, uint32_t descriptorSetCount, DescriptorSet const * pDescriptorSets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4506,7 +5889,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::freeDescriptorSets( DescriptorPool descriptorPool, ArrayProxy const & descriptorSets, Dispatch const & d ) const { @@ -4515,16 +5903,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFreeDescriptorSets && "Function requires " ); # endif - Result result = static_cast( d.vkFreeDescriptorSets( - m_device, static_cast( descriptorPool ), descriptorSets.size(), reinterpret_cast( descriptorSets.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::freeDescriptorSets" ); + Result result_ = static_cast( d.vkFreeDescriptorSets( static_cast( m_device ), + static_cast( descriptorPool ), + descriptorSets.size(), + reinterpret_cast( descriptorSets.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::freeDescriptorSets" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result( Device::free )( DescriptorPool descriptorPool, uint32_t descriptorSetCount, DescriptorSet const * pDescriptorSets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4537,7 +5932,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type( Device::free )( DescriptorPool descriptorPool, ArrayProxy const & descriptorSets, Dispatch const & d ) const { @@ -4546,16 +5946,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkFreeDescriptorSets && "Function requires " ); # endif - Result result = static_cast( d.vkFreeDescriptorSets( - m_device, static_cast( descriptorPool ), descriptorSets.size(), reinterpret_cast( descriptorSets.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::( Device::free )" ); + Result result_ = static_cast( d.vkFreeDescriptorSets( static_cast( m_device ), + static_cast( descriptorPool ), + descriptorSets.size(), + reinterpret_cast( descriptorSets.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::( Device::free )" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSets ) ) +#endif VULKAN_HPP_INLINE void Device::updateDescriptorSets( uint32_t descriptorWriteCount, WriteDescriptorSet const * pDescriptorWrites, uint32_t descriptorCopyCount, @@ -4572,7 +5979,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSets ) ) +# endif VULKAN_HPP_INLINE void Device::updateDescriptorSets( ArrayProxy const & descriptorWrites, ArrayProxy const & descriptorCopies, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -4582,7 +5994,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkUpdateDescriptorSets && "Function requires " ); # endif - d.vkUpdateDescriptorSets( m_device, + d.vkUpdateDescriptorSets( static_cast( m_device ), descriptorWrites.size(), reinterpret_cast( descriptorWrites.data() ), descriptorCopies.size(), @@ -4591,7 +6003,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindPipeline ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindPipeline( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4600,7 +6017,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -4623,7 +6045,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -4636,7 +6063,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorSets && "Function requires " ); # endif - d.vkCmdBindDescriptorSets( m_commandBuffer, + d.vkCmdBindDescriptorSets( static_cast( m_commandBuffer ), static_cast( pipelineBindPoint ), static_cast( layout ), firstSet, @@ -4648,7 +6075,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdClearColorImage ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( Image image, ImageLayout imageLayout, ClearColorValue const * pColor, uint32_t rangeCount, ImageSubresourceRange const * pRanges, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -4664,7 +6096,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdClearColorImage ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::clearColorImage( Image image, ImageLayout imageLayout, ClearColorValue const & color, ArrayProxy const & ranges, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -4674,7 +6111,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdClearColorImage && "Function requires " ); # endif - d.vkCmdClearColorImage( m_commandBuffer, + d.vkCmdClearColorImage( static_cast( m_commandBuffer ), static_cast( image ), static_cast( imageLayout ), reinterpret_cast( &color ), @@ -4684,7 +6121,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDispatch, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatch.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatch ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4693,7 +6135,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDispatchIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchIndirect ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect( Buffer buffer, DeviceSize offset, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4701,7 +6148,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetEvent ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setEvent( Event event, PipelineStageFlags stageMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4709,7 +6161,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResetEvent ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resetEvent( Event event, PipelineStageFlags stageMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -4717,7 +6174,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWaitEvents ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::waitEvents( uint32_t eventCount, Event const * pEvents, PipelineStageFlags srcStageMask, @@ -4746,7 +6208,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWaitEvents ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::waitEvents( ArrayProxy const & events, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, @@ -4760,7 +6227,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdWaitEvents && "Function requires " ); # endif - d.vkCmdWaitEvents( m_commandBuffer, + d.vkCmdWaitEvents( static_cast( m_commandBuffer ), events.size(), reinterpret_cast( events.data() ), static_cast( srcStageMask ), @@ -4775,7 +6242,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushConstants ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, uint32_t size, void const * pValues, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -4790,7 +6262,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushConstants ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, ArrayProxy const & values, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -4800,7 +6277,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushConstants && "Function requires " ); # endif - d.vkCmdPushConstants( m_commandBuffer, + d.vkCmdPushConstants( static_cast( m_commandBuffer ), static_cast( layout ), static_cast( stageFlags ), offset, @@ -4810,7 +6287,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createGraphicsPipelines( PipelineCache pipelineCache, uint32_t createInfoCount, GraphicsPipelineCreateInfo const * pCreateInfos, @@ -4829,10 +6311,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createGraphicsPipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -4845,13 +6332,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateGraphicsPipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateGraphicsPipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -4859,14 +6346,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createGraphicsPipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -4880,13 +6372,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size(), {}, pipelineAllocator ); - Result result = static_cast( d.vkCreateGraphicsPipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateGraphicsPipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -4894,11 +6386,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createGraphicsPipeline( PipelineCache pipelineCache, GraphicsPipelineCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -4908,23 +6405,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateGraphicsPipelines( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + Result result_ = static_cast( d.vkCreateGraphicsPipelines( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return { result, pipeline }; + return { result_, pipeline }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createGraphicsPipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -4937,13 +6439,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateGraphicsPipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateGraphicsPipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -4957,14 +6459,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createGraphicsPipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -4978,13 +6485,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateGraphicsPipelines( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateGraphicsPipelines( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelinesUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -4998,11 +6505,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createGraphicsPipelineUnique( PipelineCache pipelineCache, GraphicsPipelineCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -5012,23 +6524,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateGraphicsPipelines( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( d.vkCreateGraphicsPipelines( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelineUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelineUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - result, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateFramebuffer ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createFramebuffer( FramebufferCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Framebuffer * pFramebuffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -5042,7 +6559,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateFramebuffer ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createFramebuffer( FramebufferCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -5052,18 +6574,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Framebuffer framebuffer; - Result result = static_cast( d.vkCreateFramebuffer( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &framebuffer ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebuffer" ); + Result result_ = static_cast( d.vkCreateFramebuffer( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &framebuffer ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebuffer" ); - return detail::createResultValueType( result, std::move( framebuffer ) ); + return detail::createResultValueType( result_, std::move( framebuffer ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateFramebuffer ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createFramebufferUnique( FramebufferCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -5073,20 +6600,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Framebuffer framebuffer; - Result result = static_cast( d.vkCreateFramebuffer( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &framebuffer ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebufferUnique" ); + Result result_ = static_cast( d.vkCreateFramebuffer( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &framebuffer ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createFramebufferUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( framebuffer, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +#endif VULKAN_HPP_INLINE void Device::destroyFramebuffer( Framebuffer framebuffer, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5097,7 +6629,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +# endif VULKAN_HPP_INLINE void Device::destroyFramebuffer( Framebuffer framebuffer, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5106,12 +6643,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyFramebuffer && "Function requires " ); # endif - d.vkDestroyFramebuffer( m_device, static_cast( framebuffer ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyFramebuffer( + static_cast( m_device ), static_cast( framebuffer ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( Framebuffer framebuffer, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5121,7 +6664,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( Framebuffer framebuffer, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5129,12 +6677,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyFramebuffer && "Function requires " ); # endif - d.vkDestroyFramebuffer( m_device, static_cast( framebuffer ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyFramebuffer( + static_cast( m_device ), static_cast( framebuffer ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateRenderPass ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass( RenderPassCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, RenderPass * pRenderPass, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5147,7 +6701,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createRenderPass( RenderPassCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -5157,18 +6716,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RenderPass renderPass; - Result result = static_cast( d.vkCreateRenderPass( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass" ); + Result result_ = static_cast( d.vkCreateRenderPass( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass" ); - return detail::createResultValueType( result, std::move( renderPass ) ); + return detail::createResultValueType( result_, std::move( renderPass ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createRenderPassUnique( RenderPassCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -5178,20 +6742,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RenderPass renderPass; - Result result = static_cast( d.vkCreateRenderPass( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPassUnique" ); + Result result_ = static_cast( d.vkCreateRenderPass( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPassUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( renderPass, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +#endif VULKAN_HPP_INLINE void Device::destroyRenderPass( RenderPass renderPass, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5202,7 +6771,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +# endif VULKAN_HPP_INLINE void Device::destroyRenderPass( RenderPass renderPass, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5211,12 +6785,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyRenderPass && "Function requires " ); # endif - d.vkDestroyRenderPass( m_device, static_cast( renderPass ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyRenderPass( + static_cast( m_device ), static_cast( renderPass ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( RenderPass renderPass, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5226,7 +6806,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( RenderPass renderPass, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5234,12 +6819,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyRenderPass && "Function requires " ); # endif - d.vkDestroyRenderPass( m_device, static_cast( renderPass ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyRenderPass( + static_cast( m_device ), static_cast( renderPass ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRenderAreaGranularity ) ) +#endif VULKAN_HPP_INLINE void Device::getRenderAreaGranularity( RenderPass renderPass, Extent2D * pGranularity, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5248,7 +6839,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRenderAreaGranularity ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Extent2D Device::getRenderAreaGranularity( RenderPass renderPass, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5257,14 +6853,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Extent2D granularity; - d.vkGetRenderAreaGranularity( m_device, static_cast( renderPass ), reinterpret_cast( &granularity ) ); + d.vkGetRenderAreaGranularity( static_cast( m_device ), static_cast( renderPass ), reinterpret_cast( &granularity ) ); return granularity; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewport ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, uint32_t viewportCount, Viewport const * pViewports, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5274,7 +6875,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewport ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setViewport( uint32_t firstViewport, ArrayProxy const & viewports, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5283,12 +6889,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetViewport && "Function requires " ); # endif - d.vkCmdSetViewport( m_commandBuffer, firstViewport, viewports.size(), reinterpret_cast( viewports.data() ) ); + d.vkCmdSetViewport( + static_cast( m_commandBuffer ), firstViewport, viewports.size(), reinterpret_cast( viewports.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetScissor ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, uint32_t scissorCount, Rect2D const * pScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5298,7 +6910,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetScissor ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setScissor( uint32_t firstScissor, ArrayProxy const & scissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5307,12 +6924,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetScissor && "Function requires " ); # endif - d.vkCmdSetScissor( m_commandBuffer, firstScissor, scissors.size(), reinterpret_cast( scissors.data() ) ); + d.vkCmdSetScissor( static_cast( m_commandBuffer ), firstScissor, scissors.size(), reinterpret_cast( scissors.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetLineWidth, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineWidth.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineWidth ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLineWidth( float lineWidth, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5320,7 +6942,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthBias, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBias ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5329,15 +6956,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetBlendConstants ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( float const blendConstants[4], Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); d.vkCmdSetBlendConstants( static_cast( m_commandBuffer ), blendConstants ); } +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetBlendConstants ) ) +# endif + VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( std::array const & blendConstants, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCmdSetBlendConstants && "Function requires " ); +# endif + + d.vkCmdSetBlendConstants( static_cast( m_commandBuffer ), blendConstants.data() ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBounds ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5345,7 +7001,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilCompareMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilCompareMask.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilCompareMask ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5353,7 +7014,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilWriteMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilWriteMask.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilWriteMask ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5361,7 +7027,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilReference, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilReference.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilReference ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilReference( StencilFaceFlags faceMask, uint32_t reference, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5369,7 +7040,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdBindIndexBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer( Buffer buffer, DeviceSize offset, IndexType indexType, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5380,7 +7056,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, DeviceSize const * pOffsets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5394,7 +7075,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS @@ -5412,7 +7098,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBindVertexBuffers( m_commandBuffer, + d.vkCmdBindVertexBuffers( static_cast( m_commandBuffer ), firstBinding, buffers.size(), reinterpret_cast( buffers.data() ), @@ -5421,7 +7107,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDraw, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDraw.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDraw ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5430,7 +7121,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDrawIndexed, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexed.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexed ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -5440,7 +7136,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDrawIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirect ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirect( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5450,7 +7151,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDrawIndexedIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirect ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5460,7 +7166,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBlitImage ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5483,7 +7194,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBlitImage ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5497,7 +7213,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBlitImage && "Function requires " ); # endif - d.vkCmdBlitImage( m_commandBuffer, + d.vkCmdBlitImage( static_cast( m_commandBuffer ), static_cast( srcImage ), static_cast( srcImageLayout ), static_cast( dstImage ), @@ -5509,7 +7225,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdClearDepthStencilImage ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage( Image image, ImageLayout imageLayout, ClearDepthStencilValue const * pDepthStencil, @@ -5528,7 +7249,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdClearDepthStencilImage ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::clearDepthStencilImage( Image image, ImageLayout imageLayout, ClearDepthStencilValue const & depthStencil, @@ -5540,7 +7266,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdClearDepthStencilImage && "Function requires " ); # endif - d.vkCmdClearDepthStencilImage( m_commandBuffer, + d.vkCmdClearDepthStencilImage( static_cast( m_commandBuffer ), static_cast( image ), static_cast( imageLayout ), reinterpret_cast( &depthStencil ), @@ -5550,7 +7276,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdClearAttachments ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( uint32_t attachmentCount, ClearAttachment const * pAttachments, uint32_t rectCount, ClearRect const * pRects, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5564,7 +7295,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdClearAttachments ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::clearAttachments( ArrayProxy const & attachments, ArrayProxy const & rects, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5573,7 +7309,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdClearAttachments && "Function requires " ); # endif - d.vkCmdClearAttachments( m_commandBuffer, + d.vkCmdClearAttachments( static_cast( m_commandBuffer ), attachments.size(), reinterpret_cast( attachments.data() ), rects.size(), @@ -5582,7 +7318,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResolveImage ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5603,7 +7344,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdResolveImage ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, ImageLayout dstImageLayout, ArrayProxy const & regions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -5613,7 +7359,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdResolveImage && "Function requires " ); # endif - d.vkCmdResolveImage( m_commandBuffer, + d.vkCmdResolveImage( static_cast( m_commandBuffer ), static_cast( srcImage ), static_cast( srcImageLayout ), static_cast( dstImage ), @@ -5624,7 +7370,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( RenderPassBeginInfo const * pRenderPassBegin, SubpassContents contents, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5636,7 +7387,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass( RenderPassBeginInfo const & renderPassBegin, SubpassContents contents, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5645,12 +7401,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginRenderPass && "Function requires " ); # endif - d.vkCmdBeginRenderPass( m_commandBuffer, reinterpret_cast( &renderPassBegin ), static_cast( contents ) ); + d.vkCmdBeginRenderPass( static_cast( m_commandBuffer ), + reinterpret_cast( &renderPassBegin ), + static_cast( contents ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdNextSubpass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdNextSubpass ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::nextSubpass( SubpassContents contents, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5658,7 +7421,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdEndRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRenderPass( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5668,7 +7436,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_1 === // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumerateInstanceVersion ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceVersion( uint32_t * pApiVersion, Dispatch const & d ) VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5677,7 +7450,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkEnumerateInstanceVersion ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type enumerateInstanceVersion( Dispatch const & d ) { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5686,15 +7464,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint32_t apiVersion; - Result result = static_cast( d.vkEnumerateInstanceVersion( &apiVersion ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceVersion" ); + Result result_ = static_cast( d.vkEnumerateInstanceVersion( &apiVersion ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::enumerateInstanceVersion" ); - return detail::createResultValueType( result, std::move( apiVersion ) ); + return detail::createResultValueType( result_, std::move( apiVersion ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindBufferMemory2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory2( uint32_t bindInfoCount, BindBufferMemoryInfo const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5705,7 +7488,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindBufferMemory2( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -5714,16 +7502,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindBufferMemory2 && "Function requires or " ); # endif - Result result = - static_cast( d.vkBindBufferMemory2( m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2" ); + Result result_ = static_cast( + d.vkBindBufferMemory2( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindImageMemory2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory2( uint32_t bindInfoCount, BindImageMemoryInfo const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5734,7 +7527,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindImageMemory2( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -5743,17 +7541,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindImageMemory2 && "Function requires or " ); # endif - Result result = - static_cast( d.vkBindImageMemory2( m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2" ); + Result result_ = static_cast( + d.vkBindImageMemory2( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeatures ) ) +#endif VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags * pPeerMemoryFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -5766,7 +7569,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeatures ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5778,14 +7586,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PeerMemoryFeatureFlags peerMemoryFeatures; d.vkGetDeviceGroupPeerMemoryFeatures( - m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast( &peerMemoryFeatures ) ); + static_cast( m_device ), heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast( &peerMemoryFeatures ) ); return peerMemoryFeatures; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDeviceMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMask.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDeviceMask ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask( uint32_t deviceMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -5794,7 +7607,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceGroups, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroups ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDeviceGroups( uint32_t * pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5807,10 +7625,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceGroups, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceGroupPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroups ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::enumeratePhysicalDeviceGroups( Dispatch const & d ) const { @@ -5822,32 +7645,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDeviceGroupProperties; uint32_t physicalDeviceGroupCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceGroups( static_cast( m_instance ), &physicalDeviceGroupCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceGroupCount ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceGroups( - m_instance, &physicalDeviceGroupCount, reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); + result_ = static_cast( + d.vkEnumeratePhysicalDeviceGroups( static_cast( m_instance ), + &physicalDeviceGroupCount, + reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); } - return detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); + return detail::createResultValueType( result_, std::move( physicalDeviceGroupProperties ) ); } // wrapper function for command vkEnumeratePhysicalDeviceGroups, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceGroupPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroups ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::enumeratePhysicalDeviceGroups( PhysicalDeviceGroupPropertiesAllocator const & physicalDeviceGroupPropertiesAllocator, Dispatch const & d ) const { @@ -5859,30 +7689,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDeviceGroupProperties( physicalDeviceGroupPropertiesAllocator ); uint32_t physicalDeviceGroupCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDeviceGroups( m_instance, &physicalDeviceGroupCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceGroups( static_cast( m_instance ), &physicalDeviceGroupCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceGroupCount ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceGroups( - m_instance, &physicalDeviceGroupCount, reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); + result_ = static_cast( + d.vkEnumeratePhysicalDeviceGroups( static_cast( m_instance ), + &physicalDeviceGroupCount, + reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); } - return detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); + return detail::createResultValueType( result_, std::move( physicalDeviceGroupProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2 ) ) +#endif VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2( ImageMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5895,7 +7732,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getImageMemoryRequirements2( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5906,15 +7748,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetImageMemoryRequirements2( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetImageMemoryRequirements2( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetImageMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageMemoryRequirements2( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5926,8 +7774,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetImageMemoryRequirements2( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetImageMemoryRequirements2( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -5935,7 +7784,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetBufferMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2 ) ) +#endif VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2( BufferMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5948,7 +7802,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getBufferMemoryRequirements2( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5959,15 +7818,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetBufferMemoryRequirements2( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetBufferMemoryRequirements2( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetBufferMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getBufferMemoryRequirements2( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -5979,8 +7844,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetBufferMemoryRequirements2( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetBufferMemoryRequirements2( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -5988,7 +7854,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2 ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2( ImageSparseMemoryRequirementsInfo2 const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -6004,11 +7875,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSparseMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements2( ImageSparseMemoryRequirementsInfo2 const & info, Dispatch const & d ) const { @@ -6021,9 +7897,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements; uint32_t sparseMemoryRequirementCount; d.vkGetImageSparseMemoryRequirements2( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetImageSparseMemoryRequirements2( m_device, + d.vkGetImageSparseMemoryRequirements2( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -6038,11 +7914,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements2( ImageSparseMemoryRequirementsInfo2 const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, @@ -6057,9 +7938,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements( sparseImageMemoryRequirements2Allocator ); uint32_t sparseMemoryRequirementCount; d.vkGetImageSparseMemoryRequirements2( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetImageSparseMemoryRequirements2( m_device, + d.vkGetImageSparseMemoryRequirements2( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -6074,7 +7955,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceFeatures2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2 ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2( PhysicalDeviceFeatures2 * pFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6083,7 +7969,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFeatures2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceFeatures2 PhysicalDevice::getFeatures2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6093,13 +7984,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceFeatures2 features; - d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast( &features ) ); + d.vkGetPhysicalDeviceFeatures2( static_cast( m_physicalDevice ), reinterpret_cast( &features ) ); return features; } // wrapper function for command vkGetPhysicalDeviceFeatures2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getFeatures2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6110,7 +8006,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; PhysicalDeviceFeatures2 & features = structureChain.template get(); - d.vkGetPhysicalDeviceFeatures2( m_physicalDevice, reinterpret_cast( &features ) ); + d.vkGetPhysicalDeviceFeatures2( static_cast( m_physicalDevice ), reinterpret_cast( &features ) ); return structureChain; } @@ -6118,7 +8014,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2 ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getProperties2( PhysicalDeviceProperties2 * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6128,7 +8029,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceProperties2 PhysicalDevice::getProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6138,14 +8044,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceProperties2 properties; - d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast( &properties ) ); + d.vkGetPhysicalDeviceProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &properties ) ); return properties; } // wrapper function for command vkGetPhysicalDeviceProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6156,7 +8067,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; PhysicalDeviceProperties2 & properties = structureChain.template get(); - d.vkGetPhysicalDeviceProperties2( m_physicalDevice, reinterpret_cast( &properties ) ); + d.vkGetPhysicalDeviceProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &properties ) ); return structureChain; } @@ -6164,7 +8075,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2 ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2( Format format, FormatProperties2 * pFormatProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6176,7 +8092,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE FormatProperties2 PhysicalDevice::getFormatProperties2( Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6186,18 +8107,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif FormatProperties2 formatProperties; - d.vkGetPhysicalDeviceFormatProperties2( m_physicalDevice, static_cast( format ), reinterpret_cast( &formatProperties ) ); + d.vkGetPhysicalDeviceFormatProperties2( + static_cast( m_physicalDevice ), static_cast( format ), reinterpret_cast( &formatProperties ) ); return formatProperties; } // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getFormatProperties2( Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6209,7 +8136,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; FormatProperties2 & formatProperties = structureChain.template get(); - d.vkGetPhysicalDeviceFormatProperties2( m_physicalDevice, static_cast( format ), reinterpret_cast( &formatProperties ) ); + d.vkGetPhysicalDeviceFormatProperties2( + static_cast( m_physicalDevice ), static_cast( format ), reinterpret_cast( &formatProperties ) ); return structureChain; } @@ -6217,7 +8145,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2( PhysicalDeviceImageFormatInfo2 const * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6230,7 +8163,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getImageFormatProperties2( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d ) const { @@ -6241,22 +8179,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageFormatProperties2 imageFormatProperties; - Result result = - static_cast( d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, + Result result_ = + static_cast( d.vkGetPhysicalDeviceImageFormatProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getImageFormatProperties2( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d ) const { @@ -6268,19 +8211,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; ImageFormatProperties2 & imageFormatProperties = structureChain.template get(); - Result result = - static_cast( d.vkGetPhysicalDeviceImageFormatProperties2( m_physicalDevice, + Result result_ = + static_cast( d.vkGetPhysicalDeviceImageFormatProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2( uint32_t * pQueueFamilyPropertyCount, QueueFamilyProperties2 * pQueueFamilyProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6292,10 +8240,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2( Dispatch const & d ) const { @@ -6307,10 +8260,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); queueFamilyProperties.resize( queueFamilyPropertyCount ); - d.vkGetPhysicalDeviceQueueFamilyProperties2( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -6322,10 +8276,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2( QueueFamilyProperties2Allocator const & queueFamilyProperties2Allocator, Dispatch const & d ) const { @@ -6337,10 +8296,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyProperties( queueFamilyProperties2Allocator ); uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); queueFamilyProperties.resize( queueFamilyPropertyCount ); - d.vkGetPhysicalDeviceQueueFamilyProperties2( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -6352,11 +8312,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2( Dispatch const & d ) const { @@ -6369,15 +8334,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); structureChains.resize( queueFamilyPropertyCount ); queueFamilyProperties.resize( queueFamilyPropertyCount ); for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) { queueFamilyProperties[i].pNext = structureChains[i].template get().pNext; } - d.vkGetPhysicalDeviceQueueFamilyProperties2( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -6393,11 +8359,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2( StructureChainAllocator const & structureChainAllocator, Dispatch const & d ) const { @@ -6410,15 +8381,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains( structureChainAllocator ); std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); structureChains.resize( queueFamilyPropertyCount ); queueFamilyProperties.resize( queueFamilyPropertyCount ); for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) { queueFamilyProperties[i].pNext = structureChains[i].template get().pNext; } - d.vkGetPhysicalDeviceQueueFamilyProperties2( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -6435,7 +8407,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2 ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties2( PhysicalDeviceMemoryProperties2 * pMemoryProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6447,7 +8424,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceMemoryProperties2 PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6457,18 +8439,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceMemoryProperties2 memoryProperties; - d.vkGetPhysicalDeviceMemoryProperties2( m_physicalDevice, reinterpret_cast( &memoryProperties ) ); + d.vkGetPhysicalDeviceMemoryProperties2( static_cast( m_physicalDevice ), + reinterpret_cast( &memoryProperties ) ); return memoryProperties; } // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6479,7 +8467,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; PhysicalDeviceMemoryProperties2 & memoryProperties = structureChain.template get(); - d.vkGetPhysicalDeviceMemoryProperties2( m_physicalDevice, reinterpret_cast( &memoryProperties ) ); + d.vkGetPhysicalDeviceMemoryProperties2( static_cast( m_physicalDevice ), + reinterpret_cast( &memoryProperties ) ); return structureChain; } @@ -6487,7 +8476,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2 ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2( PhysicalDeviceSparseImageFormatInfo2 const * pFormatInfo, uint32_t * pPropertyCount, SparseImageFormatProperties2 * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -6502,10 +8496,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageFormatProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getSparseImageFormatProperties2( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, Dispatch const & d ) const { @@ -6517,10 +8516,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - d.vkGetPhysicalDeviceSparseImageFormatProperties2( - m_physicalDevice, reinterpret_cast( &formatInfo ), &propertyCount, nullptr ); + d.vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast( m_physicalDevice ), + reinterpret_cast( &formatInfo ), + &propertyCount, + nullptr ); properties.resize( propertyCount ); - d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &formatInfo ), &propertyCount, reinterpret_cast( properties.data() ) ); @@ -6535,10 +8536,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageFormatProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getSparseImageFormatProperties2( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, SparseImageFormatProperties2Allocator const & sparseImageFormatProperties2Allocator, @@ -6552,10 +8558,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( sparseImageFormatProperties2Allocator ); uint32_t propertyCount; - d.vkGetPhysicalDeviceSparseImageFormatProperties2( - m_physicalDevice, reinterpret_cast( &formatInfo ), &propertyCount, nullptr ); + d.vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast( m_physicalDevice ), + reinterpret_cast( &formatInfo ), + &propertyCount, + nullptr ); properties.resize( propertyCount ); - d.vkGetPhysicalDeviceSparseImageFormatProperties2( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &formatInfo ), &propertyCount, reinterpret_cast( properties.data() ) ); @@ -6570,7 +8578,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkTrimCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkTrimCommandPool ) ) +#endif VULKAN_HPP_INLINE void Device::trimCommandPool( CommandPool commandPool, CommandPoolTrimFlags flags, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6578,7 +8591,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceQueue2 ) ) +#endif VULKAN_HPP_INLINE void Device::getQueue2( DeviceQueueInfo2 const * pQueueInfo, Queue * pQueue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6587,7 +8605,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceQueue2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Queue Device::getQueue2( DeviceQueueInfo2 const & queueInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -6596,7 +8619,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Queue queue; - d.vkGetDeviceQueue2( m_device, reinterpret_cast( &queueInfo ), reinterpret_cast( &queue ) ); + d.vkGetDeviceQueue2( static_cast( m_device ), reinterpret_cast( &queueInfo ), reinterpret_cast( &queue ) ); return queue; } @@ -6604,7 +8627,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferProperties( PhysicalDeviceExternalBufferInfo const * pExternalBufferInfo, ExternalBufferProperties * pExternalBufferProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -6618,7 +8646,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalBufferProperties PhysicalDevice::getExternalBufferProperties( PhysicalDeviceExternalBufferInfo const & externalBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6629,7 +8662,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalBufferProperties externalBufferProperties; - d.vkGetPhysicalDeviceExternalBufferProperties( m_physicalDevice, + d.vkGetPhysicalDeviceExternalBufferProperties( static_cast( m_physicalDevice ), reinterpret_cast( &externalBufferInfo ), reinterpret_cast( &externalBufferProperties ) ); @@ -6639,7 +8672,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFenceProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalFenceProperties( PhysicalDeviceExternalFenceInfo const * pExternalFenceInfo, ExternalFenceProperties * pExternalFenceProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -6653,7 +8691,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFenceProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalFenceProperties PhysicalDevice::getExternalFenceProperties( PhysicalDeviceExternalFenceInfo const & externalFenceInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6664,7 +8707,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalFenceProperties externalFenceProperties; - d.vkGetPhysicalDeviceExternalFenceProperties( m_physicalDevice, + d.vkGetPhysicalDeviceExternalFenceProperties( static_cast( m_physicalDevice ), reinterpret_cast( &externalFenceInfo ), reinterpret_cast( &externalFenceProperties ) ); @@ -6674,7 +8717,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphoreProperties ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphoreProperties( PhysicalDeviceExternalSemaphoreInfo const * pExternalSemaphoreInfo, ExternalSemaphoreProperties * pExternalSemaphoreProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -6688,7 +8736,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphoreProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalSemaphoreProperties PhysicalDevice::getExternalSemaphoreProperties( PhysicalDeviceExternalSemaphoreInfo const & externalSemaphoreInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6699,7 +8752,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalSemaphoreProperties externalSemaphoreProperties; - d.vkGetPhysicalDeviceExternalSemaphoreProperties( m_physicalDevice, + d.vkGetPhysicalDeviceExternalSemaphoreProperties( static_cast( m_physicalDevice ), reinterpret_cast( &externalSemaphoreInfo ), reinterpret_cast( &externalSemaphoreProperties ) ); @@ -6708,7 +8761,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDispatchBase, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBase.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchBase ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -6719,7 +8777,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplate ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorUpdateTemplate( DescriptorUpdateTemplateCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorUpdateTemplate * pDescriptorUpdateTemplate, @@ -6735,7 +8798,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplate ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createDescriptorUpdateTemplate( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -6746,19 +8814,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorUpdateTemplate descriptorUpdateTemplate; - Result result = static_cast( d.vkCreateDescriptorUpdateTemplate( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorUpdateTemplate ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" ); + Result result_ = static_cast( d.vkCreateDescriptorUpdateTemplate( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorUpdateTemplate ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" ); - return detail::createResultValueType( result, std::move( descriptorUpdateTemplate ) ); + return detail::createResultValueType( result_, std::move( descriptorUpdateTemplate ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplate ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createDescriptorUpdateTemplateUnique( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const @@ -6770,21 +8843,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorUpdateTemplate descriptorUpdateTemplate; - Result result = static_cast( d.vkCreateDescriptorUpdateTemplate( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorUpdateTemplate ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateUnique" ); + Result result_ = static_cast( d.vkCreateDescriptorUpdateTemplate( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorUpdateTemplate ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateUnique" ); return detail::createResultValueType( - result, UniqueHandle( descriptorUpdateTemplate, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( descriptorUpdateTemplate, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +#endif VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6797,7 +8875,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +# endif VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6807,14 +8890,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkDestroyDescriptorUpdateTemplate( - m_device, static_cast( descriptorUpdateTemplate ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorUpdateTemplate( static_cast( m_device ), + static_cast( descriptorUpdateTemplate ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6827,7 +8916,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6837,14 +8931,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkDestroyDescriptorUpdateTemplate( - m_device, static_cast( descriptorUpdateTemplate ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorUpdateTemplate( static_cast( m_device ), + static_cast( descriptorUpdateTemplate ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUpdateDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplate ) ) +#endif VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, void const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6858,7 +8958,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplate ) ) +# endif VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6868,7 +8973,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkUpdateDescriptorSetWithTemplate( m_device, + d.vkUpdateDescriptorSetWithTemplate( static_cast( m_device ), static_cast( descriptorSet ), static_cast( descriptorUpdateTemplate ), reinterpret_cast( &data ) ); @@ -6877,7 +8982,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupport ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSupport( DescriptorSetLayoutCreateInfo const * pCreateInfo, DescriptorSetLayoutSupport * pSupport, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6890,7 +9000,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupport ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorSetLayoutSupport Device::getDescriptorSetLayoutSupport( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6900,15 +9015,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorSetLayoutSupport support; - d.vkGetDescriptorSetLayoutSupport( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &support ) ); + d.vkGetDescriptorSetLayoutSupport( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &support ) ); return support; } // wrapper function for command vkGetDescriptorSetLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupport ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getDescriptorSetLayoutSupport( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -6919,8 +9040,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; DescriptorSetLayoutSupport & support = structureChain.template get(); - d.vkGetDescriptorSetLayoutSupport( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &support ) ); + d.vkGetDescriptorSetLayoutSupport( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &support ) ); return structureChain; } @@ -6928,7 +9050,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateSamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversion ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSamplerYcbcrConversion( SamplerYcbcrConversionCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, SamplerYcbcrConversion * pYcbcrConversion, @@ -6944,7 +9071,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversion ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createSamplerYcbcrConversion( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -6955,19 +9087,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SamplerYcbcrConversion ycbcrConversion; - Result result = static_cast( d.vkCreateSamplerYcbcrConversion( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &ycbcrConversion ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" ); + Result result_ = static_cast( d.vkCreateSamplerYcbcrConversion( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &ycbcrConversion ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" ); - return detail::createResultValueType( result, std::move( ycbcrConversion ) ); + return detail::createResultValueType( result_, std::move( ycbcrConversion ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversion ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSamplerYcbcrConversionUnique( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const @@ -6979,21 +9116,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SamplerYcbcrConversion ycbcrConversion; - Result result = static_cast( d.vkCreateSamplerYcbcrConversion( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &ycbcrConversion ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionUnique" ); + Result result_ = static_cast( d.vkCreateSamplerYcbcrConversion( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &ycbcrConversion ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionUnique" ); return detail::createResultValueType( - result, UniqueHandle( ycbcrConversion, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( ycbcrConversion, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +#endif VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7006,7 +9148,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +# endif VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7016,14 +9163,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkDestroySamplerYcbcrConversion( - m_device, static_cast( ycbcrConversion ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySamplerYcbcrConversion( static_cast( m_device ), + static_cast( ycbcrConversion ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( SamplerYcbcrConversion ycbcrConversion, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7036,7 +9189,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( SamplerYcbcrConversion ycbcrConversion, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7046,15 +9204,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkDestroySamplerYcbcrConversion( - m_device, static_cast( ycbcrConversion ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySamplerYcbcrConversion( static_cast( m_device ), + static_cast( ycbcrConversion ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_VERSION_1_2 === // wrapper function for command vkResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkResetQueryPool ) ) +#endif VULKAN_HPP_INLINE void Device::resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7062,7 +9226,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValue ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValue( Semaphore semaphore, uint64_t * pValue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7072,7 +9241,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValue ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSemaphoreCounterValue( Semaphore semaphore, Dispatch const & d ) const { @@ -7082,15 +9256,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint64_t value; - Result result = static_cast( d.vkGetSemaphoreCounterValue( m_device, static_cast( semaphore ), &value ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValue" ); + Result result_ = static_cast( d.vkGetSemaphoreCounterValue( static_cast( m_device ), static_cast( semaphore ), &value ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValue" ); - return detail::createResultValueType( result, std::move( value ) ); + return detail::createResultValueType( result_, std::move( value ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWaitSemaphores ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphores( SemaphoreWaitInfo const * pWaitInfo, uint64_t timeout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7100,7 +9279,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWaitSemaphores ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphores( SemaphoreWaitInfo const & waitInfo, uint64_t timeout, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7108,15 +9292,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkWaitSemaphores && "Function requires or " ); # endif - Result result = static_cast( d.vkWaitSemaphores( m_device, reinterpret_cast( &waitInfo ), timeout ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores", { Result::eSuccess, Result::eTimeout } ); + Result result_ = + static_cast( d.vkWaitSemaphores( static_cast( m_device ), reinterpret_cast( &waitInfo ), timeout ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores", { Result::eSuccess, Result::eTimeout } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSignalSemaphore ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::signalSemaphore( SemaphoreSignalInfo const * pSignalInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7125,7 +9315,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSignalSemaphore ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::signalSemaphore( SemaphoreSignalInfo const & signalInfo, Dispatch const & d ) const { @@ -7134,15 +9329,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSignalSemaphore && "Function requires or " ); # endif - Result result = static_cast( d.vkSignalSemaphore( m_device, reinterpret_cast( &signalInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphore" ); + Result result_ = + static_cast( d.vkSignalSemaphore( static_cast( m_device ), reinterpret_cast( &signalInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphore" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddress ) ) +#endif VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress( BufferDeviceAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7152,7 +9353,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddress ) ) +# endif VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddress( BufferDeviceAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7161,15 +9367,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - VkDeviceAddress result = d.vkGetBufferDeviceAddress( m_device, reinterpret_cast( &info ) ); + VkDeviceAddress result_ = d.vkGetBufferDeviceAddress( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddress ) ) +#endif VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress( BufferDeviceAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7179,7 +9390,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddress ) ) +# endif VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddress( BufferDeviceAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7188,15 +9404,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - uint64_t result = d.vkGetBufferOpaqueCaptureAddress( m_device, reinterpret_cast( &info ) ); + uint64_t result_ = d.vkGetBufferOpaqueCaptureAddress( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddress ) ) +#endif VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress( DeviceMemoryOpaqueCaptureAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7208,7 +9429,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddress ) ) +# endif VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddress( DeviceMemoryOpaqueCaptureAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7218,14 +9444,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - uint64_t result = d.vkGetDeviceMemoryOpaqueCaptureAddress( m_device, reinterpret_cast( &info ) ); + uint64_t result_ = + d.vkGetDeviceMemoryOpaqueCaptureAddress( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndirectCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCount ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -7242,7 +9474,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndexedIndirectCount, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCount ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -7258,7 +9495,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateRenderPass2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass2( RenderPassCreateInfo2 const * pCreateInfo, AllocationCallbacks const * pAllocator, RenderPass * pRenderPass, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7271,7 +9513,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createRenderPass2( RenderPassCreateInfo2 const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -7281,18 +9528,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RenderPass renderPass; - Result result = static_cast( d.vkCreateRenderPass2( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2" ); + Result result_ = static_cast( d.vkCreateRenderPass2( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2" ); - return detail::createResultValueType( result, std::move( renderPass ) ); + return detail::createResultValueType( result_, std::move( renderPass ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createRenderPass2Unique( RenderPassCreateInfo2 const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -7302,20 +9554,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RenderPass renderPass; - Result result = static_cast( d.vkCreateRenderPass2( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2Unique" ); + Result result_ = static_cast( d.vkCreateRenderPass2( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2Unique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( renderPass, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( RenderPassBeginInfo const * pRenderPassBegin, SubpassBeginInfo const * pSubpassBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7327,7 +9584,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2( RenderPassBeginInfo const & renderPassBegin, SubpassBeginInfo const & subpassBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7336,13 +9598,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginRenderPass2 && "Function requires or " ); # endif - d.vkCmdBeginRenderPass2( - m_commandBuffer, reinterpret_cast( &renderPassBegin ), reinterpret_cast( &subpassBeginInfo ) ); + d.vkCmdBeginRenderPass2( static_cast( m_commandBuffer ), + reinterpret_cast( &renderPassBegin ), + reinterpret_cast( &subpassBeginInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( SubpassBeginInfo const * pSubpassBeginInfo, SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7354,7 +9622,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2( SubpassBeginInfo const & subpassBeginInfo, SubpassEndInfo const & subpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7363,13 +9636,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdNextSubpass2 && "Function requires or " ); # endif - d.vkCmdNextSubpass2( - m_commandBuffer, reinterpret_cast( &subpassBeginInfo ), reinterpret_cast( &subpassEndInfo ) ); + d.vkCmdNextSubpass2( static_cast( m_commandBuffer ), + reinterpret_cast( &subpassBeginInfo ), + reinterpret_cast( &subpassEndInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7378,7 +9657,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2( SubpassEndInfo const & subpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7386,7 +9670,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndRenderPass2 && "Function requires or " ); # endif - d.vkCmdEndRenderPass2( m_commandBuffer, reinterpret_cast( &subpassEndInfo ) ); + d.vkCmdEndRenderPass2( static_cast( m_commandBuffer ), reinterpret_cast( &subpassEndInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7394,7 +9678,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceToolProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolProperties ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getToolProperties( uint32_t * pToolCount, PhysicalDeviceToolProperties * pToolProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7406,10 +9695,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceToolProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceToolPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getToolProperties( Dispatch const & d ) const { @@ -7421,32 +9715,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector toolProperties; uint32_t toolCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && toolCount ) + result_ = static_cast( d.vkGetPhysicalDeviceToolProperties( static_cast( m_physicalDevice ), &toolCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && toolCount ) { toolProperties.resize( toolCount ); - result = static_cast( - d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, reinterpret_cast( toolProperties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceToolProperties( + static_cast( m_physicalDevice ), &toolCount, reinterpret_cast( toolProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); if ( toolCount < toolProperties.size() ) { toolProperties.resize( toolCount ); } - return detail::createResultValueType( result, std::move( toolProperties ) ); + return detail::createResultValueType( result_, std::move( toolProperties ) ); } // wrapper function for command vkGetPhysicalDeviceToolProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceToolPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolProperties ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getToolProperties( PhysicalDeviceToolPropertiesAllocator const & physicalDeviceToolPropertiesAllocator, Dispatch const & d ) const { @@ -7458,29 +9757,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector toolProperties( physicalDeviceToolPropertiesAllocator ); uint32_t toolCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && toolCount ) + result_ = static_cast( d.vkGetPhysicalDeviceToolProperties( static_cast( m_physicalDevice ), &toolCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && toolCount ) { toolProperties.resize( toolCount ); - result = static_cast( - d.vkGetPhysicalDeviceToolProperties( m_physicalDevice, &toolCount, reinterpret_cast( toolProperties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceToolProperties( + static_cast( m_physicalDevice ), &toolCount, reinterpret_cast( toolProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); if ( toolCount < toolProperties.size() ) { toolProperties.resize( toolCount ); } - return detail::createResultValueType( result, std::move( toolProperties ) ); + return detail::createResultValueType( result_, std::move( toolProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlot ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPrivateDataSlot( PrivateDataSlotCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PrivateDataSlot * pPrivateDataSlot, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -7494,7 +9798,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlot ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createPrivateDataSlot( PrivateDataSlotCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -7504,18 +9813,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PrivateDataSlot privateDataSlot; - Result result = static_cast( d.vkCreatePrivateDataSlot( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &privateDataSlot ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlot" ); + Result result_ = static_cast( d.vkCreatePrivateDataSlot( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &privateDataSlot ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlot" ); - return detail::createResultValueType( result, std::move( privateDataSlot ) ); + return detail::createResultValueType( result_, std::move( privateDataSlot ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlot ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createPrivateDataSlotUnique( PrivateDataSlotCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -7525,20 +9839,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PrivateDataSlot privateDataSlot; - Result result = static_cast( d.vkCreatePrivateDataSlot( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &privateDataSlot ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotUnique" ); + Result result_ = static_cast( d.vkCreatePrivateDataSlot( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &privateDataSlot ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotUnique" ); return detail::createResultValueType( - result, UniqueHandle( privateDataSlot, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( privateDataSlot, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +#endif VULKAN_HPP_INLINE void Device::destroyPrivateDataSlot( PrivateDataSlot privateDataSlot, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7549,7 +9868,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +# endif VULKAN_HPP_INLINE void Device::destroyPrivateDataSlot( PrivateDataSlot privateDataSlot, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7558,13 +9882,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPrivateDataSlot && "Function requires or " ); # endif - d.vkDestroyPrivateDataSlot( - m_device, static_cast( privateDataSlot ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPrivateDataSlot( static_cast( m_device ), + static_cast( privateDataSlot ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( PrivateDataSlot privateDataSlot, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7575,7 +9905,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( PrivateDataSlot privateDataSlot, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7584,14 +9919,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPrivateDataSlot && "Function requires or " ); # endif - d.vkDestroyPrivateDataSlot( - m_device, static_cast( privateDataSlot ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPrivateDataSlot( static_cast( m_device ), + static_cast( privateDataSlot ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetPrivateData ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setPrivateData( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, uint64_t data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7601,7 +9942,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetPrivateData ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setPrivateData( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, uint64_t data, Dispatch const & d ) const { @@ -7610,16 +9956,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetPrivateData && "Function requires or " ); # endif - Result result = static_cast( - d.vkSetPrivateData( m_device, static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateData" ); + Result result_ = static_cast( d.vkSetPrivateData( + static_cast( m_device ), static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateData" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPrivateData ) ) +#endif VULKAN_HPP_INLINE void Device::getPrivateData( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, uint64_t * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7630,7 +9981,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPrivateData ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateData( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7640,14 +9996,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint64_t data; - d.vkGetPrivateData( m_device, static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), &data ); + d.vkGetPrivateData( + static_cast( m_device ), static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), &data ); return data; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2( DependencyInfo const * pDependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7656,7 +10018,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2( DependencyInfo const & dependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7664,12 +10031,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPipelineBarrier2 && "Function requires or " ); # endif - d.vkCmdPipelineBarrier2( m_commandBuffer, reinterpret_cast( &dependencyInfo ) ); + d.vkCmdPipelineBarrier2( static_cast( m_commandBuffer ), reinterpret_cast( &dependencyInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteTimestamp2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteTimestamp2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2( PipelineStageFlags2 stage, QueryPool queryPool, uint32_t query, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7679,7 +10051,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueSubmit2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit2( uint32_t submitCount, SubmitInfo2 const * pSubmits, Fence fence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7690,7 +10067,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueSubmit2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::submit2( ArrayProxy const & submits, Fence fence, Dispatch const & d ) const { @@ -7699,16 +10081,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueSubmit2 && "Function requires or " ); # endif - Result result = static_cast( - d.vkQueueSubmit2( m_queue, submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2" ); + Result result_ = static_cast( d.vkQueueSubmit2( + static_cast( m_queue ), submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2( CopyBufferInfo2 const * pCopyBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7717,7 +10104,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2( CopyBufferInfo2 const & copyBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7725,12 +10117,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyBuffer2 && "Function requires or " ); # endif - d.vkCmdCopyBuffer2( m_commandBuffer, reinterpret_cast( ©BufferInfo ) ); + d.vkCmdCopyBuffer2( static_cast( m_commandBuffer ), reinterpret_cast( ©BufferInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImage2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImage2( CopyImageInfo2 const * pCopyImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7739,7 +10136,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImage2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImage2( CopyImageInfo2 const & copyImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7747,12 +10149,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImage2 && "Function requires or " ); # endif - d.vkCmdCopyImage2( m_commandBuffer, reinterpret_cast( ©ImageInfo ) ); + d.vkCmdCopyImage2( static_cast( m_commandBuffer ), reinterpret_cast( ©ImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2( CopyBufferToImageInfo2 const * pCopyBufferToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7762,7 +10169,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2( CopyBufferToImageInfo2 const & copyBufferToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7770,12 +10182,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyBufferToImage2 && "Function requires or " ); # endif - d.vkCmdCopyBufferToImage2( m_commandBuffer, reinterpret_cast( ©BufferToImageInfo ) ); + d.vkCmdCopyBufferToImage2( static_cast( m_commandBuffer ), reinterpret_cast( ©BufferToImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2( CopyImageToBufferInfo2 const * pCopyImageToBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7785,7 +10202,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2( CopyImageToBufferInfo2 const & copyImageToBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -7793,13 +10215,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImageToBuffer2 && "Function requires or " ); # endif - d.vkCmdCopyImageToBuffer2( m_commandBuffer, reinterpret_cast( ©ImageToBufferInfo ) ); + d.vkCmdCopyImageToBuffer2( static_cast( m_commandBuffer ), reinterpret_cast( ©ImageToBufferInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirements ) ) +#endif VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements( DeviceBufferMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7812,7 +10239,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getBufferMemoryRequirements( DeviceBufferMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7823,15 +10255,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetDeviceBufferMemoryRequirements( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceBufferMemoryRequirements( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getBufferMemoryRequirements( DeviceBufferMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7843,8 +10281,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetDeviceBufferMemoryRequirements( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceBufferMemoryRequirements( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -7852,7 +10291,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirements ) ) +#endif VULKAN_HPP_INLINE void Device::getImageMemoryRequirements( DeviceImageMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7865,7 +10309,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getImageMemoryRequirements( DeviceImageMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7876,15 +10325,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetDeviceImageMemoryRequirements( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceImageMemoryRequirements( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageMemoryRequirements( DeviceImageMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -7896,8 +10351,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetDeviceImageMemoryRequirements( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceImageMemoryRequirements( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -7905,7 +10361,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirements ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements( DeviceImageMemoryRequirements const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -7921,11 +10382,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements( DeviceImageMemoryRequirements const & info, Dispatch const & d ) const { @@ -7938,9 +10404,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements; uint32_t sparseMemoryRequirementCount; d.vkGetDeviceImageSparseMemoryRequirements( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetDeviceImageSparseMemoryRequirements( m_device, + d.vkGetDeviceImageSparseMemoryRequirements( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -7955,11 +10421,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements( DeviceImageMemoryRequirements const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, Dispatch const & d ) @@ -7974,9 +10445,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements( sparseImageMemoryRequirements2Allocator ); uint32_t sparseMemoryRequirementCount; d.vkGetDeviceImageSparseMemoryRequirements( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetDeviceImageSparseMemoryRequirements( m_device, + d.vkGetDeviceImageSparseMemoryRequirements( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -7991,7 +10462,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetEvent2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setEvent2( Event event, DependencyInfo const * pDependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8001,7 +10477,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetEvent2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setEvent2( Event event, DependencyInfo const & dependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8009,12 +10490,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetEvent2 && "Function requires or " ); # endif - d.vkCmdSetEvent2( m_commandBuffer, static_cast( event ), reinterpret_cast( &dependencyInfo ) ); + d.vkCmdSetEvent2( + static_cast( m_commandBuffer ), static_cast( event ), reinterpret_cast( &dependencyInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResetEvent2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resetEvent2( Event event, PipelineStageFlags2 stageMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8022,7 +10509,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::waitEvents2( uint32_t eventCount, Event const * pEvents, DependencyInfo const * pDependencyInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8035,7 +10527,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::waitEvents2( ArrayProxy const & events, ArrayProxy const & dependencyInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS @@ -8053,7 +10550,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdWaitEvents2( m_commandBuffer, + d.vkCmdWaitEvents2( static_cast( m_commandBuffer ), events.size(), reinterpret_cast( events.data() ), reinterpret_cast( dependencyInfos.data() ) ); @@ -8061,7 +10558,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBlitImage2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::blitImage2( BlitImageInfo2 const * pBlitImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8070,7 +10572,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBlitImage2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::blitImage2( BlitImageInfo2 const & blitImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8078,12 +10585,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBlitImage2 && "Function requires or " ); # endif - d.vkCmdBlitImage2( m_commandBuffer, reinterpret_cast( &blitImageInfo ) ); + d.vkCmdBlitImage2( static_cast( m_commandBuffer ), reinterpret_cast( &blitImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResolveImage2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resolveImage2( ResolveImageInfo2 const * pResolveImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8092,7 +10604,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdResolveImage2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::resolveImage2( ResolveImageInfo2 const & resolveImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8100,12 +10617,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdResolveImage2 && "Function requires or " ); # endif - d.vkCmdResolveImage2( m_commandBuffer, reinterpret_cast( &resolveImageInfo ) ); + d.vkCmdResolveImage2( static_cast( m_commandBuffer ), reinterpret_cast( &resolveImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRendering ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginRendering( RenderingInfo const * pRenderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8114,7 +10636,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRendering ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginRendering( RenderingInfo const & renderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8122,12 +10649,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginRendering && "Function requires or " ); # endif - d.vkCmdBeginRendering( m_commandBuffer, reinterpret_cast( &renderingInfo ) ); + d.vkCmdBeginRendering( static_cast( m_commandBuffer ), reinterpret_cast( &renderingInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRendering ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRendering( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8135,7 +10667,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetCullMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullMode.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCullMode ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCullMode( CullModeFlags cullMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8143,7 +10680,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFace.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetFrontFace ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setFrontFace( FrontFace frontFace, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8151,7 +10693,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetPrimitiveTopology, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopology.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveTopology ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopology( PrimitiveTopology primitiveTopology, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8159,7 +10706,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCount ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCount( uint32_t viewportCount, Viewport const * pViewports, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8169,7 +10721,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCount ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCount( ArrayProxy const & viewports, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8178,12 +10735,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - d.vkCmdSetViewportWithCount( m_commandBuffer, viewports.size(), reinterpret_cast( viewports.data() ) ); + d.vkCmdSetViewportWithCount( static_cast( m_commandBuffer ), viewports.size(), reinterpret_cast( viewports.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCount ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCount( uint32_t scissorCount, Rect2D const * pScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8192,7 +10754,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCount ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCount( ArrayProxy const & scissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8201,12 +10768,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - d.vkCmdSetScissorWithCount( m_commandBuffer, scissors.size(), reinterpret_cast( scissors.data() ) ); + d.vkCmdSetScissorWithCount( static_cast( m_commandBuffer ), scissors.size(), reinterpret_cast( scissors.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, @@ -8227,7 +10799,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -8259,7 +10836,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBindVertexBuffers2( m_commandBuffer, + d.vkCmdBindVertexBuffers2( static_cast( m_commandBuffer ), firstBinding, buffers.size(), reinterpret_cast( buffers.data() ), @@ -8270,7 +10847,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthTestEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnable( Bool32 depthTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8278,7 +10860,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthWriteEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthWriteEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnable( Bool32 depthWriteEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8286,7 +10873,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthCompareOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOp.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthCompareOp ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOp( CompareOp depthCompareOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8295,7 +10887,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetDepthBoundsTestEnable, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBoundsTestEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnable( Bool32 depthBoundsTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8303,7 +10900,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilTestEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnable( Bool32 stencilTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8311,7 +10913,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOp.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilOp ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilOp( StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, StencilOp depthFailOp, CompareOp compareOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8326,7 +10933,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRasterizerDiscardEnable, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizerDiscardEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnable( Bool32 rasterizerDiscardEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8334,7 +10946,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthBiasEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBiasEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnable( Bool32 depthBiasEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8343,7 +10960,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPrimitiveRestartEnable, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveRestartEnable ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnable( Bool32 primitiveRestartEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8353,7 +10975,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_4 === // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkMapMemory2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory2( MemoryMapInfo const * pMemoryMapInfo, void ** ppData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8363,7 +10990,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkMapMemory2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::mapMemory2( MemoryMapInfo const & memoryMapInfo, Dispatch const & d ) const { @@ -8373,15 +11005,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif void * pData; - Result result = static_cast( d.vkMapMemory2( m_device, reinterpret_cast( &memoryMapInfo ), &pData ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2" ); + Result result_ = + static_cast( d.vkMapMemory2( static_cast( m_device ), reinterpret_cast( &memoryMapInfo ), &pData ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2" ); - return detail::createResultValueType( result, std::move( pData ) ); + return detail::createResultValueType( result_, std::move( pData ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUnmapMemory2 ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::unmapMemory2( MemoryUnmapInfo const * pMemoryUnmapInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8390,7 +11028,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUnmapMemory2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::unmapMemory2( MemoryUnmapInfo const & memoryUnmapInfo, Dispatch const & d ) const { @@ -8399,16 +11042,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkUnmapMemory2 && "Function requires or " ); # endif - Result result = static_cast( d.vkUnmapMemory2( m_device, reinterpret_cast( &memoryUnmapInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::unmapMemory2" ); + Result result_ = + static_cast( d.vkUnmapMemory2( static_cast( m_device ), reinterpret_cast( &memoryUnmapInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::unmapMemory2" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceImageSubresourceLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayout ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSubresourceLayout( DeviceImageSubresourceInfo const * pInfo, SubresourceLayout2 * pLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8420,7 +11069,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSubresourceLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Device::getImageSubresourceLayout( DeviceImageSubresourceInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8432,14 +11086,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE SubresourceLayout2 layout; d.vkGetDeviceImageSubresourceLayout( - m_device, reinterpret_cast( &info ), reinterpret_cast( &layout ) ); + static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &layout ) ); return layout; } // wrapper function for command vkGetDeviceImageSubresourceLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayout ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageSubresourceLayout( DeviceImageSubresourceInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8452,14 +11111,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SubresourceLayout2 & layout = structureChain.template get(); d.vkGetDeviceImageSubresourceLayout( - m_device, reinterpret_cast( &info ), reinterpret_cast( &layout ) ); + static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &layout ) ); return structureChain; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageSubresourceLayout2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2 ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSubresourceLayout2( Image image, ImageSubresource2 const * pSubresource, SubresourceLayout2 * pLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8472,7 +11136,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Device::getImageSubresourceLayout2( Image image, ImageSubresource2 const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8484,7 +11153,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SubresourceLayout2 layout; - d.vkGetImageSubresourceLayout2( m_device, + d.vkGetImageSubresourceLayout2( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -8493,7 +11162,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkGetImageSubresourceLayout2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2 ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageSubresourceLayout2( Image image, ImageSubresource2 const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8506,7 +11180,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SubresourceLayout2 & layout = structureChain.template get(); - d.vkGetImageSubresourceLayout2( m_device, + d.vkGetImageSubresourceLayout2( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -8516,8 +11190,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToImage( CopyMemoryToImageInfo const * pCopyMemoryToImageInfo, Dispatch const & d ) +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToImage ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToImage( CopyMemoryToImageInfo const * pCopyMemoryToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8527,7 +11206,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToImage ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::copyMemoryToImage( CopyMemoryToImageInfo const & copyMemoryToImageInfo, Dispatch const & d ) const { @@ -8536,15 +11220,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyMemoryToImage && "Function requires or " ); # endif - Result result = static_cast( d.vkCopyMemoryToImage( m_device, reinterpret_cast( ©MemoryToImageInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToImage" ); + Result result_ = static_cast( + d.vkCopyMemoryToImage( static_cast( m_device ), reinterpret_cast( ©MemoryToImageInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToImage" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyImageToMemory ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToMemory( CopyImageToMemoryInfo const * pCopyImageToMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8555,7 +11245,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyImageToMemory ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::copyImageToMemory( CopyImageToMemoryInfo const & copyImageToMemoryInfo, Dispatch const & d ) const { @@ -8564,15 +11259,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyImageToMemory && "Function requires or " ); # endif - Result result = static_cast( d.vkCopyImageToMemory( m_device, reinterpret_cast( ©ImageToMemoryInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToMemory" ); + Result result_ = static_cast( + d.vkCopyImageToMemory( static_cast( m_device ), reinterpret_cast( ©ImageToMemoryInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToMemory" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyImageToImage ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToImage( CopyImageToImageInfo const * pCopyImageToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8583,7 +11284,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyImageToImage ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::copyImageToImage( CopyImageToImageInfo const & copyImageToImageInfo, Dispatch const & d ) const { @@ -8592,15 +11298,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyImageToImage && "Function requires or " ); # endif - Result result = static_cast( d.vkCopyImageToImage( m_device, reinterpret_cast( ©ImageToImageInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToImage" ); + Result result_ = static_cast( + d.vkCopyImageToImage( static_cast( m_device ), reinterpret_cast( ©ImageToImageInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToImage" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkTransitionImageLayout ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::transitionImageLayout( uint32_t transitionCount, HostImageLayoutTransitionInfo const * pTransitions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8611,7 +11323,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkTransitionImageLayout ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::transitionImageLayout( ArrayProxy const & transitions, Dispatch const & d ) const { @@ -8620,16 +11337,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkTransitionImageLayout && "Function requires or " ); # endif - Result result = static_cast( - d.vkTransitionImageLayout( m_device, transitions.size(), reinterpret_cast( transitions.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::transitionImageLayout" ); + Result result_ = static_cast( d.vkTransitionImageLayout( + static_cast( m_device ), transitions.size(), reinterpret_cast( transitions.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::transitionImageLayout" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -8648,7 +11370,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -8660,7 +11387,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSet && "Function requires or " ); # endif - d.vkCmdPushDescriptorSet( m_commandBuffer, + d.vkCmdPushDescriptorSet( static_cast( m_commandBuffer ), static_cast( pipelineBindPoint ), static_cast( layout ), set, @@ -8671,7 +11398,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, void const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8686,7 +11418,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, DataType const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -8698,7 +11435,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - d.vkCmdPushDescriptorSetWithTemplate( m_commandBuffer, + d.vkCmdPushDescriptorSetWithTemplate( static_cast( m_commandBuffer ), static_cast( descriptorUpdateTemplate ), static_cast( layout ), set, @@ -8707,7 +11444,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2( BindDescriptorSetsInfo const * pBindDescriptorSetsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8718,7 +11460,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2( BindDescriptorSetsInfo const & bindDescriptorSetsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8727,12 +11474,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorSets2 && "Function requires or " ); # endif - d.vkCmdBindDescriptorSets2( m_commandBuffer, reinterpret_cast( &bindDescriptorSetsInfo ) ); + d.vkCmdBindDescriptorSets2( static_cast( m_commandBuffer ), + reinterpret_cast( &bindDescriptorSetsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushConstants2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushConstants2( PushConstantsInfo const * pPushConstantsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8741,7 +11494,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushConstants2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushConstants2( PushConstantsInfo const & pushConstantsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8749,12 +11507,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushConstants2 && "Function requires or " ); # endif - d.vkCmdPushConstants2( m_commandBuffer, reinterpret_cast( &pushConstantsInfo ) ); + d.vkCmdPushConstants2( static_cast( m_commandBuffer ), reinterpret_cast( &pushConstantsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2( PushDescriptorSetInfo const * pPushDescriptorSetInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8763,7 +11526,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2( PushDescriptorSetInfo const & pushDescriptorSetInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8771,13 +11539,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSet2 && "Function requires or " ); # endif - d.vkCmdPushDescriptorSet2( m_commandBuffer, reinterpret_cast( &pushDescriptorSetInfo ) ); + d.vkCmdPushDescriptorSet2( static_cast( m_commandBuffer ), reinterpret_cast( &pushDescriptorSetInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate2( PushDescriptorSetWithTemplateInfo const * pPushDescriptorSetWithTemplateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8789,7 +11562,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2 ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate2( PushDescriptorSetWithTemplateInfo const & pushDescriptorSetWithTemplateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8799,13 +11577,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdPushDescriptorSetWithTemplate2( m_commandBuffer, + d.vkCmdPushDescriptorSetWithTemplate2( static_cast( m_commandBuffer ), reinterpret_cast( &pushDescriptorSetWithTemplateInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetLineStipple, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStipple.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStipple ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLineStipple( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8813,7 +11596,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdBindIndexBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer2 ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer2( Buffer buffer, DeviceSize offset, DeviceSize size, IndexType indexType, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8827,7 +11615,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRenderingAreaGranularity, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularity ) ) +#endif VULKAN_HPP_INLINE void Device::getRenderingAreaGranularity( RenderingAreaInfo const * pRenderingAreaInfo, Extent2D * pGranularity, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8839,7 +11632,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRenderingAreaGranularity, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularity ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Extent2D Device::getRenderingAreaGranularity( RenderingAreaInfo const & renderingAreaInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8850,7 +11648,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Extent2D granularity; d.vkGetRenderingAreaGranularity( - m_device, reinterpret_cast( &renderingAreaInfo ), reinterpret_cast( &granularity ) ); + static_cast( m_device ), reinterpret_cast( &renderingAreaInfo ), reinterpret_cast( &granularity ) ); return granularity; } @@ -8858,7 +11656,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRenderingAttachmentLocations, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocations ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocations( RenderingAttachmentLocationInfo const * pLocationInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8870,7 +11673,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingAttachmentLocations, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocations ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocations( RenderingAttachmentLocationInfo const & locationInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8880,13 +11688,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetRenderingAttachmentLocations( m_commandBuffer, reinterpret_cast( &locationInfo ) ); + d.vkCmdSetRenderingAttachmentLocations( static_cast( m_commandBuffer ), + reinterpret_cast( &locationInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndices ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingInputAttachmentIndices( RenderingInputAttachmentIndexInfo const * pInputAttachmentIndexInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8898,7 +11712,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndices ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingInputAttachmentIndices( RenderingInputAttachmentIndexInfo const & inputAttachmentIndexInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8908,14 +11727,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetRenderingInputAttachmentIndices( m_commandBuffer, reinterpret_cast( &inputAttachmentIndexInfo ) ); + d.vkCmdSetRenderingInputAttachmentIndices( static_cast( m_commandBuffer ), + reinterpret_cast( &inputAttachmentIndexInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_surface === // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +#endif VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( SurfaceKHR surface, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8925,7 +11750,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +# endif VULKAN_HPP_INLINE void Instance::destroySurfaceKHR( SurfaceKHR surface, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8934,12 +11764,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySurfaceKHR && "Function requires " ); # endif - d.vkDestroySurfaceKHR( m_instance, static_cast( surface ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySurfaceKHR( + static_cast( m_instance ), static_cast( surface ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +#endif VULKAN_HPP_INLINE void Instance::destroy( SurfaceKHR surface, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8949,7 +11785,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +# endif VULKAN_HPP_INLINE void Instance::destroy( SurfaceKHR surface, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -8957,13 +11798,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySurfaceKHR && "Function requires " ); # endif - d.vkDestroySurfaceKHR( m_instance, static_cast( surface ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySurfaceKHR( + static_cast( m_instance ), static_cast( surface ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceSupportKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Bool32 * pSupported, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -8975,7 +11822,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceSupportKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Dispatch const & d ) const { @@ -8985,17 +11837,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Bool32 supported; - Result result = static_cast( d.vkGetPhysicalDeviceSurfaceSupportKHR( - m_physicalDevice, queueFamilyIndex, static_cast( surface ), reinterpret_cast( &supported ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); + Result result_ = static_cast( d.vkGetPhysicalDeviceSurfaceSupportKHR( + static_cast( m_physicalDevice ), queueFamilyIndex, static_cast( surface ), reinterpret_cast( &supported ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); - return detail::createResultValueType( result, std::move( supported ) ); + return detail::createResultValueType( result_, std::move( supported ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilitiesKHR( SurfaceKHR surface, SurfaceCapabilitiesKHR * pSurfaceCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9008,7 +11865,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getSurfaceCapabilitiesKHR( SurfaceKHR surface, Dispatch const & d ) const { @@ -9018,17 +11880,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceCapabilitiesKHR surfaceCapabilities; - Result result = static_cast( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( - m_physicalDevice, static_cast( surface ), reinterpret_cast( &surfaceCapabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); + Result result_ = static_cast( d.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( static_cast( m_physicalDevice ), + static_cast( surface ), + reinterpret_cast( &surfaceCapabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); - return detail::createResultValueType( result, std::move( surfaceCapabilities ) ); + return detail::createResultValueType( result_, std::move( surfaceCapabilities ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormatsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceFormatsKHR( SurfaceKHR surface, uint32_t * pSurfaceFormatCount, SurfaceFormatKHR * pSurfaceFormats, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9042,10 +11910,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SurfaceFormatKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormatsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceFormatsKHR( SurfaceKHR surface, Dispatch const & d ) const { @@ -9056,33 +11929,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = - static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast( surface ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &surfaceFormatCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { surfaceFormats.resize( surfaceFormatCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( - m_physicalDevice, static_cast( surface ), &surfaceFormatCount, reinterpret_cast( surfaceFormats.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast( m_physicalDevice ), + static_cast( surface ), + &surfaceFormatCount, + reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { surfaceFormats.resize( surfaceFormatCount ); } - return detail::createResultValueType( result, std::move( surfaceFormats ) ); + return detail::createResultValueType( result_, std::move( surfaceFormats ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SurfaceFormatKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormatsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceFormatsKHR( SurfaceKHR surface, SurfaceFormatKHRAllocator const & surfaceFormatKHRAllocator, Dispatch const & d ) const { @@ -9093,31 +11973,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector surfaceFormats( surfaceFormatKHRAllocator ); uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = - static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( m_physicalDevice, static_cast( surface ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &surfaceFormatCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { surfaceFormats.resize( surfaceFormatCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( - m_physicalDevice, static_cast( surface ), &surfaceFormatCount, reinterpret_cast( surfaceFormats.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast( m_physicalDevice ), + static_cast( surface ), + &surfaceFormatCount, + reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { surfaceFormats.resize( surfaceFormatCount ); } - return detail::createResultValueType( result, std::move( surfaceFormats ) ); + return detail::createResultValueType( result_, std::move( surfaceFormats ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfacePresentModesKHR( SurfaceKHR surface, uint32_t * pPresentModeCount, PresentModeKHR * pPresentModes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9131,10 +12018,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PresentModeKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfacePresentModesKHR( SurfaceKHR surface, Dispatch const & d ) const { @@ -9145,33 +12037,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentModes; uint32_t presentModeCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast( surface ), &presentModeCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentModeCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModesKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &presentModeCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && presentModeCount ) { presentModes.resize( presentModeCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfacePresentModesKHR( - m_physicalDevice, static_cast( surface ), &presentModeCount, reinterpret_cast( presentModes.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast( m_physicalDevice ), + static_cast( surface ), + &presentModeCount, + reinterpret_cast( presentModes.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); if ( presentModeCount < presentModes.size() ) { presentModes.resize( presentModeCount ); } - return detail::createResultValueType( result, std::move( presentModes ) ); + return detail::createResultValueType( result_, std::move( presentModes ) ); } // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PresentModeKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfacePresentModesKHR( SurfaceKHR surface, PresentModeKHRAllocator const & presentModeKHRAllocator, Dispatch const & d ) const { @@ -9182,32 +12081,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentModes( presentModeKHRAllocator ); uint32_t presentModeCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetPhysicalDeviceSurfacePresentModesKHR( m_physicalDevice, static_cast( surface ), &presentModeCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentModeCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModesKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &presentModeCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && presentModeCount ) { presentModes.resize( presentModeCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfacePresentModesKHR( - m_physicalDevice, static_cast( surface ), &presentModeCount, reinterpret_cast( presentModes.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast( m_physicalDevice ), + static_cast( surface ), + &presentModeCount, + reinterpret_cast( presentModes.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); if ( presentModeCount < presentModes.size() ) { presentModes.resize( presentModeCount ); } - return detail::createResultValueType( result, std::move( presentModes ) ); + return detail::createResultValueType( result_, std::move( presentModes ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_swapchain === // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateSwapchainKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSwapchainKHR( SwapchainCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SwapchainKHR * pSwapchain, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -9221,7 +12127,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSwapchainKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -9231,18 +12142,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SwapchainKHR swapchain; - Result result = static_cast( d.vkCreateSwapchainKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &swapchain ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHR" ); + Result result_ = static_cast( d.vkCreateSwapchainKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &swapchain ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHR" ); - return detail::createResultValueType( result, std::move( swapchain ) ); + return detail::createResultValueType( result_, std::move( swapchain ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSwapchainKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSwapchainKHRUnique( SwapchainCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -9252,20 +12168,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SwapchainKHR swapchain; - Result result = static_cast( d.vkCreateSwapchainKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &swapchain ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHRUnique" ); + Result result_ = static_cast( d.vkCreateSwapchainKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &swapchain ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSwapchainKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( swapchain, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroySwapchainKHR( SwapchainKHR swapchain, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9276,7 +12197,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroySwapchainKHR( SwapchainKHR swapchain, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9285,12 +12211,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySwapchainKHR && "Function requires " ); # endif - d.vkDestroySwapchainKHR( m_device, static_cast( swapchain ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySwapchainKHR( + static_cast( m_device ), static_cast( swapchain ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( SwapchainKHR swapchain, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -9300,7 +12232,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( SwapchainKHR swapchain, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -9308,12 +12245,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroySwapchainKHR && "Function requires " ); # endif - d.vkDestroySwapchainKHR( m_device, static_cast( swapchain ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySwapchainKHR( + static_cast( m_device ), static_cast( swapchain ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainImagesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainImagesKHR( SwapchainKHR swapchain, uint32_t * pSwapchainImageCount, Image * pSwapchainImages, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9324,10 +12267,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ImageAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetSwapchainImagesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getSwapchainImagesKHR( SwapchainKHR swapchain, Dispatch const & d ) const { @@ -9338,31 +12286,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector swapchainImages; uint32_t swapchainImageCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetSwapchainImagesKHR( m_device, static_cast( swapchain ), &swapchainImageCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && swapchainImageCount ) + result_ = static_cast( + d.vkGetSwapchainImagesKHR( static_cast( m_device ), static_cast( swapchain ), &swapchainImageCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && swapchainImageCount ) { swapchainImages.resize( swapchainImageCount ); - result = static_cast( d.vkGetSwapchainImagesKHR( - m_device, static_cast( swapchain ), &swapchainImageCount, reinterpret_cast( swapchainImages.data() ) ) ); + result_ = static_cast( d.vkGetSwapchainImagesKHR( static_cast( m_device ), + static_cast( swapchain ), + &swapchainImageCount, + reinterpret_cast( swapchainImages.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" ); VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); if ( swapchainImageCount < swapchainImages.size() ) { swapchainImages.resize( swapchainImageCount ); } - return detail::createResultValueType( result, std::move( swapchainImages ) ); + return detail::createResultValueType( result_, std::move( swapchainImages ) ); } // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ImageAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetSwapchainImagesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getSwapchainImagesKHR( SwapchainKHR swapchain, ImageAllocator const & imageAllocator, Dispatch const & d ) const { @@ -9373,29 +12329,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector swapchainImages( imageAllocator ); uint32_t swapchainImageCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetSwapchainImagesKHR( m_device, static_cast( swapchain ), &swapchainImageCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && swapchainImageCount ) + result_ = static_cast( + d.vkGetSwapchainImagesKHR( static_cast( m_device ), static_cast( swapchain ), &swapchainImageCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && swapchainImageCount ) { swapchainImages.resize( swapchainImageCount ); - result = static_cast( d.vkGetSwapchainImagesKHR( - m_device, static_cast( swapchain ), &swapchainImageCount, reinterpret_cast( swapchainImages.data() ) ) ); + result_ = static_cast( d.vkGetSwapchainImagesKHR( static_cast( m_device ), + static_cast( swapchain ), + &swapchainImageCount, + reinterpret_cast( swapchainImages.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainImagesKHR" ); VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); if ( swapchainImageCount < swapchainImages.size() ) { swapchainImages.resize( swapchainImageCount ); } - return detail::createResultValueType( result, std::move( swapchainImages ) ); + return detail::createResultValueType( result_, std::move( swapchainImages ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAcquireNextImageKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, Fence fence, uint32_t * pImageIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9410,7 +12374,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireNextImageKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, Fence fence, Dispatch const & d ) const { @@ -9420,24 +12389,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint32_t imageIndex; - Result result = static_cast( d.vkAcquireNextImageKHR( - m_device, static_cast( swapchain ), timeout, static_cast( semaphore ), static_cast( fence ), &imageIndex ) ); + Result result_ = static_cast( d.vkAcquireNextImageKHR( static_cast( m_device ), + static_cast( swapchain ), + timeout, + static_cast( semaphore ), + static_cast( fence ), + &imageIndex ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImageKHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImageKHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImageKHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); # endif - return { result, imageIndex }; + return { result_, imageIndex }; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueuePresentKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::presentKHR( PresentInfoKHR const * pPresentInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -9446,7 +12424,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueuePresentKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::presentKHR( PresentInfoKHR const & presentInfo, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -9454,21 +12437,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueuePresentKHR && "Function requires " ); # endif - Result result = static_cast( d.vkQueuePresentKHR( m_queue, reinterpret_cast( &presentInfo ) ) ); + Result result_ = static_cast( d.vkQueuePresentKHR( static_cast( m_queue ), reinterpret_cast( &presentInfo ) ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPresentCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGroupPresentCapabilitiesKHR( DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9480,7 +12468,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPresentCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getGroupPresentCapabilitiesKHR( Dispatch const & d ) const { @@ -9491,17 +12484,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities; - Result result = static_cast( - d.vkGetDeviceGroupPresentCapabilitiesKHR( m_device, reinterpret_cast( &deviceGroupPresentCapabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); + Result result_ = static_cast( d.vkGetDeviceGroupPresentCapabilitiesKHR( + static_cast( m_device ), reinterpret_cast( &deviceGroupPresentCapabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); - return detail::createResultValueType( result, std::move( deviceGroupPresentCapabilities ) ); + return detail::createResultValueType( result_, std::move( deviceGroupPresentCapabilities ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGroupSurfacePresentModesKHR( SurfaceKHR surface, DeviceGroupPresentModeFlagsKHR * pModes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9513,7 +12511,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getGroupSurfacePresentModesKHR( SurfaceKHR surface, Dispatch const & d ) const { @@ -9524,17 +12527,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceGroupPresentModeFlagsKHR modes; - Result result = static_cast( d.vkGetDeviceGroupSurfacePresentModesKHR( - m_device, static_cast( surface ), reinterpret_cast( &modes ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); + Result result_ = static_cast( d.vkGetDeviceGroupSurfacePresentModesKHR( + static_cast( m_device ), static_cast( surface ), reinterpret_cast( &modes ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); - return detail::createResultValueType( result, std::move( modes ) ); + return detail::createResultValueType( result_, std::move( modes ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDevicePresentRectanglesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getPresentRectanglesKHR( SurfaceKHR surface, uint32_t * pRectCount, Rect2D * pRects, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9546,10 +12554,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Rect2DAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDevicePresentRectanglesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getPresentRectanglesKHR( SurfaceKHR surface, Dispatch const & d ) const { @@ -9561,32 +12574,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector rects; uint32_t rectCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast( surface ), &rectCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && rectCount ) + result_ = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &rectCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && rectCount ) { rects.resize( rectCount ); - result = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( - m_physicalDevice, static_cast( surface ), &rectCount, reinterpret_cast( rects.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &rectCount, reinterpret_cast( rects.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); VULKAN_HPP_ASSERT( rectCount <= rects.size() ); if ( rectCount < rects.size() ) { rects.resize( rectCount ); } - return detail::createResultValueType( result, std::move( rects ) ); + return detail::createResultValueType( result_, std::move( rects ) ); } // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Rect2DAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDevicePresentRectanglesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getPresentRectanglesKHR( SurfaceKHR surface, Rect2DAllocator const & rect2DAllocator, Dispatch const & d ) const { @@ -9598,29 +12617,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector rects( rect2DAllocator ); uint32_t rectCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( m_physicalDevice, static_cast( surface ), &rectCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && rectCount ) + result_ = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &rectCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && rectCount ) { rects.resize( rectCount ); - result = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( - m_physicalDevice, static_cast( surface ), &rectCount, reinterpret_cast( rects.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDevicePresentRectanglesKHR( + static_cast( m_physicalDevice ), static_cast( surface ), &rectCount, reinterpret_cast( rects.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); VULKAN_HPP_ASSERT( rectCount <= rects.size() ); if ( rectCount < rects.size() ) { rects.resize( rectCount ); } - return detail::createResultValueType( result, std::move( rects ) ); + return detail::createResultValueType( result_, std::move( rects ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAcquireNextImage2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireNextImage2KHR( AcquireNextImageInfoKHR const * pAcquireInfo, uint32_t * pImageIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9631,7 +12656,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireNextImage2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::acquireNextImage2KHR( AcquireNextImageInfoKHR const & acquireInfo, Dispatch const & d ) const { @@ -9641,19 +12671,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint32_t imageIndex; - Result result = - static_cast( d.vkAcquireNextImage2KHR( m_device, reinterpret_cast( &acquireInfo ), &imageIndex ) ); + Result result_ = static_cast( + d.vkAcquireNextImage2KHR( static_cast( m_device ), reinterpret_cast( &acquireInfo ), &imageIndex ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); + detail::resultCheck( result_, + VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR", + { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); # endif - return { result, imageIndex }; + return { result_, imageIndex }; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -9661,7 +12692,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPropertiesKHR( uint32_t * pPropertyCount, DisplayPropertiesKHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9673,10 +12709,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayPropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPropertiesKHR( Dispatch const & d ) const { @@ -9687,32 +12728,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( - d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPropertiesKHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayPropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPropertiesKHR( DisplayPropertiesKHRAllocator const & displayPropertiesKHRAllocator, Dispatch const & d ) const { @@ -9723,30 +12769,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( displayPropertiesKHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( - d.vkGetPhysicalDeviceDisplayPropertiesKHR( m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPropertiesKHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlanePropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlanePropertiesKHR( uint32_t * pPropertyCount, DisplayPlanePropertiesKHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9758,10 +12809,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayPlanePropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlanePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPlanePropertiesKHR( Dispatch const & d ) const { @@ -9772,32 +12828,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayPlanePropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlanePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPlanePropertiesKHR( DisplayPlanePropertiesKHRAllocator const & displayPlanePropertiesKHRAllocator, Dispatch const & d ) const { @@ -9808,30 +12870,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( displayPlanePropertiesKHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPlanePropertiesKHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneSupportedDisplaysKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, uint32_t * pDisplayCount, DisplayKHR * pDisplays, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9843,10 +12911,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayPlaneSupportedDisplaysKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d ) const { @@ -9857,32 +12930,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector displays; uint32_t displayCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && displayCount ) + result_ = + static_cast( d.vkGetDisplayPlaneSupportedDisplaysKHR( static_cast( m_physicalDevice ), planeIndex, &displayCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && displayCount ) { displays.resize( displayCount ); - result = static_cast( - d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, reinterpret_cast( displays.data() ) ) ); + result_ = static_cast( d.vkGetDisplayPlaneSupportedDisplaysKHR( + static_cast( m_physicalDevice ), planeIndex, &displayCount, reinterpret_cast( displays.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); VULKAN_HPP_ASSERT( displayCount <= displays.size() ); if ( displayCount < displays.size() ) { displays.resize( displayCount ); } - return detail::createResultValueType( result, std::move( displays ) ); + return detail::createResultValueType( result_, std::move( displays ) ); } // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayPlaneSupportedDisplaysKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, DisplayKHRAllocator const & displayKHRAllocator, Dispatch const & d ) const { @@ -9893,30 +12972,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector displays( displayKHRAllocator ); uint32_t displayCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && displayCount ) + result_ = + static_cast( d.vkGetDisplayPlaneSupportedDisplaysKHR( static_cast( m_physicalDevice ), planeIndex, &displayCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && displayCount ) { displays.resize( displayCount ); - result = static_cast( - d.vkGetDisplayPlaneSupportedDisplaysKHR( m_physicalDevice, planeIndex, &displayCount, reinterpret_cast( displays.data() ) ) ); + result_ = static_cast( d.vkGetDisplayPlaneSupportedDisplaysKHR( + static_cast( m_physicalDevice ), planeIndex, &displayCount, reinterpret_cast( displays.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); VULKAN_HPP_ASSERT( displayCount <= displays.size() ); if ( displayCount < displays.size() ) { displays.resize( displayCount ); } - return detail::createResultValueType( result, std::move( displays ) ); + return detail::createResultValueType( result_, std::move( displays ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayModePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDisplayModePropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayModePropertiesKHR( DisplayKHR display, uint32_t * pPropertyCount, DisplayModePropertiesKHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -9930,10 +13015,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayModePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayModePropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayModePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayModePropertiesKHR( DisplayKHR display, Dispatch const & d ) const { @@ -9944,32 +13034,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast( display ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), static_cast( display ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetDisplayModePropertiesKHR( - m_physicalDevice, static_cast( display ), &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), + static_cast( display ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDisplayModePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayModePropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayModePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayModePropertiesKHR( DisplayKHR display, DisplayModePropertiesKHRAllocator const & displayModePropertiesKHRAllocator, Dispatch const & d ) const @@ -9981,29 +13079,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( displayModePropertiesKHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayModePropertiesKHR( m_physicalDevice, static_cast( display ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), static_cast( display ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetDisplayModePropertiesKHR( - m_physicalDevice, static_cast( display ), &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), + static_cast( display ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModePropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDisplayModeKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::createDisplayModeKHR( DisplayKHR display, DisplayModeCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, DisplayModeKHR * pMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -10018,7 +13124,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayModeKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::createDisplayModeKHR( DisplayKHR display, DisplayModeCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10028,19 +13139,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayModeKHR mode; - Result result = static_cast( d.vkCreateDisplayModeKHR( m_physicalDevice, - static_cast( display ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &mode ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHR" ); + Result result_ = static_cast( d.vkCreateDisplayModeKHR( static_cast( m_physicalDevice ), + static_cast( display ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &mode ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHR" ); - return detail::createResultValueType( result, std::move( mode ) ); + return detail::createResultValueType( result_, std::move( mode ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayModeKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::createDisplayModeKHRUnique( DisplayKHR display, DisplayModeCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10050,22 +13166,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayModeKHR mode; - Result result = static_cast( d.vkCreateDisplayModeKHR( m_physicalDevice, - static_cast( display ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &mode ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHRUnique" ); + Result result_ = static_cast( d.vkCreateDisplayModeKHR( static_cast( m_physicalDevice ), + static_cast( display ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &mode ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::createDisplayModeKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( mode, detail::DummyDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( mode, detail::DummyDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneCapabilitiesKHR( DisplayModeKHR mode, uint32_t planeIndex, DisplayPlaneCapabilitiesKHR * pCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10079,7 +13200,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getDisplayPlaneCapabilitiesKHR( DisplayModeKHR mode, uint32_t planeIndex, Dispatch const & d ) const { @@ -10089,17 +13215,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayPlaneCapabilitiesKHR capabilities; - Result result = static_cast( d.vkGetDisplayPlaneCapabilitiesKHR( - m_physicalDevice, static_cast( mode ), planeIndex, reinterpret_cast( &capabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilitiesKHR" ); + Result result_ = static_cast( d.vkGetDisplayPlaneCapabilitiesKHR( static_cast( m_physicalDevice ), + static_cast( mode ), + planeIndex, + reinterpret_cast( &capabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilitiesKHR" ); - return detail::createResultValueType( result, std::move( capabilities ) ); + return detail::createResultValueType( result_, std::move( capabilities ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDisplayPlaneSurfaceKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createDisplayPlaneSurfaceKHR( DisplaySurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -10114,7 +13247,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayPlaneSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createDisplayPlaneSurfaceKHR( DisplaySurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10124,19 +13262,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateDisplayPlaneSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" ); + Result result_ = static_cast( d.vkCreateDisplayPlaneSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayPlaneSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createDisplayPlaneSurfaceKHRUnique( DisplaySurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10146,13 +13289,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateDisplayPlaneSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHRUnique" ); + Result result_ = static_cast( d.vkCreateDisplayPlaneSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10161,7 +13304,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_display_swapchain === // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSharedSwapchainsKHR( uint32_t swapchainCount, SwapchainCreateInfoKHR const * pCreateInfos, AllocationCallbacks const * pAllocator, @@ -10178,10 +13326,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SwapchainKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSharedSwapchainsKHR( ArrayProxy const & createInfos, Optional allocator, Dispatch const & d ) const { @@ -10191,21 +13344,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector swapchains( createInfos.size() ); - Result result = static_cast( d.vkCreateSharedSwapchainsKHR( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( swapchains.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + Result result_ = static_cast( d.vkCreateSharedSwapchainsKHR( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( swapchains.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); - return detail::createResultValueType( result, std::move( swapchains ) ); + return detail::createResultValueType( result_, std::move( swapchains ) ); } // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SwapchainKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSharedSwapchainsKHR( ArrayProxy const & createInfos, Optional allocator, @@ -10218,18 +13376,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector swapchains( createInfos.size(), {}, swapchainKHRAllocator ); - Result result = static_cast( d.vkCreateSharedSwapchainsKHR( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( swapchains.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + Result result_ = static_cast( d.vkCreateSharedSwapchainsKHR( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( swapchains.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); - return detail::createResultValueType( result, std::move( swapchains ) ); + return detail::createResultValueType( result_, std::move( swapchains ) ); } // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createSharedSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10239,22 +13402,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SwapchainKHR swapchain; - Result result = static_cast( d.vkCreateSharedSwapchainsKHR( m_device, - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &swapchain ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" ); + Result result_ = static_cast( d.vkCreateSharedSwapchainsKHR( static_cast( m_device ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &swapchain ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" ); - return detail::createResultValueType( result, std::move( swapchain ) ); + return detail::createResultValueType( result_, std::move( swapchain ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > SwapchainKHRAllocator> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, SwapchainKHRAllocator>>::type Device::createSharedSwapchainsKHRUnique( ArrayProxy const & createInfos, Optional allocator, Dispatch const & d ) const @@ -10265,12 +13433,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector swapchains( createInfos.size() ); - Result result = static_cast( d.vkCreateSharedSwapchainsKHR( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( swapchains.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" ); + Result result_ = static_cast( d.vkCreateSharedSwapchainsKHR( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( swapchains.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" ); std::vector, SwapchainKHRAllocator> uniqueSwapchains; uniqueSwapchains.reserve( createInfos.size() ); detail::ObjectDestroy deleter( *this, allocator, d ); @@ -10278,14 +13446,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueSwapchains.push_back( UniqueHandle( swapchain, deleter ) ); } - return detail::createResultValueType( result, std::move( uniqueSwapchains ) ); + return detail::createResultValueType( result_, std::move( uniqueSwapchains ) ); } // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > SwapchainKHRAllocator> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, SwapchainKHRAllocator>>::type Device::createSharedSwapchainsKHRUnique( ArrayProxy const & createInfos, Optional allocator, @@ -10298,12 +13471,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector swapchains( createInfos.size() ); - Result result = static_cast( d.vkCreateSharedSwapchainsKHR( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( swapchains.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" ); + Result result_ = static_cast( d.vkCreateSharedSwapchainsKHR( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( swapchains.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHRUnique" ); std::vector, SwapchainKHRAllocator> uniqueSwapchains( swapchainKHRAllocator ); uniqueSwapchains.reserve( createInfos.size() ); detail::ObjectDestroy deleter( *this, allocator, d ); @@ -10311,11 +13484,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueSwapchains.push_back( UniqueHandle( swapchain, deleter ) ); } - return detail::createResultValueType( result, std::move( uniqueSwapchains ) ); + return detail::createResultValueType( result_, std::move( uniqueSwapchains ) ); } // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSharedSwapchainKHRUnique( SwapchainCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10325,14 +13503,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SwapchainKHR swapchain; - Result result = static_cast( d.vkCreateSharedSwapchainsKHR( m_device, - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &swapchain ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHRUnique" ); + Result result_ = static_cast( d.vkCreateSharedSwapchainsKHR( static_cast( m_device ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &swapchain ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( swapchain, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10342,7 +13520,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_xlib_surface === // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateXlibSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createXlibSurfaceKHR( XlibSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10355,7 +13538,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateXlibSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createXlibSurfaceKHR( XlibSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10365,18 +13553,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateXlibSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" ); + Result result_ = static_cast( d.vkCreateXlibSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateXlibSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createXlibSurfaceKHRUnique( XlibSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10386,13 +13579,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateXlibSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHRUnique" ); + Result result_ = static_cast( d.vkCreateXlibSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXlibSurfaceKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10400,7 +13593,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXlibPresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display * dpy, VisualID visualID, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10412,7 +13610,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXlibPresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10422,9 +13625,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkBool32 result = d.vkGetPhysicalDeviceXlibPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &dpy, visualID ); + VkBool32 result_ = d.vkGetPhysicalDeviceXlibPresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &dpy, visualID ); - return static_cast( result ); + return static_cast( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_XLIB_KHR*/ @@ -10433,7 +13636,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_xcb_surface === // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateXcbSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createXcbSurfaceKHR( XcbSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10446,7 +13654,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateXcbSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createXcbSurfaceKHR( XcbSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10456,18 +13669,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateXcbSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" ); + Result result_ = static_cast( d.vkCreateXcbSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateXcbSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createXcbSurfaceKHRUnique( XcbSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10477,13 +13695,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateXcbSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHRUnique" ); + Result result_ = static_cast( d.vkCreateXcbSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createXcbSurfaceKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10491,7 +13709,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXcbPresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t * connection, xcb_visualid_t visual_id, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10503,7 +13726,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXcbPresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10513,9 +13741,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkBool32 result = d.vkGetPhysicalDeviceXcbPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &connection, visual_id ); + VkBool32 result_ = + d.vkGetPhysicalDeviceXcbPresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &connection, visual_id ); - return static_cast( result ); + return static_cast( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_XCB_KHR*/ @@ -10524,7 +13753,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_wayland_surface === // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateWaylandSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createWaylandSurfaceKHR( WaylandSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -10538,7 +13772,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateWaylandSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createWaylandSurfaceKHR( WaylandSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10548,18 +13787,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateWaylandSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" ); + Result result_ = static_cast( d.vkCreateWaylandSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateWaylandSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createWaylandSurfaceKHRUnique( WaylandSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10569,13 +13813,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateWaylandSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHRUnique" ); + Result result_ = static_cast( d.vkCreateWaylandSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10583,7 +13827,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceWaylandPresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display * display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10595,7 +13844,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceWaylandPresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10605,9 +13859,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkBool32 result = d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( m_physicalDevice, queueFamilyIndex, &display ); + VkBool32 result_ = d.vkGetPhysicalDeviceWaylandPresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &display ); - return static_cast( result ); + return static_cast( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ @@ -10616,7 +13870,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_android_surface === // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAndroidSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createAndroidSurfaceKHR( AndroidSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -10630,7 +13889,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAndroidSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createAndroidSurfaceKHR( AndroidSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10640,18 +13904,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateAndroidSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" ); + Result result_ = static_cast( d.vkCreateAndroidSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAndroidSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createAndroidSurfaceKHRUnique( AndroidSurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10661,13 +13930,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateAndroidSurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHRUnique" ); + Result result_ = static_cast( d.vkCreateAndroidSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10678,7 +13947,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_win32_surface === // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateWin32SurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createWin32SurfaceKHR( Win32SurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10691,7 +13965,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateWin32SurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createWin32SurfaceKHR( Win32SurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10701,18 +13980,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateWin32SurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" ); + Result result_ = static_cast( d.vkCreateWin32SurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateWin32SurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createWin32SurfaceKHRUnique( Win32SurfaceCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10722,13 +14006,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateWin32SurfaceKHR( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHRUnique" ); + Result result_ = static_cast( d.vkCreateWin32SurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createWin32SurfaceKHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -10736,7 +14020,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceWin32PresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceWin32PresentationSupportKHR ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -10748,7 +14037,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDebugReportCallbackEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createDebugReportCallbackEXT( DebugReportCallbackCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, DebugReportCallbackEXT * pCallback, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -10763,7 +14057,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDebugReportCallbackEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createDebugReportCallbackEXT( DebugReportCallbackCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -10773,19 +14072,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DebugReportCallbackEXT callback; - Result result = static_cast( d.vkCreateDebugReportCallbackEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &callback ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" ); + Result result_ = static_cast( d.vkCreateDebugReportCallbackEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &callback ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" ); - return detail::createResultValueType( result, std::move( callback ) ); + return detail::createResultValueType( result_, std::move( callback ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDebugReportCallbackEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createDebugReportCallbackEXTUnique( DebugReportCallbackCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const @@ -10796,21 +14100,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DebugReportCallbackEXT callback; - Result result = static_cast( d.vkCreateDebugReportCallbackEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &callback ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXTUnique" ); + Result result_ = static_cast( d.vkCreateDebugReportCallbackEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &callback ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXTUnique" ); return detail::createResultValueType( - result, UniqueHandle( callback, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( callback, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +#endif VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT( DebugReportCallbackEXT callback, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10822,7 +14131,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +# endif VULKAN_HPP_INLINE void Instance::destroyDebugReportCallbackEXT( DebugReportCallbackEXT callback, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10831,14 +14145,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDebugReportCallbackEXT && "Function requires " ); # endif - d.vkDestroyDebugReportCallbackEXT( - m_instance, static_cast( callback ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDebugReportCallbackEXT( static_cast( m_instance ), + static_cast( callback ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +#endif VULKAN_HPP_INLINE void Instance::destroy( DebugReportCallbackEXT callback, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10850,7 +14170,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +# endif VULKAN_HPP_INLINE void Instance::destroy( DebugReportCallbackEXT callback, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10859,13 +14184,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDebugReportCallbackEXT && "Function requires " ); # endif - d.vkDestroyDebugReportCallbackEXT( - m_instance, static_cast( callback ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDebugReportCallbackEXT( static_cast( m_instance ), + static_cast( callback ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDebugReportMessageEXT ) ) +#endif VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType_, uint64_t object, @@ -10888,7 +14219,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDebugReportMessageEXT ) ) +# endif VULKAN_HPP_INLINE void Instance::debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType_, uint64_t object, @@ -10903,7 +14239,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDebugReportMessageEXT && "Function requires " ); # endif - d.vkDebugReportMessageEXT( m_instance, + d.vkDebugReportMessageEXT( static_cast( m_instance ), static_cast( flags ), static_cast( objectType_ ), object, @@ -10917,7 +14253,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_debug_marker === // wrapper function for command vkDebugMarkerSetObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectTagEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::debugMarkerSetObjectTagEXT( DebugMarkerObjectTagInfoEXT const * pTagInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10928,7 +14269,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDebugMarkerSetObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectTagEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::debugMarkerSetObjectTagEXT( DebugMarkerObjectTagInfoEXT const & tagInfo, Dispatch const & d ) const { @@ -10937,16 +14283,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDebugMarkerSetObjectTagEXT && "Function requires " ); # endif - Result result = static_cast( d.vkDebugMarkerSetObjectTagEXT( m_device, reinterpret_cast( &tagInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); + Result result_ = static_cast( + d.vkDebugMarkerSetObjectTagEXT( static_cast( m_device ), reinterpret_cast( &tagInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDebugMarkerSetObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectNameEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::debugMarkerSetObjectNameEXT( DebugMarkerObjectNameInfoEXT const * pNameInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -10958,7 +14310,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDebugMarkerSetObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectNameEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::debugMarkerSetObjectNameEXT( DebugMarkerObjectNameInfoEXT const & nameInfo, Dispatch const & d ) const { @@ -10967,15 +14324,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDebugMarkerSetObjectNameEXT && "Function requires " ); # endif - Result result = static_cast( d.vkDebugMarkerSetObjectNameEXT( m_device, reinterpret_cast( &nameInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); + Result result_ = static_cast( + d.vkDebugMarkerSetObjectNameEXT( static_cast( m_device ), reinterpret_cast( &nameInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerBeginEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( DebugMarkerMarkerInfoEXT const * pMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -10984,7 +14347,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerBeginEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT( DebugMarkerMarkerInfoEXT const & markerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -10992,12 +14360,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDebugMarkerBeginEXT && "Function requires " ); # endif - d.vkCmdDebugMarkerBeginEXT( m_commandBuffer, reinterpret_cast( &markerInfo ) ); + d.vkCmdDebugMarkerBeginEXT( static_cast( m_commandBuffer ), reinterpret_cast( &markerInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDebugMarkerEndEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerEndEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerEndEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11005,7 +14378,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerInsertEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( DebugMarkerMarkerInfoEXT const * pMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11014,7 +14392,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerInsertEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT( DebugMarkerMarkerInfoEXT const & markerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11022,7 +14405,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDebugMarkerInsertEXT && "Function requires " ); # endif - d.vkCmdDebugMarkerInsertEXT( m_commandBuffer, reinterpret_cast( &markerInfo ) ); + d.vkCmdDebugMarkerInsertEXT( static_cast( m_commandBuffer ), reinterpret_cast( &markerInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11030,7 +14413,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getVideoCapabilitiesKHR( VideoProfileInfoKHR const * pVideoProfile, VideoCapabilitiesKHR * pCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11043,7 +14431,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getVideoCapabilitiesKHR( VideoProfileInfoKHR const & videoProfile, Dispatch const & d ) const { @@ -11053,20 +14446,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif VideoCapabilitiesKHR capabilities; - Result result = static_cast( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( - m_physicalDevice, reinterpret_cast( &videoProfile ), reinterpret_cast( &capabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); + Result result_ = static_cast( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &videoProfile ), + reinterpret_cast( &capabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); - return detail::createResultValueType( result, std::move( capabilities ) ); + return detail::createResultValueType( result_, std::move( capabilities ) ); } // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getVideoCapabilitiesKHR( VideoProfileInfoKHR const & videoProfile, Dispatch const & d ) const { @@ -11077,17 +14476,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; VideoCapabilitiesKHR & capabilities = structureChain.template get(); - Result result = static_cast( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( - m_physicalDevice, reinterpret_cast( &videoProfile ), reinterpret_cast( &capabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); + Result result_ = static_cast( d.vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &videoProfile ), + reinterpret_cast( &capabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const * pVideoFormatInfo, uint32_t * pVideoFormatPropertyCount, VideoFormatPropertiesKHR * pVideoFormatProperties, @@ -11103,10 +14508,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template VideoFormatPropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, Dispatch const & d ) const { @@ -11118,36 +14528,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector videoFormatProperties; uint32_t videoFormatPropertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( - m_physicalDevice, reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &videoFormatInfo ), + &videoFormatPropertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && videoFormatPropertyCount ) { videoFormatProperties.resize( videoFormatPropertyCount ); - result = static_cast( - d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, + result_ = static_cast( + d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, reinterpret_cast( videoFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); if ( videoFormatPropertyCount < videoFormatProperties.size() ) { videoFormatProperties.resize( videoFormatPropertyCount ); } - return detail::createResultValueType( result, std::move( videoFormatProperties ) ); + return detail::createResultValueType( result_, std::move( videoFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template VideoFormatPropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, VideoFormatPropertiesKHRAllocator const & videoFormatPropertiesKHRAllocator, @@ -11161,37 +14579,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector videoFormatProperties( videoFormatPropertiesKHRAllocator ); uint32_t videoFormatPropertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( - m_physicalDevice, reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &videoFormatInfo ), + &videoFormatPropertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && videoFormatPropertyCount ) { videoFormatProperties.resize( videoFormatPropertyCount ); - result = static_cast( - d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, + result_ = static_cast( + d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, reinterpret_cast( videoFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); if ( videoFormatPropertyCount < videoFormatProperties.size() ) { videoFormatProperties.resize( videoFormatPropertyCount ); } - return detail::createResultValueType( result, std::move( videoFormatProperties ) ); + return detail::createResultValueType( result_, std::move( videoFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, Dispatch const & d ) const { @@ -11204,12 +14630,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector videoFormatProperties; uint32_t videoFormatPropertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( - m_physicalDevice, reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &videoFormatInfo ), + &videoFormatPropertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && videoFormatPropertyCount ) { structureChains.resize( videoFormatPropertyCount ); videoFormatProperties.resize( videoFormatPropertyCount ); @@ -11217,14 +14646,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { videoFormatProperties[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( - d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, + result_ = static_cast( + d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, reinterpret_cast( videoFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); if ( videoFormatPropertyCount < videoFormatProperties.size() ) { @@ -11234,16 +14663,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = videoFormatProperties[i]; } - return detail::createResultValueType( result, std::move( structureChains ) ); + return detail::createResultValueType( result_, std::move( structureChains ) ); } // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, StructureChainAllocator const & structureChainAllocator, Dispatch const & d ) const @@ -11257,12 +14691,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains( structureChainAllocator ); std::vector videoFormatProperties; uint32_t videoFormatPropertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( - m_physicalDevice, reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &videoFormatInfo ), + &videoFormatPropertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && videoFormatPropertyCount ) { structureChains.resize( videoFormatPropertyCount ); videoFormatProperties.resize( videoFormatPropertyCount ); @@ -11270,14 +14707,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { videoFormatProperties[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( - d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( m_physicalDevice, + result_ = static_cast( + d.vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, reinterpret_cast( videoFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); if ( videoFormatPropertyCount < videoFormatProperties.size() ) { @@ -11287,12 +14724,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = videoFormatProperties[i]; } - return detail::createResultValueType( result, std::move( structureChains ) ); + return detail::createResultValueType( result_, std::move( structureChains ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateVideoSessionKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createVideoSessionKHR( VideoSessionCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, VideoSessionKHR * pVideoSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -11306,7 +14748,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createVideoSessionKHR( VideoSessionCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -11316,18 +14763,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif VideoSessionKHR videoSession; - Result result = static_cast( d.vkCreateVideoSessionKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &videoSession ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionKHR" ); + Result result_ = static_cast( d.vkCreateVideoSessionKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &videoSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionKHR" ); - return detail::createResultValueType( result, std::move( videoSession ) ); + return detail::createResultValueType( result_, std::move( videoSession ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createVideoSessionKHRUnique( VideoSessionCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -11337,20 +14789,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif VideoSessionKHR videoSession; - Result result = static_cast( d.vkCreateVideoSessionKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &videoSession ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionKHRUnique" ); + Result result_ = static_cast( d.vkCreateVideoSessionKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &videoSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( videoSession, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( videoSession, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroyVideoSessionKHR( VideoSessionKHR videoSession, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11361,7 +14818,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroyVideoSessionKHR( VideoSessionKHR videoSession, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11370,12 +14832,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionKHR && "Function requires " ); # endif - d.vkDestroyVideoSessionKHR( m_device, static_cast( videoSession ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyVideoSessionKHR( + static_cast( m_device ), static_cast( videoSession ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( VideoSessionKHR videoSession, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11385,7 +14853,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( VideoSessionKHR videoSession, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11394,13 +14867,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionKHR && "Function requires " ); # endif - d.vkDestroyVideoSessionKHR( m_device, static_cast( videoSession ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyVideoSessionKHR( + static_cast( m_device ), static_cast( videoSession ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetVideoSessionMemoryRequirementsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getVideoSessionMemoryRequirementsKHR( VideoSessionKHR videoSession, uint32_t * pMemoryRequirementsCount, VideoSessionMemoryRequirementsKHR * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -11415,11 +14894,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename VideoSessionMemoryRequirementsKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template VideoSessionMemoryRequirementsKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetVideoSessionMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getVideoSessionMemoryRequirementsKHR( VideoSessionKHR videoSession, Dispatch const & d ) const @@ -11431,37 +14915,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector memoryRequirements; uint32_t memoryRequirementsCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetVideoSessionMemoryRequirementsKHR( m_device, static_cast( videoSession ), &memoryRequirementsCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && memoryRequirementsCount ) + result_ = static_cast( d.vkGetVideoSessionMemoryRequirementsKHR( + static_cast( m_device ), static_cast( videoSession ), &memoryRequirementsCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && memoryRequirementsCount ) { memoryRequirements.resize( memoryRequirementsCount ); - result = static_cast( - d.vkGetVideoSessionMemoryRequirementsKHR( m_device, + result_ = static_cast( + d.vkGetVideoSessionMemoryRequirementsKHR( static_cast( m_device ), static_cast( videoSession ), &memoryRequirementsCount, reinterpret_cast( memoryRequirements.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getVideoSessionMemoryRequirementsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getVideoSessionMemoryRequirementsKHR" ); VULKAN_HPP_ASSERT( memoryRequirementsCount <= memoryRequirements.size() ); if ( memoryRequirementsCount < memoryRequirements.size() ) { memoryRequirements.resize( memoryRequirementsCount ); } - return detail::createResultValueType( result, std::move( memoryRequirements ) ); + return detail::createResultValueType( result_, std::move( memoryRequirements ) ); } // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename VideoSessionMemoryRequirementsKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template VideoSessionMemoryRequirementsKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetVideoSessionMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getVideoSessionMemoryRequirementsKHR( @@ -11474,33 +14963,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector memoryRequirements( videoSessionMemoryRequirementsKHRAllocator ); uint32_t memoryRequirementsCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetVideoSessionMemoryRequirementsKHR( m_device, static_cast( videoSession ), &memoryRequirementsCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && memoryRequirementsCount ) + result_ = static_cast( d.vkGetVideoSessionMemoryRequirementsKHR( + static_cast( m_device ), static_cast( videoSession ), &memoryRequirementsCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && memoryRequirementsCount ) { memoryRequirements.resize( memoryRequirementsCount ); - result = static_cast( - d.vkGetVideoSessionMemoryRequirementsKHR( m_device, + result_ = static_cast( + d.vkGetVideoSessionMemoryRequirementsKHR( static_cast( m_device ), static_cast( videoSession ), &memoryRequirementsCount, reinterpret_cast( memoryRequirements.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getVideoSessionMemoryRequirementsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getVideoSessionMemoryRequirementsKHR" ); VULKAN_HPP_ASSERT( memoryRequirementsCount <= memoryRequirements.size() ); if ( memoryRequirementsCount < memoryRequirements.size() ) { memoryRequirements.resize( memoryRequirementsCount ); } - return detail::createResultValueType( result, std::move( memoryRequirements ) ); + return detail::createResultValueType( result_, std::move( memoryRequirements ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindVideoSessionMemoryKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindVideoSessionMemoryKHR( VideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, BindVideoSessionMemoryInfoKHR const * pBindSessionMemoryInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -11514,7 +15008,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindVideoSessionMemoryKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindVideoSessionMemoryKHR( VideoSessionKHR videoSession, ArrayProxy const & bindSessionMemoryInfos, Dispatch const & d ) const { @@ -11523,20 +15022,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindVideoSessionMemoryKHR && "Function requires " ); # endif - Result result = - static_cast( d.vkBindVideoSessionMemoryKHR( m_device, + Result result_ = + static_cast( d.vkBindVideoSessionMemoryKHR( static_cast( m_device ), static_cast( videoSession ), bindSessionMemoryInfos.size(), reinterpret_cast( bindSessionMemoryInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindVideoSessionMemoryKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindVideoSessionMemoryKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createVideoSessionParametersKHR( VideoSessionParametersCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, VideoSessionParametersKHR * pVideoSessionParameters, @@ -11552,7 +15056,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createVideoSessionParametersKHR( VideoSessionParametersCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -11562,19 +15071,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif VideoSessionParametersKHR videoSessionParameters; - Result result = static_cast( d.vkCreateVideoSessionParametersKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &videoSessionParameters ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionParametersKHR" ); + Result result_ = static_cast( d.vkCreateVideoSessionParametersKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &videoSessionParameters ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionParametersKHR" ); - return detail::createResultValueType( result, std::move( videoSessionParameters ) ); + return detail::createResultValueType( result_, std::move( videoSessionParameters ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createVideoSessionParametersKHRUnique( VideoSessionParametersCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const @@ -11585,21 +15099,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif VideoSessionParametersKHR videoSessionParameters; - Result result = static_cast( d.vkCreateVideoSessionParametersKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &videoSessionParameters ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionParametersKHRUnique" ); + Result result_ = static_cast( d.vkCreateVideoSessionParametersKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &videoSessionParameters ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createVideoSessionParametersKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( videoSessionParameters, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( videoSessionParameters, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUpdateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUpdateVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::updateVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, VideoSessionParametersUpdateInfoKHR const * pUpdateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11612,7 +15131,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUpdateVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::updateVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, VideoSessionParametersUpdateInfoKHR const & updateInfo, Dispatch const & d ) const { @@ -11621,19 +15145,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkUpdateVideoSessionParametersKHR && "Function requires " ); # endif - Result result = - static_cast( d.vkUpdateVideoSessionParametersKHR( m_device, + Result result_ = + static_cast( d.vkUpdateVideoSessionParametersKHR( static_cast( m_device ), static_cast( videoSessionParameters ), reinterpret_cast( &updateInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::updateVideoSessionParametersKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::updateVideoSessionParametersKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroyVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11646,7 +15175,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroyVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11655,14 +15189,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionParametersKHR && "Function requires " ); # endif - d.vkDestroyVideoSessionParametersKHR( - m_device, static_cast( videoSessionParameters ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyVideoSessionParametersKHR( static_cast( m_device ), + static_cast( videoSessionParameters ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( VideoSessionParametersKHR videoSessionParameters, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11675,7 +15215,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( VideoSessionParametersKHR videoSessionParameters, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11684,13 +15229,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyVideoSessionParametersKHR && "Function requires " ); # endif - d.vkDestroyVideoSessionParametersKHR( - m_device, static_cast( videoSessionParameters ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyVideoSessionParametersKHR( static_cast( m_device ), + static_cast( videoSessionParameters ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginVideoCodingKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginVideoCodingKHR( VideoBeginCodingInfoKHR const * pBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11699,7 +15250,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginVideoCodingKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginVideoCodingKHR( VideoBeginCodingInfoKHR const & beginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11707,12 +15263,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginVideoCodingKHR && "Function requires " ); # endif - d.vkCmdBeginVideoCodingKHR( m_commandBuffer, reinterpret_cast( &beginInfo ) ); + d.vkCmdBeginVideoCodingKHR( static_cast( m_commandBuffer ), reinterpret_cast( &beginInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndVideoCodingKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endVideoCodingKHR( VideoEndCodingInfoKHR const * pEndCodingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11721,7 +15282,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndVideoCodingKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endVideoCodingKHR( VideoEndCodingInfoKHR const & endCodingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11729,12 +15295,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndVideoCodingKHR && "Function requires " ); # endif - d.vkCmdEndVideoCodingKHR( m_commandBuffer, reinterpret_cast( &endCodingInfo ) ); + d.vkCmdEndVideoCodingKHR( static_cast( m_commandBuffer ), reinterpret_cast( &endCodingInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdControlVideoCodingKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::controlVideoCodingKHR( VideoCodingControlInfoKHR const * pCodingControlInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11745,7 +15316,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdControlVideoCodingKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::controlVideoCodingKHR( VideoCodingControlInfoKHR const & codingControlInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11754,14 +15330,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdControlVideoCodingKHR && "Function requires " ); # endif - d.vkCmdControlVideoCodingKHR( m_commandBuffer, reinterpret_cast( &codingControlInfo ) ); + d.vkCmdControlVideoCodingKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &codingControlInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_video_decode_queue === // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDecodeVideoKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::decodeVideoKHR( VideoDecodeInfoKHR const * pDecodeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11770,7 +15352,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDecodeVideoKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::decodeVideoKHR( VideoDecodeInfoKHR const & decodeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11778,7 +15365,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDecodeVideoKHR && "Function requires " ); # endif - d.vkCmdDecodeVideoKHR( m_commandBuffer, reinterpret_cast( &decodeInfo ) ); + d.vkCmdDecodeVideoKHR( static_cast( m_commandBuffer ), reinterpret_cast( &decodeInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11786,7 +15373,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffersEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, DeviceSize const * pOffsets, DeviceSize const * pSizes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -11803,7 +15395,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffersEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -11828,7 +15425,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBindTransformFeedbackBuffersEXT( m_commandBuffer, + d.vkCmdBindTransformFeedbackBuffersEXT( static_cast( m_commandBuffer ), firstBinding, buffers.size(), reinterpret_cast( buffers.data() ), @@ -11839,7 +15436,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginTransformFeedbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedbackEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, Buffer const * pCounterBuffers, DeviceSize const * pCounterBufferOffsets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -11855,7 +15457,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginTransformFeedbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedbackEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT( uint32_t firstCounterBuffer, ArrayProxy const & counterBuffers, ArrayProxy const & counterBufferOffsets, @@ -11874,7 +15481,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBeginTransformFeedbackEXT( m_commandBuffer, + d.vkCmdBeginTransformFeedbackEXT( static_cast( m_commandBuffer ), firstCounterBuffer, counterBuffers.size(), reinterpret_cast( counterBuffers.data() ), @@ -11883,7 +15490,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndTransformFeedbackEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedbackEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, Buffer const * pCounterBuffers, DeviceSize const * pCounterBufferOffsets, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -11898,7 +15510,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndTransformFeedbackEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedbackEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT( uint32_t firstCounterBuffer, ArrayProxy const & counterBuffers, ArrayProxy const & counterBufferOffsets, @@ -11917,7 +15534,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdEndTransformFeedbackEXT( m_commandBuffer, + d.vkCmdEndTransformFeedbackEXT( static_cast( m_commandBuffer ), firstCounterBuffer, counterBuffers.size(), reinterpret_cast( counterBuffers.data() ), @@ -11926,7 +15543,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQueryIndexedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginQueryIndexedEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT( QueryPool queryPool, uint32_t query, QueryControlFlags flags, uint32_t index, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11936,7 +15558,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdEndQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQueryIndexedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndQueryIndexedEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endQueryIndexedEXT( QueryPool queryPool, uint32_t query, uint32_t index, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -11945,7 +15572,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndirectByteCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectByteCountEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT( uint32_t instanceCount, uint32_t firstInstance, Buffer counterBuffer, @@ -11967,7 +15599,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NVX_binary_import === // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateCuModuleNVX ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCuModuleNVX( CuModuleCreateInfoNVX const * pCreateInfo, AllocationCallbacks const * pAllocator, CuModuleNVX * pModule, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -11980,7 +15617,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCuModuleNVX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createCuModuleNVX( CuModuleCreateInfoNVX const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -11990,18 +15632,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CuModuleNVX module; - Result result = static_cast( d.vkCreateCuModuleNVX( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &module ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuModuleNVX" ); + Result result_ = static_cast( d.vkCreateCuModuleNVX( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &module ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuModuleNVX" ); - return detail::createResultValueType( result, std::move( module ) ); + return detail::createResultValueType( result_, std::move( module ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCuModuleNVX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createCuModuleNVXUnique( CuModuleCreateInfoNVX const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -12011,20 +15658,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CuModuleNVX module; - Result result = static_cast( d.vkCreateCuModuleNVX( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &module ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuModuleNVXUnique" ); + Result result_ = static_cast( d.vkCreateCuModuleNVX( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &module ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuModuleNVXUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( module, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateCuFunctionNVX ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCuFunctionNVX( CuFunctionCreateInfoNVX const * pCreateInfo, AllocationCallbacks const * pAllocator, CuFunctionNVX * pFunction, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -12038,7 +15690,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCuFunctionNVX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createCuFunctionNVX( CuFunctionCreateInfoNVX const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -12048,18 +15705,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CuFunctionNVX function; - Result result = static_cast( d.vkCreateCuFunctionNVX( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &function ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuFunctionNVX" ); + Result result_ = static_cast( d.vkCreateCuFunctionNVX( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &function ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuFunctionNVX" ); - return detail::createResultValueType( result, std::move( function ) ); + return detail::createResultValueType( result_, std::move( function ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCuFunctionNVX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createCuFunctionNVXUnique( CuFunctionCreateInfoNVX const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -12069,20 +15731,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CuFunctionNVX function; - Result result = static_cast( d.vkCreateCuFunctionNVX( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &function ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuFunctionNVXUnique" ); + Result result_ = static_cast( d.vkCreateCuFunctionNVX( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &function ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCuFunctionNVXUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( function, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +#endif VULKAN_HPP_INLINE void Device::destroyCuModuleNVX( CuModuleNVX module, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12092,7 +15759,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCuModuleNVX( CuModuleNVX module, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12101,12 +15773,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCuModuleNVX && "Function requires " ); # endif - d.vkDestroyCuModuleNVX( m_device, static_cast( module ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCuModuleNVX( + static_cast( m_device ), static_cast( module ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( CuModuleNVX module, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12116,7 +15794,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CuModuleNVX module, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12124,12 +15807,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCuModuleNVX && "Function requires " ); # endif - d.vkDestroyCuModuleNVX( m_device, static_cast( module ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCuModuleNVX( + static_cast( m_device ), static_cast( module ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +#endif VULKAN_HPP_INLINE void Device::destroyCuFunctionNVX( CuFunctionNVX function, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12140,7 +15829,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCuFunctionNVX( CuFunctionNVX function, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12149,12 +15843,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCuFunctionNVX && "Function requires " ); # endif - d.vkDestroyCuFunctionNVX( m_device, static_cast( function ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCuFunctionNVX( + static_cast( m_device ), static_cast( function ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( CuFunctionNVX function, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12164,7 +15864,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CuFunctionNVX function, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12172,12 +15877,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCuFunctionNVX && "Function requires " ); # endif - d.vkDestroyCuFunctionNVX( m_device, static_cast( function ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCuFunctionNVX( + static_cast( m_device ), static_cast( function ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCuLaunchKernelNVX ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX( CuLaunchInfoNVX const * pLaunchInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12186,7 +15897,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCuLaunchKernelNVX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX( CuLaunchInfoNVX const & launchInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12194,14 +15910,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCuLaunchKernelNVX && "Function requires " ); # endif - d.vkCmdCuLaunchKernelNVX( m_commandBuffer, reinterpret_cast( &launchInfo ) ); + d.vkCmdCuLaunchKernelNVX( static_cast( m_commandBuffer ), reinterpret_cast( &launchInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_NVX_image_view_handle === // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageViewHandleNVX ) ) +#endif VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( ImageViewHandleInfoNVX const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12210,7 +15931,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageViewHandleNVX ) ) +# endif VULKAN_HPP_INLINE uint32_t Device::getImageViewHandleNVX( ImageViewHandleInfoNVX const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12218,14 +15944,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetImageViewHandleNVX && "Function requires " ); # endif - uint32_t result = d.vkGetImageViewHandleNVX( m_device, reinterpret_cast( &info ) ); + uint32_t result_ = d.vkGetImageViewHandleNVX( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageViewHandle64NVX ) ) +#endif VULKAN_HPP_INLINE uint64_t Device::getImageViewHandle64NVX( ImageViewHandleInfoNVX const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12234,7 +15965,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageViewHandle64NVX ) ) +# endif VULKAN_HPP_INLINE uint64_t Device::getImageViewHandle64NVX( ImageViewHandleInfoNVX const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12242,14 +15978,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetImageViewHandle64NVX && "Function requires " ); # endif - uint64_t result = d.vkGetImageViewHandle64NVX( m_device, reinterpret_cast( &info ) ); + uint64_t result_ = d.vkGetImageViewHandle64NVX( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageViewAddressNVX ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageViewAddressNVX( ImageView imageView, ImageViewAddressPropertiesNVX * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12260,7 +16001,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageViewAddressNVX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getImageViewAddressNVX( ImageView imageView, Dispatch const & d ) const { @@ -12270,17 +16016,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageViewAddressPropertiesNVX properties; - Result result = static_cast( - d.vkGetImageViewAddressNVX( m_device, static_cast( imageView ), reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewAddressNVX" ); + Result result_ = static_cast( d.vkGetImageViewAddressNVX( + static_cast( m_device ), static_cast( imageView ), reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewAddressNVX" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceCombinedImageSamplerIndexNVX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceCombinedImageSamplerIndexNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceCombinedImageSamplerIndexNVX ) ) +#endif VULKAN_HPP_INLINE uint64_t Device::getCombinedImageSamplerIndexNVX( uint64_t imageViewIndex, uint64_t samplerIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12291,7 +16042,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_draw_indirect_count === // wrapper function for command vkCmdDrawIndirectCountAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCountAMD ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -12308,7 +16064,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndexedIndirectCountAMD, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCountAMD ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -12326,7 +16087,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_shader_info === // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetShaderInfoAMD ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, size_t * pInfoSize, void * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -12342,10 +16108,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetShaderInfoAMD ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, Dispatch const & d ) const { @@ -12356,40 +16127,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector info; size_t infoSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetShaderInfoAMD( m_device, - static_cast( pipeline ), - static_cast( shaderStage ), - static_cast( infoType ), - &infoSize, - nullptr ) ); - if ( ( result == Result::eSuccess ) && infoSize ) + result_ = static_cast( d.vkGetShaderInfoAMD( static_cast( m_device ), + static_cast( pipeline ), + static_cast( shaderStage ), + static_cast( infoType ), + &infoSize, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && infoSize ) { info.resize( infoSize ); - result = static_cast( d.vkGetShaderInfoAMD( m_device, - static_cast( pipeline ), - static_cast( shaderStage ), - static_cast( infoType ), - &infoSize, - reinterpret_cast( info.data() ) ) ); + result_ = static_cast( d.vkGetShaderInfoAMD( static_cast( m_device ), + static_cast( pipeline ), + static_cast( shaderStage ), + static_cast( infoType ), + &infoSize, + reinterpret_cast( info.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" ); VULKAN_HPP_ASSERT( infoSize <= info.size() ); if ( infoSize < info.size() ) { info.resize( infoSize ); } - return detail::createResultValueType( result, std::move( info ) ); + return detail::createResultValueType( result_, std::move( info ) ); } // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetShaderInfoAMD ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const { @@ -12400,40 +16176,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector info( uint8_tAllocator ); size_t infoSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetShaderInfoAMD( m_device, - static_cast( pipeline ), - static_cast( shaderStage ), - static_cast( infoType ), - &infoSize, - nullptr ) ); - if ( ( result == Result::eSuccess ) && infoSize ) + result_ = static_cast( d.vkGetShaderInfoAMD( static_cast( m_device ), + static_cast( pipeline ), + static_cast( shaderStage ), + static_cast( infoType ), + &infoSize, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && infoSize ) { info.resize( infoSize ); - result = static_cast( d.vkGetShaderInfoAMD( m_device, - static_cast( pipeline ), - static_cast( shaderStage ), - static_cast( infoType ), - &infoSize, - reinterpret_cast( info.data() ) ) ); + result_ = static_cast( d.vkGetShaderInfoAMD( static_cast( m_device ), + static_cast( pipeline ), + static_cast( shaderStage ), + static_cast( infoType ), + &infoSize, + reinterpret_cast( info.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderInfoAMD" ); VULKAN_HPP_ASSERT( infoSize <= info.size() ); if ( infoSize < info.size() ) { info.resize( infoSize ); } - return detail::createResultValueType( result, std::move( info ) ); + return detail::createResultValueType( result_, std::move( info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_dynamic_rendering === // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderingKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( RenderingInfo const * pRenderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12442,20 +16223,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> - VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( RenderingInfo const & renderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderingKHR ) ) +# endif + VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR( RenderingInfo const & renderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) VULKAN_HPP_ASSERT( d.vkCmdBeginRenderingKHR && "Function requires or " ); # endif - d.vkCmdBeginRenderingKHR( m_commandBuffer, reinterpret_cast( &renderingInfo ) ); + d.vkCmdBeginRenderingKHR( static_cast( m_commandBuffer ), reinterpret_cast( &renderingInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderingKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRenderingKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12467,7 +16258,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateStreamDescriptorSurfaceGGP ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createStreamDescriptorSurfaceGGP( StreamDescriptorSurfaceCreateInfoGGP const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -12482,7 +16278,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateStreamDescriptorSurfaceGGP ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createStreamDescriptorSurfaceGGP( StreamDescriptorSurfaceCreateInfoGGP const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -12492,19 +16293,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateStreamDescriptorSurfaceGGP( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" ); + Result result_ = static_cast( d.vkCreateStreamDescriptorSurfaceGGP( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateStreamDescriptorSurfaceGGP ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createStreamDescriptorSurfaceGGPUnique( StreamDescriptorSurfaceCreateInfoGGP const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -12514,13 +16320,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateStreamDescriptorSurfaceGGP( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGPUnique" ); + Result result_ = static_cast( d.vkCreateStreamDescriptorSurfaceGGP( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGPUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -12531,7 +16337,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalImageFormatPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getExternalImageFormatPropertiesNV( Format format, ImageType type, ImageTiling tiling, @@ -12557,7 +16368,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalImageFormatPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getExternalImageFormatPropertiesNV( Format format, ImageType type, @@ -12574,8 +16390,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalImageFormatPropertiesNV externalImageFormatProperties; - Result result = static_cast( - d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( m_physicalDevice, + Result result_ = static_cast( + d.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), static_cast( tiling ), @@ -12583,9 +16399,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static_cast( flags ), static_cast( externalHandleType ), reinterpret_cast( &externalImageFormatProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); - return detail::createResultValueType( result, std::move( externalImageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( externalImageFormatProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -12593,7 +16409,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_external_memory_win32 === // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, HANDLE * pHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12604,7 +16425,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, Dispatch const & d ) const { @@ -12614,11 +16440,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif HANDLE handle; - Result result = static_cast( - d.vkGetMemoryWin32HandleNV( m_device, static_cast( memory ), static_cast( handleType ), &handle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleNV" ); + Result result_ = static_cast( d.vkGetMemoryWin32HandleNV( + static_cast( m_device ), static_cast( memory ), static_cast( handleType ), &handle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleNV" ); - return detail::createResultValueType( result, std::move( handle ) ); + return detail::createResultValueType( result_, std::move( handle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -12627,7 +16453,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2KHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getFeatures2KHR( PhysicalDeviceFeatures2 * pFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12637,7 +16468,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceFeatures2 PhysicalDevice::getFeatures2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12647,14 +16483,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceFeatures2 features; - d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast( &features ) ); + d.vkGetPhysicalDeviceFeatures2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &features ) ); return features; } // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getFeatures2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12665,7 +16506,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; PhysicalDeviceFeatures2 & features = structureChain.template get(); - d.vkGetPhysicalDeviceFeatures2KHR( m_physicalDevice, reinterpret_cast( &features ) ); + d.vkGetPhysicalDeviceFeatures2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &features ) ); return structureChain; } @@ -12673,7 +16514,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2KHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getProperties2KHR( PhysicalDeviceProperties2 * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12683,7 +16529,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceProperties2 PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12693,14 +16544,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceProperties2 properties; - d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast( &properties ) ); + d.vkGetPhysicalDeviceProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &properties ) ); return properties; } // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -12711,7 +16567,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; PhysicalDeviceProperties2 & properties = structureChain.template get(); - d.vkGetPhysicalDeviceProperties2KHR( m_physicalDevice, reinterpret_cast( &properties ) ); + d.vkGetPhysicalDeviceProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &properties ) ); return structureChain; } @@ -12719,7 +16575,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2KHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getFormatProperties2KHR( Format format, FormatProperties2 * pFormatProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12731,7 +16592,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE FormatProperties2 PhysicalDevice::getFormatProperties2KHR( Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12743,18 +16609,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE FormatProperties2 formatProperties; d.vkGetPhysicalDeviceFormatProperties2KHR( - m_physicalDevice, static_cast( format ), reinterpret_cast( &formatProperties ) ); + static_cast( m_physicalDevice ), static_cast( format ), reinterpret_cast( &formatProperties ) ); return formatProperties; } // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getFormatProperties2KHR( Format format, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12767,7 +16638,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; FormatProperties2 & formatProperties = structureChain.template get(); d.vkGetPhysicalDeviceFormatProperties2KHR( - m_physicalDevice, static_cast( format ), reinterpret_cast( &formatProperties ) ); + static_cast( m_physicalDevice ), static_cast( format ), reinterpret_cast( &formatProperties ) ); return structureChain; } @@ -12775,7 +16646,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2KHR( PhysicalDeviceImageFormatInfo2 const * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12788,7 +16664,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getImageFormatProperties2KHR( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d ) const { @@ -12799,22 +16680,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageFormatProperties2 imageFormatProperties; - Result result = - static_cast( d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, + Result result_ = + static_cast( d.vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getImageFormatProperties2KHR( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d ) const { @@ -12826,19 +16712,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; ImageFormatProperties2 & imageFormatProperties = structureChain.template get(); - Result result = - static_cast( d.vkGetPhysicalDeviceImageFormatProperties2KHR( m_physicalDevice, + Result result_ = + static_cast( d.vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyProperties2KHR( uint32_t * pQueueFamilyPropertyCount, QueueFamilyProperties2 * pQueueFamilyProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -12850,10 +16741,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2KHR( Dispatch const & d ) const { @@ -12865,10 +16761,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); queueFamilyProperties.resize( queueFamilyPropertyCount ); - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -12880,10 +16777,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator const & queueFamilyProperties2Allocator, Dispatch const & d ) const { @@ -12895,10 +16797,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyProperties( queueFamilyProperties2Allocator ); uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); queueFamilyProperties.resize( queueFamilyPropertyCount ); - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -12910,11 +16813,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2KHR( Dispatch const & d ) const { @@ -12927,15 +16835,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); structureChains.resize( queueFamilyPropertyCount ); queueFamilyProperties.resize( queueFamilyPropertyCount ); for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) { queueFamilyProperties[i].pNext = structureChains[i].template get().pNext; } - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -12951,11 +16860,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getQueueFamilyProperties2KHR( StructureChainAllocator const & structureChainAllocator, Dispatch const & d ) const { @@ -12968,15 +16882,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains( structureChainAllocator ); std::vector queueFamilyProperties; uint32_t queueFamilyPropertyCount; - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( m_physicalDevice, &queueFamilyPropertyCount, nullptr ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); structureChains.resize( queueFamilyPropertyCount ); queueFamilyProperties.resize( queueFamilyPropertyCount ); for ( uint32_t i = 0; i < queueFamilyPropertyCount; i++ ) { queueFamilyProperties[i].pNext = structureChains[i].template get().pNext; } - d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( - m_physicalDevice, &queueFamilyPropertyCount, reinterpret_cast( queueFamilyProperties.data() ) ); + d.vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast( m_physicalDevice ), + &queueFamilyPropertyCount, + reinterpret_cast( queueFamilyProperties.data() ) ); VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) @@ -12993,7 +16908,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2KHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getMemoryProperties2KHR( PhysicalDeviceMemoryProperties2 * pMemoryProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13005,7 +16925,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PhysicalDeviceMemoryProperties2 PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13015,18 +16940,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PhysicalDeviceMemoryProperties2 memoryProperties; - d.vkGetPhysicalDeviceMemoryProperties2KHR( m_physicalDevice, reinterpret_cast( &memoryProperties ) ); + d.vkGetPhysicalDeviceMemoryProperties2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &memoryProperties ) ); return memoryProperties; } // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13037,7 +16968,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; PhysicalDeviceMemoryProperties2 & memoryProperties = structureChain.template get(); - d.vkGetPhysicalDeviceMemoryProperties2KHR( m_physicalDevice, reinterpret_cast( &memoryProperties ) ); + d.vkGetPhysicalDeviceMemoryProperties2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &memoryProperties ) ); return structureChain; } @@ -13045,7 +16977,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getSparseImageFormatProperties2KHR( PhysicalDeviceSparseImageFormatInfo2 const * pFormatInfo, uint32_t * pPropertyCount, SparseImageFormatProperties2 * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13060,10 +16997,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageFormatProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getSparseImageFormatProperties2KHR( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, Dispatch const & d ) const { @@ -13075,10 +17017,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( - m_physicalDevice, reinterpret_cast( &formatInfo ), &propertyCount, nullptr ); + d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &formatInfo ), + &propertyCount, + nullptr ); properties.resize( propertyCount ); - d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &formatInfo ), &propertyCount, reinterpret_cast( properties.data() ) ); @@ -13093,10 +17037,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SparseImageFormatProperties2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector PhysicalDevice::getSparseImageFormatProperties2KHR( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, SparseImageFormatProperties2Allocator const & sparseImageFormatProperties2Allocator, @@ -13110,10 +17059,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( sparseImageFormatProperties2Allocator ); uint32_t propertyCount; - d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( - m_physicalDevice, reinterpret_cast( &formatInfo ), &propertyCount, nullptr ); + d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &formatInfo ), + &propertyCount, + nullptr ); properties.resize( propertyCount ); - d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( m_physicalDevice, + d.vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &formatInfo ), &propertyCount, reinterpret_cast( properties.data() ) ); @@ -13131,7 +17082,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeaturesKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, PeerMemoryFeatureFlags * pPeerMemoryFeatures, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13144,7 +17100,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeaturesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PeerMemoryFeatureFlags Device::getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13156,14 +17117,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PeerMemoryFeatureFlags peerMemoryFeatures; d.vkGetDeviceGroupPeerMemoryFeaturesKHR( - m_device, heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast( &peerMemoryFeatures ) ); + static_cast( m_device ), heapIndex, localDeviceIndex, remoteDeviceIndex, reinterpret_cast( &peerMemoryFeatures ) ); return peerMemoryFeatures; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDeviceMaskKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMaskKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDeviceMaskKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR( uint32_t deviceMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13171,7 +17137,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDispatchBaseKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBaseKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchBaseKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13184,7 +17155,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NN_vi_surface === // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateViSurfaceNN ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createViSurfaceNN( ViSurfaceCreateInfoNN const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13197,7 +17173,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateViSurfaceNN ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createViSurfaceNN( ViSurfaceCreateInfoNN const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -13207,18 +17188,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateViSurfaceNN( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNN" ); + Result result_ = static_cast( d.vkCreateViSurfaceNN( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNN" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateViSurfaceNN ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createViSurfaceNNUnique( ViSurfaceCreateInfoNN const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -13228,13 +17214,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateViSurfaceNN( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNNUnique" ); + Result result_ = static_cast( d.vkCreateViSurfaceNN( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createViSurfaceNNUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -13244,7 +17230,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_maintenance1 === // wrapper function for command vkTrimCommandPoolKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPoolKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkTrimCommandPoolKHR ) ) +#endif VULKAN_HPP_INLINE void Device::trimCommandPoolKHR( CommandPool commandPool, CommandPoolTrimFlags flags, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13255,7 +17246,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroupsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::enumeratePhysicalDeviceGroupsKHR( uint32_t * pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13268,10 +17264,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceGroupPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroupsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::enumeratePhysicalDeviceGroupsKHR( Dispatch const & d ) const { @@ -13283,32 +17284,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDeviceGroupProperties; uint32_t physicalDeviceGroupCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceGroupsKHR( static_cast( m_instance ), &physicalDeviceGroupCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceGroupCount ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceGroupsKHR( - m_instance, &physicalDeviceGroupCount, reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); + result_ = static_cast( + d.vkEnumeratePhysicalDeviceGroupsKHR( static_cast( m_instance ), + &physicalDeviceGroupCount, + reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); } - return detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); + return detail::createResultValueType( result_, std::move( physicalDeviceGroupProperties ) ); } // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceGroupPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroupsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::enumeratePhysicalDeviceGroupsKHR( PhysicalDeviceGroupPropertiesAllocator const & physicalDeviceGroupPropertiesAllocator, Dispatch const & d ) const @@ -13321,24 +17329,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDeviceGroupProperties( physicalDeviceGroupPropertiesAllocator ); uint32_t physicalDeviceGroupCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDeviceGroupsKHR( m_instance, &physicalDeviceGroupCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceGroupsKHR( static_cast( m_instance ), &physicalDeviceGroupCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceGroupCount ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceGroupsKHR( - m_instance, &physicalDeviceGroupCount, reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); + result_ = static_cast( + d.vkEnumeratePhysicalDeviceGroupsKHR( static_cast( m_instance ), + &physicalDeviceGroupCount, + reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); } - return detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); + return detail::createResultValueType( result_, std::move( physicalDeviceGroupProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -13346,7 +17356,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferPropertiesKHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalBufferPropertiesKHR( PhysicalDeviceExternalBufferInfo const * pExternalBufferInfo, ExternalBufferProperties * pExternalBufferProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13360,7 +17375,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalBufferProperties PhysicalDevice::getExternalBufferPropertiesKHR( PhysicalDeviceExternalBufferInfo const & externalBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13371,7 +17391,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalBufferProperties externalBufferProperties; - d.vkGetPhysicalDeviceExternalBufferPropertiesKHR( m_physicalDevice, + d.vkGetPhysicalDeviceExternalBufferPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &externalBufferInfo ), reinterpret_cast( &externalBufferProperties ) ); @@ -13383,7 +17403,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_memory_win32 === // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandleKHR( MemoryGetWin32HandleInfoKHR const * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13394,7 +17419,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryWin32HandleKHR( MemoryGetWin32HandleInfoKHR const & getWin32HandleInfo, Dispatch const & d ) const { @@ -13404,17 +17434,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif HANDLE handle; - Result result = - static_cast( d.vkGetMemoryWin32HandleKHR( m_device, reinterpret_cast( &getWin32HandleInfo ), &handle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); + Result result_ = static_cast( d.vkGetMemoryWin32HandleKHR( + static_cast( m_device ), reinterpret_cast( &getWin32HandleInfo ), &handle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); - return detail::createResultValueType( result, std::move( handle ) ); + return detail::createResultValueType( result_, std::move( handle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandlePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13429,7 +17464,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandlePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, Dispatch const & d ) const { @@ -13439,14 +17479,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties; - Result result = - static_cast( d.vkGetMemoryWin32HandlePropertiesKHR( m_device, + Result result_ = + static_cast( d.vkGetMemoryWin32HandlePropertiesKHR( static_cast( m_device ), static_cast( handleType ), handle, reinterpret_cast( &memoryWin32HandleProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); - return detail::createResultValueType( result, std::move( memoryWin32HandleProperties ) ); + return detail::createResultValueType( result_, std::move( memoryWin32HandleProperties ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -13454,7 +17494,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_memory_fd === // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetMemoryFdKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryFdKHR( MemoryGetFdInfoKHR const * pGetFdInfo, int * pFd, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13464,7 +17509,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryFdKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryFdKHR( MemoryGetFdInfoKHR const & getFdInfo, Dispatch const & d ) const { @@ -13474,15 +17524,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif int fd; - Result result = static_cast( d.vkGetMemoryFdKHR( m_device, reinterpret_cast( &getFdInfo ), &fd ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); + Result result_ = + static_cast( d.vkGetMemoryFdKHR( static_cast( m_device ), reinterpret_cast( &getFdInfo ), &fd ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); - return detail::createResultValueType( result, std::move( fd ) ); + return detail::createResultValueType( result_, std::move( fd ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetMemoryFdPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd, MemoryFdPropertiesKHR * pMemoryFdProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13495,7 +17551,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryFdPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd, Dispatch const & d ) const { @@ -13505,11 +17566,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryFdPropertiesKHR memoryFdProperties; - Result result = static_cast( d.vkGetMemoryFdPropertiesKHR( - m_device, static_cast( handleType ), fd, reinterpret_cast( &memoryFdProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); + Result result_ = static_cast( d.vkGetMemoryFdPropertiesKHR( static_cast( m_device ), + static_cast( handleType ), + fd, + reinterpret_cast( &memoryFdProperties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); - return detail::createResultValueType( result, std::move( memoryFdProperties ) ); + return detail::createResultValueType( result_, std::move( memoryFdProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -13517,7 +17580,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalSemaphorePropertiesKHR( PhysicalDeviceExternalSemaphoreInfo const * pExternalSemaphoreInfo, ExternalSemaphoreProperties * pExternalSemaphoreProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13531,7 +17599,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalSemaphoreProperties PhysicalDevice::getExternalSemaphorePropertiesKHR( PhysicalDeviceExternalSemaphoreInfo const & externalSemaphoreInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13542,7 +17615,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalSemaphoreProperties externalSemaphoreProperties; - d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( m_physicalDevice, + d.vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &externalSemaphoreInfo ), reinterpret_cast( &externalSemaphoreProperties ) ); @@ -13555,7 +17628,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkImportSemaphoreWin32HandleKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreWin32HandleKHR( ImportSemaphoreWin32HandleInfoKHR const * pImportSemaphoreWin32HandleInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13567,7 +17645,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportSemaphoreWin32HandleKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::importSemaphoreWin32HandleKHR( ImportSemaphoreWin32HandleInfoKHR const & importSemaphoreWin32HandleInfo, Dispatch const & d ) const { @@ -13576,16 +17659,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkImportSemaphoreWin32HandleKHR && "Function requires " ); # endif - Result result = static_cast( - d.vkImportSemaphoreWin32HandleKHR( m_device, reinterpret_cast( &importSemaphoreWin32HandleInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); + Result result_ = static_cast( d.vkImportSemaphoreWin32HandleKHR( + static_cast( m_device ), reinterpret_cast( &importSemaphoreWin32HandleInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSemaphoreWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreWin32HandleKHR( SemaphoreGetWin32HandleInfoKHR const * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13596,7 +17684,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSemaphoreWin32HandleKHR( SemaphoreGetWin32HandleInfoKHR const & getWin32HandleInfo, Dispatch const & d ) const { @@ -13606,11 +17699,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif HANDLE handle; - Result result = static_cast( - d.vkGetSemaphoreWin32HandleKHR( m_device, reinterpret_cast( &getWin32HandleInfo ), &handle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); + Result result_ = static_cast( d.vkGetSemaphoreWin32HandleKHR( + static_cast( m_device ), reinterpret_cast( &getWin32HandleInfo ), &handle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); - return detail::createResultValueType( result, std::move( handle ) ); + return detail::createResultValueType( result_, std::move( handle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -13618,7 +17711,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_semaphore_fd === // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkImportSemaphoreFdKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreFdKHR( ImportSemaphoreFdInfoKHR const * pImportSemaphoreFdInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13629,7 +17727,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreFdKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::importSemaphoreFdKHR( ImportSemaphoreFdInfoKHR const & importSemaphoreFdInfo, Dispatch const & d ) const { @@ -13638,15 +17741,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkImportSemaphoreFdKHR && "Function requires " ); # endif - Result result = static_cast( d.vkImportSemaphoreFdKHR( m_device, reinterpret_cast( &importSemaphoreFdInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); + Result result_ = static_cast( + d.vkImportSemaphoreFdKHR( static_cast( m_device ), reinterpret_cast( &importSemaphoreFdInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSemaphoreFdKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreFdKHR( SemaphoreGetFdInfoKHR const * pGetFdInfo, int * pFd, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13657,7 +17766,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreFdKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSemaphoreFdKHR( SemaphoreGetFdInfoKHR const & getFdInfo, Dispatch const & d ) const { @@ -13667,17 +17781,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif int fd; - Result result = static_cast( d.vkGetSemaphoreFdKHR( m_device, reinterpret_cast( &getFdInfo ), &fd ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); + Result result_ = + static_cast( d.vkGetSemaphoreFdKHR( static_cast( m_device ), reinterpret_cast( &getFdInfo ), &fd ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); - return detail::createResultValueType( result, std::move( fd ) ); + return detail::createResultValueType( result_, std::move( fd ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_push_descriptor === // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -13696,7 +17816,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -13708,7 +17833,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSetKHR && "Function requires or " ); # endif - d.vkCmdPushDescriptorSetKHR( m_commandBuffer, + d.vkCmdPushDescriptorSetKHR( static_cast( m_commandBuffer ), static_cast( pipelineBindPoint ), static_cast( layout ), set, @@ -13719,7 +17844,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplateKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, void const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13734,7 +17864,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplateKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, DataType const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -13746,7 +17881,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - d.vkCmdPushDescriptorSetWithTemplateKHR( m_commandBuffer, + d.vkCmdPushDescriptorSetWithTemplateKHR( static_cast( m_commandBuffer ), static_cast( descriptorUpdateTemplate ), static_cast( layout ), set, @@ -13758,7 +17893,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginConditionalRenderingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRenderingEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT( ConditionalRenderingBeginInfoEXT const * pConditionalRenderingBegin, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13770,7 +17910,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginConditionalRenderingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRenderingEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT( ConditionalRenderingBeginInfoEXT const & conditionalRenderingBegin, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13779,13 +17924,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginConditionalRenderingEXT && "Function requires " ); # endif - d.vkCmdBeginConditionalRenderingEXT( m_commandBuffer, reinterpret_cast( &conditionalRenderingBegin ) ); + d.vkCmdBeginConditionalRenderingEXT( static_cast( m_commandBuffer ), + reinterpret_cast( &conditionalRenderingBegin ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndConditionalRenderingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndConditionalRenderingEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndConditionalRenderingEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13796,7 +17947,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplateKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDescriptorUpdateTemplateKHR( DescriptorUpdateTemplateCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorUpdateTemplate * pDescriptorUpdateTemplate, @@ -13812,7 +17968,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplateKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createDescriptorUpdateTemplateKHR( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -13823,19 +17984,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorUpdateTemplate descriptorUpdateTemplate; - Result result = static_cast( d.vkCreateDescriptorUpdateTemplateKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorUpdateTemplate ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" ); + Result result_ = + static_cast( d.vkCreateDescriptorUpdateTemplateKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorUpdateTemplate ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" ); - return detail::createResultValueType( result, std::move( descriptorUpdateTemplate ) ); + return detail::createResultValueType( result_, std::move( descriptorUpdateTemplate ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplateKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createDescriptorUpdateTemplateKHRUnique( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const @@ -13847,21 +18014,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorUpdateTemplate descriptorUpdateTemplate; - Result result = static_cast( d.vkCreateDescriptorUpdateTemplateKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorUpdateTemplate ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHRUnique" ); + Result result_ = + static_cast( d.vkCreateDescriptorUpdateTemplateKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorUpdateTemplate ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( descriptorUpdateTemplate, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( descriptorUpdateTemplate, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplateKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13874,7 +18047,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplateKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13884,14 +18062,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkDestroyDescriptorUpdateTemplateKHR( - m_device, static_cast( descriptorUpdateTemplate ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDescriptorUpdateTemplateKHR( static_cast( m_device ), + static_cast( descriptorUpdateTemplate ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplateKHR ) ) +#endif VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, void const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13905,7 +18089,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplateKHR ) ) +# endif VULKAN_HPP_INLINE void Device::updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13915,7 +18104,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkUpdateDescriptorSetWithTemplateKHR( m_device, + d.vkUpdateDescriptorSetWithTemplateKHR( static_cast( m_device ), static_cast( descriptorSet ), static_cast( descriptorUpdateTemplate ), reinterpret_cast( &data ) ); @@ -13925,7 +18114,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_clip_space_w_scaling === // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWScalingNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, uint32_t viewportCount, ViewportWScalingNV const * pViewportWScalings, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13936,7 +18130,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportWScalingNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingNV( uint32_t firstViewport, ArrayProxy const & viewportWScalings, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -13945,8 +18144,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetViewportWScalingNV && "Function requires " ); # endif - d.vkCmdSetViewportWScalingNV( - m_commandBuffer, firstViewport, viewportWScalings.size(), reinterpret_cast( viewportWScalings.data() ) ); + d.vkCmdSetViewportWScalingNV( static_cast( m_commandBuffer ), + firstViewport, + viewportWScalings.size(), + reinterpret_cast( viewportWScalings.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -13954,7 +18155,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::releaseDisplayEXT( DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13962,7 +18168,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::releaseDisplayEXT( DisplayKHR display, Dispatch const & d ) const { @@ -13971,16 +18182,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkReleaseDisplayEXT && "Function requires " ); # endif - Result result = static_cast( d.vkReleaseDisplayEXT( m_physicalDevice, static_cast( display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::releaseDisplayEXT" ); + Result result_ = static_cast( d.vkReleaseDisplayEXT( static_cast( m_physicalDevice ), static_cast( display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::releaseDisplayEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::release( DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -13988,7 +18204,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::release( DisplayKHR display, Dispatch const & d ) const { @@ -13997,10 +18218,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkReleaseDisplayEXT && "Function requires " ); # endif - Result result = static_cast( d.vkReleaseDisplayEXT( m_physicalDevice, static_cast( display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::release" ); + Result result_ = static_cast( d.vkReleaseDisplayEXT( static_cast( m_physicalDevice ), static_cast( display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::release" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -14008,7 +18229,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_acquire_xlib_display === // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireXlibDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::acquireXlibDisplayEXT( Display * dpy, DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14018,7 +18244,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireXlibDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::acquireXlibDisplayEXT( Display & dpy, DisplayKHR display, Dispatch const & d ) const { @@ -14027,15 +18258,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkAcquireXlibDisplayEXT && "Function requires " ); # endif - Result result = static_cast( d.vkAcquireXlibDisplayEXT( m_physicalDevice, &dpy, static_cast( display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); + Result result_ = + static_cast( d.vkAcquireXlibDisplayEXT( static_cast( m_physicalDevice ), &dpy, static_cast( display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRandROutputDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getRandROutputDisplayEXT( Display * dpy, RROutput rrOutput, DisplayKHR * pDisplay, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14046,7 +18283,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRandROutputDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const & d ) const { @@ -14056,15 +18298,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayKHR display; - Result result = static_cast( d.vkGetRandROutputDisplayEXT( m_physicalDevice, &dpy, rrOutput, reinterpret_cast( &display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" ); + Result result_ = static_cast( + d.vkGetRandROutputDisplayEXT( static_cast( m_physicalDevice ), &dpy, rrOutput, reinterpret_cast( &display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" ); - return detail::createResultValueType( result, std::move( display ) ); + return detail::createResultValueType( result_, std::move( display ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRandROutputDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getRandROutputDisplayEXTUnique( Display & dpy, RROutput rrOutput, Dispatch const & d ) const { @@ -14074,10 +18322,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayKHR display; - Result result = static_cast( d.vkGetRandROutputDisplayEXT( m_physicalDevice, &dpy, rrOutput, reinterpret_cast( &display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXTUnique" ); + Result result_ = static_cast( + d.vkGetRandROutputDisplayEXT( static_cast( m_physicalDevice ), &dpy, rrOutput, reinterpret_cast( &display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXTUnique" ); - return detail::createResultValueType( result, UniqueHandle( display, detail::ObjectRelease( *this, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( display, detail::ObjectRelease( *this, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14087,7 +18336,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2EXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilities2EXT( SurfaceKHR surface, SurfaceCapabilities2EXT * pSurfaceCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14100,7 +18354,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getSurfaceCapabilities2EXT( SurfaceKHR surface, Dispatch const & d ) const { @@ -14111,18 +18370,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceCapabilities2EXT surfaceCapabilities; - Result result = static_cast( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT( - m_physicalDevice, static_cast( surface ), reinterpret_cast( &surfaceCapabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); + Result result_ = + static_cast( d.vkGetPhysicalDeviceSurfaceCapabilities2EXT( static_cast( m_physicalDevice ), + static_cast( surface ), + reinterpret_cast( &surfaceCapabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); - return detail::createResultValueType( result, std::move( surfaceCapabilities ) ); + return detail::createResultValueType( result_, std::move( surfaceCapabilities ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_display_control === // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDisplayPowerControlEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::displayPowerControlEXT( DisplayKHR display, DisplayPowerInfoEXT const * pDisplayPowerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14133,7 +18399,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDisplayPowerControlEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::displayPowerControlEXT( DisplayKHR display, DisplayPowerInfoEXT const & displayPowerInfo, Dispatch const & d ) const { @@ -14142,16 +18413,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDisplayPowerControlEXT && "Function requires " ); # endif - Result result = static_cast( - d.vkDisplayPowerControlEXT( m_device, static_cast( display ), reinterpret_cast( &displayPowerInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); + Result result_ = static_cast( d.vkDisplayPowerControlEXT( + static_cast( m_device ), static_cast( display ), reinterpret_cast( &displayPowerInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkRegisterDeviceEventEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerEventEXT( DeviceEventInfoEXT const * pDeviceEventInfo, AllocationCallbacks const * pAllocator, Fence * pFence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14164,7 +18440,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkRegisterDeviceEventEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::registerEventEXT( DeviceEventInfoEXT const & deviceEventInfo, Optional allocator, Dispatch const & d ) const { @@ -14174,18 +18455,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Fence fence; - Result result = static_cast( d.vkRegisterDeviceEventEXT( m_device, - reinterpret_cast( &deviceEventInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXT" ); + Result result_ = static_cast( d.vkRegisterDeviceEventEXT( static_cast( m_device ), + reinterpret_cast( &deviceEventInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXT" ); - return detail::createResultValueType( result, std::move( fence ) ); + return detail::createResultValueType( result_, std::move( fence ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkRegisterDeviceEventEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::registerEventEXTUnique( DeviceEventInfoEXT const & deviceEventInfo, Optional allocator, Dispatch const & d ) const { @@ -14195,19 +18481,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Fence fence; - Result result = static_cast( d.vkRegisterDeviceEventEXT( m_device, - reinterpret_cast( &deviceEventInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXTUnique" ); + Result result_ = static_cast( d.vkRegisterDeviceEventEXT( static_cast( m_device ), + reinterpret_cast( &deviceEventInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::registerEventEXTUnique" ); - return detail::createResultValueType( result, UniqueHandle( fence, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( fence, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkRegisterDisplayEventEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerDisplayEventEXT( DisplayKHR display, DisplayEventInfoEXT const * pDisplayEventInfo, AllocationCallbacks const * pAllocator, Fence * pFence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -14222,7 +18513,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkRegisterDisplayEventEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::registerDisplayEventEXT( DisplayKHR display, DisplayEventInfoEXT const & displayEventInfo, Optional allocator, Dispatch const & d ) const { @@ -14232,19 +18528,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Fence fence; - Result result = static_cast( d.vkRegisterDisplayEventEXT( m_device, - static_cast( display ), - reinterpret_cast( &displayEventInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXT" ); + Result result_ = static_cast( d.vkRegisterDisplayEventEXT( static_cast( m_device ), + static_cast( display ), + reinterpret_cast( &displayEventInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXT" ); - return detail::createResultValueType( result, std::move( fence ) ); + return detail::createResultValueType( result_, std::move( fence ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkRegisterDisplayEventEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::registerDisplayEventEXTUnique( DisplayKHR display, DisplayEventInfoEXT const & displayEventInfo, Optional allocator, Dispatch const & d ) const { @@ -14254,20 +18555,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Fence fence; - Result result = static_cast( d.vkRegisterDisplayEventEXT( m_device, - static_cast( display ), - reinterpret_cast( &displayEventInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXTUnique" ); + Result result_ = static_cast( d.vkRegisterDisplayEventEXT( static_cast( m_device ), + static_cast( display ), + reinterpret_cast( &displayEventInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::registerDisplayEventEXTUnique" ); - return detail::createResultValueType( result, UniqueHandle( fence, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( fence, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainCounterEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, uint64_t * pCounterValue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14278,7 +18584,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainCounterEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) ResultValue @@ -14293,19 +18604,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint64_t counterValue; - Result result = static_cast( - d.vkGetSwapchainCounterEXT( m_device, static_cast( swapchain ), static_cast( counter ), &counterValue ) ); + Result result_ = static_cast( d.vkGetSwapchainCounterEXT( + static_cast( m_device ), static_cast( swapchain ), static_cast( counter ), &counterValue ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainCounterEXT", { Result::eSuccess, Result::eErrorOutOfDateKHR } ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainCounterEXT", { Result::eSuccess, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainCounterEXT" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainCounterEXT" ); # endif # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - return ResultValue( result, std::move( counterValue ) ); + return ResultValue( result_, std::move( counterValue ) ); # else - return detail::createResultValueType( result, std::move( counterValue ) ); + return detail::createResultValueType( result_, std::move( counterValue ) ); # endif } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14314,7 +18625,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRefreshCycleDurationGOOGLE ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, RefreshCycleDurationGOOGLE * pDisplayTimingProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14327,7 +18643,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRefreshCycleDurationGOOGLE ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, Dispatch const & d ) const { @@ -14337,17 +18658,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RefreshCycleDurationGOOGLE displayTimingProperties; - Result result = static_cast( d.vkGetRefreshCycleDurationGOOGLE( - m_device, static_cast( swapchain ), reinterpret_cast( &displayTimingProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRefreshCycleDurationGOOGLE" ); + Result result_ = static_cast( d.vkGetRefreshCycleDurationGOOGLE( static_cast( m_device ), + static_cast( swapchain ), + reinterpret_cast( &displayTimingProperties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRefreshCycleDurationGOOGLE" ); - return detail::createResultValueType( result, std::move( displayTimingProperties ) ); + return detail::createResultValueType( result_, std::move( displayTimingProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPastPresentationTimingGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPastPresentationTimingGOOGLE ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPastPresentationTimingGOOGLE( SwapchainKHR swapchain, uint32_t * pPresentationTimingCount, PastPresentationTimingGOOGLE * pPresentationTimings, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -14362,10 +18689,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPastPresentationTimingGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PastPresentationTimingGOOGLEAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPastPresentationTimingGOOGLE ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) ResultValue> @@ -14381,26 +18713,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentationTimings; uint32_t presentationTimingCount; - Result result; + Result result_; do { - result = - static_cast( d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast( swapchain ), &presentationTimingCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentationTimingCount ) + result_ = static_cast( + d.vkGetPastPresentationTimingGOOGLE( static_cast( m_device ), static_cast( swapchain ), &presentationTimingCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && presentationTimingCount ) { presentationTimings.resize( presentationTimingCount ); - result = static_cast( d.vkGetPastPresentationTimingGOOGLE( m_device, - static_cast( swapchain ), - &presentationTimingCount, - reinterpret_cast( presentationTimings.data() ) ) ); + result_ = + static_cast( d.vkGetPastPresentationTimingGOOGLE( static_cast( m_device ), + static_cast( swapchain ), + &presentationTimingCount, + reinterpret_cast( presentationTimings.data() ) ) ); } - } while ( result == Result::eIncomplete ); + } while ( result_ == Result::eIncomplete ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE", { Result::eSuccess, Result::eIncomplete, Result::eErrorOutOfDateKHR } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE", { Result::eSuccess, Result::eIncomplete, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" ); # endif VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); @@ -14410,18 +18743,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - return ResultValue>( result, std::move( presentationTimings ) ); + return ResultValue>( result_, std::move( presentationTimings ) ); # else - return detail::createResultValueType( result, std::move( presentationTimings ) ); + return detail::createResultValueType( result_, std::move( presentationTimings ) ); # endif } // wrapper function for command vkGetPastPresentationTimingGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PastPresentationTimingGOOGLEAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPastPresentationTimingGOOGLE ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) ResultValue> @@ -14438,26 +18776,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentationTimings( pastPresentationTimingGOOGLEAllocator ); uint32_t presentationTimingCount; - Result result; + Result result_; do { - result = - static_cast( d.vkGetPastPresentationTimingGOOGLE( m_device, static_cast( swapchain ), &presentationTimingCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentationTimingCount ) + result_ = static_cast( + d.vkGetPastPresentationTimingGOOGLE( static_cast( m_device ), static_cast( swapchain ), &presentationTimingCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && presentationTimingCount ) { presentationTimings.resize( presentationTimingCount ); - result = static_cast( d.vkGetPastPresentationTimingGOOGLE( m_device, - static_cast( swapchain ), - &presentationTimingCount, - reinterpret_cast( presentationTimings.data() ) ) ); + result_ = + static_cast( d.vkGetPastPresentationTimingGOOGLE( static_cast( m_device ), + static_cast( swapchain ), + &presentationTimingCount, + reinterpret_cast( presentationTimings.data() ) ) ); } - } while ( result == Result::eIncomplete ); + } while ( result_ == Result::eIncomplete ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE", { Result::eSuccess, Result::eIncomplete, Result::eErrorOutOfDateKHR } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE", { Result::eSuccess, Result::eIncomplete, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPastPresentationTimingGOOGLE" ); # endif VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); @@ -14467,9 +18806,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - return ResultValue>( result, std::move( presentationTimings ) ); + return ResultValue>( result_, std::move( presentationTimings ) ); # else - return detail::createResultValueType( result, std::move( presentationTimings ) ); + return detail::createResultValueType( result_, std::move( presentationTimings ) ); # endif } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14477,7 +18816,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_discard_rectangles === // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, Rect2D const * pDiscardRectangles, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14488,7 +18832,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEXT( uint32_t firstDiscardRectangle, ArrayProxy const & discardRectangles, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14497,14 +18846,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetDiscardRectangleEXT && "Function requires " ); # endif - d.vkCmdSetDiscardRectangleEXT( - m_commandBuffer, firstDiscardRectangle, discardRectangles.size(), reinterpret_cast( discardRectangles.data() ) ); + d.vkCmdSetDiscardRectangleEXT( static_cast( m_commandBuffer ), + firstDiscardRectangle, + discardRectangles.size(), + reinterpret_cast( discardRectangles.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDiscardRectangleEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleEnableEXT( Bool32 discardRectangleEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -14513,7 +18869,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetDiscardRectangleModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleModeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDiscardRectangleModeEXT( DiscardRectangleModeEXT discardRectangleMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -14523,7 +18884,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_hdr_metadata === // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetHdrMetadataEXT ) ) +#endif VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( uint32_t swapchainCount, SwapchainKHR const * pSwapchains, HdrMetadataEXT const * pMetadata, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14536,8 +18902,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> - VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( +# else + template + requires( IS_DISPATCHED( vkSetHdrMetadataEXT ) ) +# endif + VULKAN_HPP_INLINE void Device::setHdrMetadataEXT( ArrayProxy const & swapchains, ArrayProxy const & metadata, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS { @@ -14554,7 +18925,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkSetHdrMetadataEXT( m_device, + d.vkSetHdrMetadataEXT( static_cast( m_device ), swapchains.size(), reinterpret_cast( swapchains.data() ), reinterpret_cast( metadata.data() ) ); @@ -14564,7 +18935,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_create_renderpass2 === // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateRenderPass2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRenderPass2KHR( RenderPassCreateInfo2 const * pCreateInfo, AllocationCallbacks const * pAllocator, RenderPass * pRenderPass, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14577,7 +18953,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createRenderPass2KHR( RenderPassCreateInfo2 const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -14587,18 +18968,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RenderPass renderPass; - Result result = static_cast( d.vkCreateRenderPass2KHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHR" ); + Result result_ = static_cast( d.vkCreateRenderPass2KHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHR" ); - return detail::createResultValueType( result, std::move( renderPass ) ); + return detail::createResultValueType( result_, std::move( renderPass ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createRenderPass2KHRUnique( RenderPassCreateInfo2 const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -14608,20 +18994,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RenderPass renderPass; - Result result = static_cast( d.vkCreateRenderPass2KHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHRUnique" ); + Result result_ = static_cast( d.vkCreateRenderPass2KHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRenderPass2KHRUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( renderPass, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( RenderPassBeginInfo const * pRenderPassBegin, SubpassBeginInfo const * pSubpassBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14633,7 +19024,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR( RenderPassBeginInfo const & renderPassBegin, SubpassBeginInfo const & subpassBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14642,13 +19038,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginRenderPass2KHR && "Function requires or " ); # endif - d.vkCmdBeginRenderPass2KHR( - m_commandBuffer, reinterpret_cast( &renderPassBegin ), reinterpret_cast( &subpassBeginInfo ) ); + d.vkCmdBeginRenderPass2KHR( static_cast( m_commandBuffer ), + reinterpret_cast( &renderPassBegin ), + reinterpret_cast( &subpassBeginInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR( SubpassBeginInfo const * pSubpassBeginInfo, SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14660,7 +19062,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR( SubpassBeginInfo const & subpassBeginInfo, SubpassEndInfo const & subpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14669,13 +19076,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdNextSubpass2KHR && "Function requires or " ); # endif - d.vkCmdNextSubpass2KHR( - m_commandBuffer, reinterpret_cast( &subpassBeginInfo ), reinterpret_cast( &subpassEndInfo ) ); + d.vkCmdNextSubpass2KHR( static_cast( m_commandBuffer ), + reinterpret_cast( &subpassBeginInfo ), + reinterpret_cast( &subpassEndInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -14684,7 +19097,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR( SubpassEndInfo const & subpassEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -14692,7 +19110,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndRenderPass2KHR && "Function requires or " ); # endif - d.vkCmdEndRenderPass2KHR( m_commandBuffer, reinterpret_cast( &subpassEndInfo ) ); + d.vkCmdEndRenderPass2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &subpassEndInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14700,7 +19118,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainStatusKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR( SwapchainKHR swapchain, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -14708,7 +19131,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainStatusKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainStatusKHR( SwapchainKHR swapchain, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -14716,16 +19144,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetSwapchainStatusKHR && "Function requires " ); # endif - Result result = static_cast( d.vkGetSwapchainStatusKHR( m_device, static_cast( swapchain ) ) ); + Result result_ = static_cast( d.vkGetSwapchainStatusKHR( static_cast( m_device ), static_cast( swapchain ) ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainStatusKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -14733,7 +19161,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFencePropertiesKHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalFencePropertiesKHR( PhysicalDeviceExternalFenceInfo const * pExternalFenceInfo, ExternalFenceProperties * pExternalFenceProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -14747,7 +19180,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFencePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalFenceProperties PhysicalDevice::getExternalFencePropertiesKHR( PhysicalDeviceExternalFenceInfo const & externalFenceInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14758,7 +19196,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalFenceProperties externalFenceProperties; - d.vkGetPhysicalDeviceExternalFencePropertiesKHR( m_physicalDevice, + d.vkGetPhysicalDeviceExternalFencePropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &externalFenceInfo ), reinterpret_cast( &externalFenceProperties ) ); @@ -14770,7 +19208,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_fence_win32 === // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importFenceWin32HandleKHR( ImportFenceWin32HandleInfoKHR const * pImportFenceWin32HandleInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14781,7 +19224,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::importFenceWin32HandleKHR( ImportFenceWin32HandleInfoKHR const & importFenceWin32HandleInfo, Dispatch const & d ) const { @@ -14790,16 +19238,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkImportFenceWin32HandleKHR && "Function requires " ); # endif - Result result = static_cast( - d.vkImportFenceWin32HandleKHR( m_device, reinterpret_cast( &importFenceWin32HandleInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); + Result result_ = static_cast( d.vkImportFenceWin32HandleKHR( + static_cast( m_device ), reinterpret_cast( &importFenceWin32HandleInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceWin32HandleKHR( FenceGetWin32HandleInfoKHR const * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14810,7 +19263,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getFenceWin32HandleKHR( FenceGetWin32HandleInfoKHR const & getWin32HandleInfo, Dispatch const & d ) const { @@ -14820,11 +19278,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif HANDLE handle; - Result result = - static_cast( d.vkGetFenceWin32HandleKHR( m_device, reinterpret_cast( &getWin32HandleInfo ), &handle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); + Result result_ = static_cast( + d.vkGetFenceWin32HandleKHR( static_cast( m_device ), reinterpret_cast( &getWin32HandleInfo ), &handle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); - return detail::createResultValueType( result, std::move( handle ) ); + return detail::createResultValueType( result_, std::move( handle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -14832,7 +19290,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_fence_fd === // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkImportFenceFdKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importFenceFdKHR( ImportFenceFdInfoKHR const * pImportFenceFdInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14843,7 +19306,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportFenceFdKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::importFenceFdKHR( ImportFenceFdInfoKHR const & importFenceFdInfo, Dispatch const & d ) const { @@ -14852,15 +19320,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkImportFenceFdKHR && "Function requires " ); # endif - Result result = static_cast( d.vkImportFenceFdKHR( m_device, reinterpret_cast( &importFenceFdInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceFdKHR" ); + Result result_ = + static_cast( d.vkImportFenceFdKHR( static_cast( m_device ), reinterpret_cast( &importFenceFdInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceFdKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetFenceFdKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFenceFdKHR( FenceGetFdInfoKHR const * pGetFdInfo, int * pFd, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -14870,7 +19344,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetFenceFdKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getFenceFdKHR( FenceGetFdInfoKHR const & getFdInfo, Dispatch const & d ) const { @@ -14880,10 +19359,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif int fd; - Result result = static_cast( d.vkGetFenceFdKHR( m_device, reinterpret_cast( &getFdInfo ), &fd ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR" ); + Result result_ = + static_cast( d.vkGetFenceFdKHR( static_cast( m_device ), reinterpret_cast( &getFdInfo ), &fd ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR" ); - return detail::createResultValueType( result, std::move( fd ) ); + return detail::createResultValueType( result_, std::move( fd ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14891,7 +19371,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, uint32_t * pCounterCount, @@ -14911,6 +19396,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PerformanceCounterKHRAllocator, + IsAllocator PerformanceCounterDescriptionKHRAllocator, + typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, std::vector>>::type @@ -14935,35 +19427,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector & counters = data_.first; std::vector & counterDescriptions = data_.second; uint32_t counterCount; - Result result; + Result result_; do { - result = static_cast( - d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( m_physicalDevice, queueFamilyIndex, &counterCount, nullptr, nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && counterCount ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( - m_physicalDevice, + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, reinterpret_cast( counters.data() ), reinterpret_cast( counterDescriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); VULKAN_HPP_ASSERT( counterCount <= counters.size() ); if ( counterCount < counters.size() ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); } - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PerformanceCounterKHRAllocator, + IsAllocator PerformanceCounterDescriptionKHRAllocator, + typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, std::vector>>::type @@ -14993,37 +19492,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector & counters = data_.first; std::vector & counterDescriptions = data_.second; uint32_t counterCount; - Result result; + Result result_; do { - result = static_cast( - d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( m_physicalDevice, queueFamilyIndex, &counterCount, nullptr, nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && counterCount ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( - m_physicalDevice, + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, reinterpret_cast( counters.data() ), reinterpret_cast( counterDescriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); VULKAN_HPP_ASSERT( counterCount <= counters.size() ); if ( counterCount < counters.size() ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); } - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR( QueryPoolPerformanceCreateInfoKHR const * pPerformanceQueryCreateInfo, uint32_t * pNumPasses, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15036,7 +19540,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR( QueryPoolPerformanceCreateInfoKHR const & performanceQueryCreateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15047,15 +19556,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint32_t numPasses; - d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( - m_physicalDevice, reinterpret_cast( &performanceQueryCreateInfo ), &numPasses ); + d.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( static_cast( m_physicalDevice ), + reinterpret_cast( &performanceQueryCreateInfo ), + &numPasses ); return numPasses; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAcquireProfilingLockKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireProfilingLockKHR( AcquireProfilingLockInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15066,7 +19581,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireProfilingLockKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::acquireProfilingLockKHR( AcquireProfilingLockInfoKHR const & info, Dispatch const & d ) const { @@ -15075,15 +19595,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkAcquireProfilingLockKHR && "Function requires " ); # endif - Result result = static_cast( d.vkAcquireProfilingLockKHR( m_device, reinterpret_cast( &info ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); + Result result_ = + static_cast( d.vkAcquireProfilingLockKHR( static_cast( m_device ), reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkReleaseProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseProfilingLockKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkReleaseProfilingLockKHR ) ) +#endif VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -15094,7 +19620,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilities2KHR( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, SurfaceCapabilities2KHR * pSurfaceCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15107,7 +19638,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getSurfaceCapabilities2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d ) const { @@ -15118,22 +19654,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceCapabilities2KHR surfaceCapabilities; - Result result = - static_cast( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, + Result result_ = + static_cast( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), reinterpret_cast( &surfaceCapabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); - return detail::createResultValueType( result, std::move( surfaceCapabilities ) ); + return detail::createResultValueType( result_, std::move( surfaceCapabilities ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceCapabilities2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d ) const { @@ -15145,19 +19686,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SurfaceCapabilities2KHR & surfaceCapabilities = structureChain.template get(); - Result result = - static_cast( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( m_physicalDevice, + Result result_ = + static_cast( d.vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), reinterpret_cast( &surfaceCapabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, uint32_t * pSurfaceFormatCount, SurfaceFormat2KHR * pSurfaceFormats, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -15172,10 +19718,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SurfaceFormat2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d ) const { @@ -15187,35 +19738,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( - m_physicalDevice, reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { surfaceFormats.resize( surfaceFormatCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, - reinterpret_cast( &surfaceInfo ), - &surfaceFormatCount, - reinterpret_cast( surfaceFormats.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { surfaceFormats.resize( surfaceFormatCount ); } - return detail::createResultValueType( result, std::move( surfaceFormats ) ); + return detail::createResultValueType( result_, std::move( surfaceFormats ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template SurfaceFormat2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, SurfaceFormat2KHRAllocator const & surfaceFormat2KHRAllocator, Dispatch const & d ) const @@ -15228,36 +19786,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector surfaceFormats( surfaceFormat2KHRAllocator ); uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( - m_physicalDevice, reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { surfaceFormats.resize( surfaceFormatCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, - reinterpret_cast( &surfaceInfo ), - &surfaceFormatCount, - reinterpret_cast( surfaceFormats.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { surfaceFormats.resize( surfaceFormatCount ); } - return detail::createResultValueType( result, std::move( surfaceFormats ) ); + return detail::createResultValueType( result_, std::move( surfaceFormats ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d ) const { @@ -15270,12 +19835,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( - m_physicalDevice, reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { structureChains.resize( surfaceFormatCount ); surfaceFormats.resize( surfaceFormatCount ); @@ -15283,13 +19850,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { surfaceFormats[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, - reinterpret_cast( &surfaceInfo ), - &surfaceFormatCount, - reinterpret_cast( surfaceFormats.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { @@ -15299,16 +19866,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = surfaceFormats[i]; } - return detail::createResultValueType( result, std::move( structureChains ) ); + return detail::createResultValueType( result_, std::move( structureChains ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, StructureChainAllocator const & structureChainAllocator, Dispatch const & d ) const @@ -15322,12 +19894,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains( structureChainAllocator ); std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( - m_physicalDevice, reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { structureChains.resize( surfaceFormatCount ); surfaceFormats.resize( surfaceFormatCount ); @@ -15335,13 +19909,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { surfaceFormats[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( m_physicalDevice, - reinterpret_cast( &surfaceInfo ), - &surfaceFormatCount, - reinterpret_cast( surfaceFormats.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &surfaceFormatCount, + reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { @@ -15351,7 +19925,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = surfaceFormats[i]; } - return detail::createResultValueType( result, std::move( structureChains ) ); + return detail::createResultValueType( result_, std::move( structureChains ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15359,7 +19933,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayProperties2KHR( uint32_t * pPropertyCount, DisplayProperties2KHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15371,10 +19950,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayProperties2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayProperties2KHR( Dispatch const & d ) const { @@ -15386,32 +19970,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkGetPhysicalDeviceDisplayProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( - d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayProperties2KHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayProperties2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayProperties2KHR( DisplayProperties2KHRAllocator const & displayProperties2KHRAllocator, Dispatch const & d ) const { @@ -15423,30 +20012,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( displayProperties2KHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( d.vkGetPhysicalDeviceDisplayProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( - d.vkGetPhysicalDeviceDisplayProperties2KHR( m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayProperties2KHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlaneProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneProperties2KHR( uint32_t * pPropertyCount, DisplayPlaneProperties2KHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15458,10 +20052,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayPlaneProperties2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlaneProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPlaneProperties2KHR( Dispatch const & d ) const { @@ -15473,32 +20072,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayPlaneProperties2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlaneProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayPlaneProperties2KHR( DisplayPlaneProperties2KHRAllocator const & displayPlaneProperties2KHRAllocator, Dispatch const & d ) const { @@ -15510,30 +20115,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( displayPlaneProperties2KHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceDisplayPlaneProperties2KHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayModeProperties2KHR( DisplayKHR display, uint32_t * pPropertyCount, DisplayModeProperties2KHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15547,10 +20158,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayModeProperties2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayModeProperties2KHR( DisplayKHR display, Dispatch const & d ) const { @@ -15561,32 +20177,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast( display ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( display ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetDisplayModeProperties2KHR( - m_physicalDevice, static_cast( display ), &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), + static_cast( display ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DisplayModeProperties2KHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayModeProperties2KHR( DisplayKHR display, DisplayModeProperties2KHRAllocator const & displayModeProperties2KHRAllocator, Dispatch const & d ) const @@ -15598,33 +20222,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( displayModeProperties2KHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast( display ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( display ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetDisplayModeProperties2KHR( - m_physicalDevice, static_cast( display ), &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), + static_cast( display ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayModeProperties2KHR( DisplayKHR display, Dispatch const & d ) const { @@ -15636,11 +20268,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast( display ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( display ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { structureChains.resize( propertyCount ); properties.resize( propertyCount ); @@ -15648,11 +20281,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { properties[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( d.vkGetDisplayModeProperties2KHR( - m_physicalDevice, static_cast( display ), &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), + static_cast( display ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { @@ -15662,16 +20297,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = properties[i]; } - return detail::createResultValueType( result, std::move( structureChains ) ); + return detail::createResultValueType( result_, std::move( structureChains ) ); } // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template StructureChainAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDisplayModeProperties2KHR( DisplayKHR display, StructureChainAllocator const & structureChainAllocator, Dispatch const & d ) const { @@ -15683,11 +20323,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains( structureChainAllocator ); std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDisplayModeProperties2KHR( m_physicalDevice, static_cast( display ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( display ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { structureChains.resize( propertyCount ); properties.resize( propertyCount ); @@ -15695,11 +20336,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { properties[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( d.vkGetDisplayModeProperties2KHR( - m_physicalDevice, static_cast( display ), &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), + static_cast( display ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayModeProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { @@ -15709,13 +20352,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = properties[i]; } - return detail::createResultValueType( result, std::move( structureChains ) ); + return detail::createResultValueType( result_, std::move( structureChains ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilities2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDisplayPlaneCapabilities2KHR( DisplayPlaneInfo2KHR const * pDisplayPlaneInfo, DisplayPlaneCapabilities2KHR * pCapabilities, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15728,7 +20376,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilities2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getDisplayPlaneCapabilities2KHR( DisplayPlaneInfo2KHR const & displayPlaneInfo, Dispatch const & d ) const { @@ -15738,12 +20391,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayPlaneCapabilities2KHR capabilities; - Result result = static_cast( d.vkGetDisplayPlaneCapabilities2KHR( m_physicalDevice, - reinterpret_cast( &displayPlaneInfo ), - reinterpret_cast( &capabilities ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); + Result result_ = static_cast( d.vkGetDisplayPlaneCapabilities2KHR( static_cast( m_physicalDevice ), + reinterpret_cast( &displayPlaneInfo ), + reinterpret_cast( &capabilities ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); - return detail::createResultValueType( result, std::move( capabilities ) ); + return detail::createResultValueType( result_, std::move( capabilities ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15751,7 +20404,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_MVK_ios_surface === // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createIOSSurfaceMVK( IOSSurfaceCreateInfoMVK const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15764,7 +20422,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createIOSSurfaceMVK( IOSSurfaceCreateInfoMVK const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -15774,18 +20437,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateIOSSurfaceMVK( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" ); + Result result_ = static_cast( d.vkCreateIOSSurfaceMVK( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createIOSSurfaceMVKUnique( IOSSurfaceCreateInfoMVK const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -15795,13 +20463,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateIOSSurfaceMVK( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVKUnique" ); + Result result_ = static_cast( d.vkCreateIOSSurfaceMVK( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createIOSSurfaceMVKUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -15812,7 +20480,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_MVK_macos_surface === // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMacOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createMacOSSurfaceMVK( MacOSSurfaceCreateInfoMVK const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15825,7 +20498,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMacOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createMacOSSurfaceMVK( MacOSSurfaceCreateInfoMVK const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -15835,18 +20513,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateMacOSSurfaceMVK( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" ); + Result result_ = static_cast( d.vkCreateMacOSSurfaceMVK( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMacOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createMacOSSurfaceMVKUnique( MacOSSurfaceCreateInfoMVK const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -15856,13 +20539,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateMacOSSurfaceMVK( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVKUnique" ); + Result result_ = static_cast( d.vkCreateMacOSSurfaceMVK( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVKUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -15872,7 +20555,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_debug_utils === // wrapper function for command vkSetDebugUtilsObjectNameEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectNameEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectNameEXT( DebugUtilsObjectNameInfoEXT const * pNameInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15883,7 +20571,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetDebugUtilsObjectNameEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectNameEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setDebugUtilsObjectNameEXT( DebugUtilsObjectNameInfoEXT const & nameInfo, Dispatch const & d ) const { @@ -15892,17 +20585,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetDebugUtilsObjectNameEXT && "Function requires " ); # endif - Result result = static_cast( d.vkSetDebugUtilsObjectNameEXT( m_device, reinterpret_cast( &nameInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); + Result result_ = static_cast( + d.vkSetDebugUtilsObjectNameEXT( static_cast( m_device ), reinterpret_cast( &nameInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } // wrapper function for command vkSetDebugUtilsObjectNameEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html - template ::type> +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value, bool>::type> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectNameEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d ) const { - VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType::value, "HandleType must be a Vulkan handle type" ); // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT nameInfo; nameInfo.objectType = handle.objectType; @@ -15917,7 +20617,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setDebugUtilsObjectTagEXT( DebugUtilsObjectTagInfoEXT const * pTagInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -15928,7 +20633,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setDebugUtilsObjectTagEXT( DebugUtilsObjectTagInfoEXT const & tagInfo, Dispatch const & d ) const { @@ -15937,17 +20647,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetDebugUtilsObjectTagEXT && "Function requires " ); # endif - Result result = static_cast( d.vkSetDebugUtilsObjectTagEXT( m_device, reinterpret_cast( &tagInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); + Result result_ = static_cast( + d.vkSetDebugUtilsObjectTagEXT( static_cast( m_device ), reinterpret_cast( &tagInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html - template ::type> +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value, bool>::type> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d ) const { - VULKAN_HPP_STATIC_ASSERT( VULKAN_HPP_NAMESPACE::isVulkanHandleType::value, "HandleType must be a Vulkan handle type" ); // It might be, that neither constructors, nor setters, nor designated initializers are available... need to explicitly set member by member VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT tagInfo; tagInfo.objectType = handle.objectType; @@ -15965,7 +20683,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueBeginDebugUtilsLabelEXT ) ) +#endif VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -15975,7 +20698,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueBeginDebugUtilsLabelEXT ) ) +# endif VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -15983,12 +20711,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueBeginDebugUtilsLabelEXT && "Function requires " ); # endif - d.vkQueueBeginDebugUtilsLabelEXT( m_queue, reinterpret_cast( &labelInfo ) ); + d.vkQueueBeginDebugUtilsLabelEXT( static_cast( m_queue ), reinterpret_cast( &labelInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkQueueEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueEndDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueEndDebugUtilsLabelEXT ) ) +#endif VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -15997,7 +20730,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueInsertDebugUtilsLabelEXT ) ) +#endif VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16007,7 +20745,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueInsertDebugUtilsLabelEXT ) ) +# endif VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16015,12 +20758,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueInsertDebugUtilsLabelEXT && "Function requires " ); # endif - d.vkQueueInsertDebugUtilsLabelEXT( m_queue, reinterpret_cast( &labelInfo ) ); + d.vkQueueInsertDebugUtilsLabelEXT( static_cast( m_queue ), reinterpret_cast( &labelInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginDebugUtilsLabelEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16029,7 +20777,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginDebugUtilsLabelEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16037,12 +20790,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginDebugUtilsLabelEXT && "Function requires " ); # endif - d.vkCmdBeginDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast( &labelInfo ) ); + d.vkCmdBeginDebugUtilsLabelEXT( static_cast( m_commandBuffer ), reinterpret_cast( &labelInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndDebugUtilsLabelEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16051,7 +20809,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdInsertDebugUtilsLabelEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16061,7 +20824,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdInsertDebugUtilsLabelEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16069,13 +20837,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdInsertDebugUtilsLabelEXT && "Function requires " ); # endif - d.vkCmdInsertDebugUtilsLabelEXT( m_commandBuffer, reinterpret_cast( &labelInfo ) ); + d.vkCmdInsertDebugUtilsLabelEXT( static_cast( m_commandBuffer ), reinterpret_cast( &labelInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDebugUtilsMessengerEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createDebugUtilsMessengerEXT( DebugUtilsMessengerCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, DebugUtilsMessengerEXT * pMessenger, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -16090,7 +20863,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDebugUtilsMessengerEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createDebugUtilsMessengerEXT( DebugUtilsMessengerCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -16100,19 +20878,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DebugUtilsMessengerEXT messenger; - Result result = static_cast( d.vkCreateDebugUtilsMessengerEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &messenger ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" ); + Result result_ = static_cast( d.vkCreateDebugUtilsMessengerEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &messenger ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" ); - return detail::createResultValueType( result, std::move( messenger ) ); + return detail::createResultValueType( result_, std::move( messenger ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDebugUtilsMessengerEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createDebugUtilsMessengerEXTUnique( DebugUtilsMessengerCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const @@ -16123,21 +20906,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DebugUtilsMessengerEXT messenger; - Result result = static_cast( d.vkCreateDebugUtilsMessengerEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &messenger ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXTUnique" ); + Result result_ = static_cast( d.vkCreateDebugUtilsMessengerEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &messenger ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXTUnique" ); return detail::createResultValueType( - result, UniqueHandle( messenger, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( messenger, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +#endif VULKAN_HPP_INLINE void Instance::destroyDebugUtilsMessengerEXT( DebugUtilsMessengerEXT messenger, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16150,7 +20938,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +# endif VULKAN_HPP_INLINE void Instance::destroyDebugUtilsMessengerEXT( DebugUtilsMessengerEXT messenger, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16159,14 +20952,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDebugUtilsMessengerEXT && "Function requires " ); # endif - d.vkDestroyDebugUtilsMessengerEXT( - m_instance, static_cast( messenger ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDebugUtilsMessengerEXT( static_cast( m_instance ), + static_cast( messenger ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +#endif VULKAN_HPP_INLINE void Instance::destroy( DebugUtilsMessengerEXT messenger, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16179,7 +20978,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +# endif VULKAN_HPP_INLINE void Instance::destroy( DebugUtilsMessengerEXT messenger, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16188,13 +20992,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDebugUtilsMessengerEXT && "Function requires " ); # endif - d.vkDestroyDebugUtilsMessengerEXT( - m_instance, static_cast( messenger ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDebugUtilsMessengerEXT( static_cast( m_instance ), + static_cast( messenger ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSubmitDebugUtilsMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSubmitDebugUtilsMessageEXT ) ) +#endif VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, DebugUtilsMessengerCallbackDataEXT const * pCallbackData, @@ -16209,7 +21019,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSubmitDebugUtilsMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSubmitDebugUtilsMessageEXT ) ) +# endif VULKAN_HPP_INLINE void Instance::submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, DebugUtilsMessengerCallbackDataEXT const & callbackData, @@ -16220,7 +21035,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSubmitDebugUtilsMessageEXT && "Function requires " ); # endif - d.vkSubmitDebugUtilsMessageEXT( m_instance, + d.vkSubmitDebugUtilsMessageEXT( static_cast( m_instance ), static_cast( messageSeverity ), static_cast( messageTypes ), reinterpret_cast( &callbackData ) ); @@ -16232,7 +21047,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAndroidHardwareBufferPropertiesANDROID ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAndroidHardwareBufferPropertiesANDROID( struct AHardwareBuffer const * buffer, AndroidHardwareBufferPropertiesANDROID * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16244,7 +21064,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAndroidHardwareBufferPropertiesANDROID ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getAndroidHardwareBufferPropertiesANDROID( struct AHardwareBuffer const & buffer, Dispatch const & d ) const { @@ -16255,20 +21080,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AndroidHardwareBufferPropertiesANDROID properties; - Result result = static_cast( - d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, &buffer, reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); + Result result_ = static_cast( d.vkGetAndroidHardwareBufferPropertiesANDROID( + static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAndroidHardwareBufferPropertiesANDROID ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getAndroidHardwareBufferPropertiesANDROID( struct AHardwareBuffer const & buffer, Dispatch const & d ) const { @@ -16280,17 +21110,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; AndroidHardwareBufferPropertiesANDROID & properties = structureChain.template get(); - Result result = static_cast( - d.vkGetAndroidHardwareBufferPropertiesANDROID( m_device, &buffer, reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); + Result result_ = static_cast( d.vkGetAndroidHardwareBufferPropertiesANDROID( + static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryAndroidHardwareBufferANDROID ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryAndroidHardwareBufferANDROID( MemoryGetAndroidHardwareBufferInfoANDROID const * pInfo, struct AHardwareBuffer ** pBuffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16302,7 +21137,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryAndroidHardwareBufferANDROID ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryAndroidHardwareBufferANDROID( MemoryGetAndroidHardwareBufferInfoANDROID const & info, Dispatch const & d ) const { @@ -16313,80 +21153,625 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif struct AHardwareBuffer * buffer; - Result result = static_cast( - d.vkGetMemoryAndroidHardwareBufferANDROID( m_device, reinterpret_cast( &info ), &buffer ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); + Result result_ = static_cast( d.vkGetMemoryAndroidHardwareBufferANDROID( + static_cast( m_device ), reinterpret_cast( &info ), &buffer ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); - return detail::createResultValueType( result, std::move( buffer ) ); + return detail::createResultValueType( result_, std::move( buffer ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ -#if defined( VK_ENABLE_BETA_EXTENSIONS ) - //=== VK_AMDX_shader_enqueue === + //=== VK_AMD_gpa_interface === - // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html - template ::type> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createExecutionGraphPipelinesAMDX( PipelineCache pipelineCache, - uint32_t createInfoCount, - ExecutionGraphPipelineCreateInfoAMDX const * pCreateInfos, - AllocationCallbacks const * pAllocator, - Pipeline * pPipelines, - Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateGpaSessionAMD ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createGpaSessionAMD( + GpaSessionCreateInfoAMD const * pCreateInfo, AllocationCallbacks const * pAllocator, GpaSessionAMD * pGpaSession, Dispatch const & d ) + const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); - return static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), - static_cast( pipelineCache ), - createInfoCount, - reinterpret_cast( pCreateInfos ), - reinterpret_cast( pAllocator ), - reinterpret_cast( pPipelines ) ) ); + return static_cast( d.vkCreateGpaSessionAMD( static_cast( m_device ), + reinterpret_cast( pCreateInfo ), + reinterpret_cast( pAllocator ), + reinterpret_cast( pGpaSession ) ) ); } -# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html - template ::value, int>::type, - typename std::enable_if::type> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createExecutionGraphPipelinesAMDX( - PipelineCache pipelineCache, - ArrayProxy const & createInfos, - Optional allocator, - Dispatch const & d ) const +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createGpaSessionAMD( + GpaSessionCreateInfoAMD const & createInfo, Optional allocator, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); -# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) - VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function requires " ); -# endif +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCreateGpaSessionAMD && "Function requires " ); +# endif - std::vector pipelines( createInfos.size() ); - Result result = - static_cast( d.vkCreateExecutionGraphPipelinesAMDX( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, - VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", - { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, - m_device, - pipelines, - allocator.get(), - d ); + GpaSessionAMD gpaSession; + Result result_ = static_cast( d.vkCreateGpaSessionAMD( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &gpaSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGpaSessionAMD" ); - return { result, pipelines }; + return detail::createResultValueType( result_, std::move( gpaSession ) ); + } + +# ifndef VULKAN_HPP_NO_SMART_HANDLE + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createGpaSessionAMDUnique( + GpaSessionCreateInfoAMD const & createInfo, Optional allocator, Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCreateGpaSessionAMD && "Function requires " ); +# endif + + GpaSessionAMD gpaSession; + Result result_ = static_cast( d.vkCreateGpaSessionAMD( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &gpaSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createGpaSessionAMDUnique" ); + + return detail::createResultValueType( result_, + UniqueHandle( gpaSession, detail::ObjectDestroy( *this, allocator, d ) ) ); + } +# endif /* VULKAN_HPP_NO_SMART_HANDLE */ +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +#endif + VULKAN_HPP_INLINE void Device::destroyGpaSessionAMD( GpaSessionAMD gpaSession, AllocationCallbacks const * pAllocator, Dispatch const & d ) + const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkDestroyGpaSessionAMD( + static_cast( m_device ), static_cast( gpaSession ), reinterpret_cast( pAllocator ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +# endif + VULKAN_HPP_INLINE void Device::destroyGpaSessionAMD( GpaSessionAMD gpaSession, Optional allocator, Dispatch const & d ) + const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkDestroyGpaSessionAMD && "Function requires " ); +# endif + + d.vkDestroyGpaSessionAMD( + static_cast( m_device ), static_cast( gpaSession ), reinterpret_cast( allocator.get() ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +#endif + VULKAN_HPP_INLINE void Device::destroy( GpaSessionAMD gpaSession, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkDestroyGpaSessionAMD( + static_cast( m_device ), static_cast( gpaSession ), reinterpret_cast( pAllocator ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +# endif + VULKAN_HPP_INLINE void Device::destroy( GpaSessionAMD gpaSession, Optional allocator, Dispatch const & d ) + const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkDestroyGpaSessionAMD && "Function requires " ); +# endif + + d.vkDestroyGpaSessionAMD( + static_cast( m_device ), static_cast( gpaSession ), reinterpret_cast( allocator.get() ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkSetGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetGpaDeviceClockModeAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkSetGpaDeviceClockModeAMD ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setGpaClockModeAMD( GpaDeviceClockModeInfoAMD * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkSetGpaDeviceClockModeAMD( static_cast( m_device ), reinterpret_cast( pInfo ) ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkSetGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetGpaDeviceClockModeAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkSetGpaDeviceClockModeAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::setGpaClockModeAMD( Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkSetGpaDeviceClockModeAMD && "Function requires " ); +# endif + + GpaDeviceClockModeInfoAMD info; + Result result_ = + static_cast( d.vkSetGpaDeviceClockModeAMD( static_cast( m_device ), reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setGpaClockModeAMD" ); + + return detail::createResultValueType( result_, std::move( info ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkGetGpaDeviceClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaDeviceClockInfoAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkGetGpaDeviceClockInfoAMD ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGpaClockInfoAMD( GpaDeviceGetClockInfoAMD * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkGetGpaDeviceClockInfoAMD( static_cast( m_device ), reinterpret_cast( pInfo ) ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetGpaDeviceClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaDeviceClockInfoAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGpaDeviceClockInfoAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getGpaClockInfoAMD( Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetGpaDeviceClockInfoAMD && "Function requires " ); +# endif + + GpaDeviceGetClockInfoAMD info; + Result result_ = + static_cast( d.vkGetGpaDeviceClockInfoAMD( static_cast( m_device ), reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGpaClockInfoAMD" ); + + return detail::createResultValueType( result_, std::move( info ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdBeginGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::beginGpaSessionAMD( GpaSessionAMD gpaSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkCmdBeginGpaSessionAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ) ); + } +#else + // wrapper function for command vkCmdBeginGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::beginGpaSessionAMD( GpaSessionAMD gpaSession, + Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCmdBeginGpaSessionAMD && "Function requires " ); +# endif + + Result result_ = + static_cast( d.vkCmdBeginGpaSessionAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::beginGpaSessionAMD" ); + + return detail::createResultValueType( result_ ); + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdEndGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::endGpaSessionAMD( GpaSessionAMD gpaSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkCmdEndGpaSessionAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ) ); + } +#else + // wrapper function for command vkCmdEndGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::endGpaSessionAMD( GpaSessionAMD gpaSession, + Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCmdEndGpaSessionAMD && "Function requires " ); +# endif + + Result result_ = + static_cast( d.vkCmdEndGpaSessionAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::endGpaSessionAMD" ); + + return detail::createResultValueType( result_ ); + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + // wrapper function for command vkCmdBeginGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSampleAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSampleAMD ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::beginGpaSampleAMD( + GpaSessionAMD gpaSession, GpaSampleBeginInfoAMD const * pGpaSampleBeginInfo, uint32_t * pSampleID, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkCmdBeginGpaSampleAMD( static_cast( m_commandBuffer ), + static_cast( gpaSession ), + reinterpret_cast( pGpaSampleBeginInfo ), + pSampleID ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdBeginGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSampleAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSampleAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::beginGpaSampleAMD( + GpaSessionAMD gpaSession, GpaSampleBeginInfoAMD const & gpaSampleBeginInfo, Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCmdBeginGpaSampleAMD && "Function requires " ); +# endif + + uint32_t sampleID; + Result result_ = static_cast( d.vkCmdBeginGpaSampleAMD( static_cast( m_commandBuffer ), + static_cast( gpaSession ), + reinterpret_cast( &gpaSampleBeginInfo ), + &sampleID ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::beginGpaSampleAMD" ); + + return detail::createResultValueType( result_, std::move( sampleID ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkCmdEndGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSampleAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndGpaSampleAMD ) ) +#endif + VULKAN_HPP_INLINE void CommandBuffer::endGpaSampleAMD( GpaSessionAMD gpaSession, uint32_t sampleID, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdEndGpaSampleAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ), sampleID ); + } + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetGpaSessionStatusAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionStatusAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGpaSessionStatusAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGpaSessionStatusAMD( GpaSessionAMD gpaSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkGetGpaSessionStatusAMD( static_cast( m_device ), static_cast( gpaSession ) ) ); + } +#else + // wrapper function for command vkGetGpaSessionStatusAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionStatusAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGpaSessionStatusAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::getGpaSessionStatusAMD( GpaSessionAMD gpaSession, + Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetGpaSessionStatusAMD && "Function requires " ); +# endif + + Result result_ = static_cast( d.vkGetGpaSessionStatusAMD( static_cast( m_device ), static_cast( gpaSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGpaSessionStatusAMD" ); + + return detail::createResultValueType( result_ ); + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkGetGpaSessionResultsAMD ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGpaSessionResultsAMD( + GpaSessionAMD gpaSession, uint32_t sampleID, size_t * pSizeInBytes, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( + d.vkGetGpaSessionResultsAMD( static_cast( m_device ), static_cast( gpaSession ), sampleID, pSizeInBytes, pData ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value, int>::type, + typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetGpaSessionResultsAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getGpaSessionResultsAMD( + GpaSessionAMD gpaSession, uint32_t sampleID, Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetGpaSessionResultsAMD && "Function requires " ); +# endif + + std::vector data; + size_t sizeInBytes; + Result result_ = static_cast( + d.vkGetGpaSessionResultsAMD( static_cast( m_device ), static_cast( gpaSession ), sampleID, &sizeInBytes, nullptr ) ); + if ( result_ == Result::eSuccess ) + { + data.resize( sizeInBytes ); + result_ = static_cast( d.vkGetGpaSessionResultsAMD( + static_cast( m_device ), static_cast( gpaSession ), sampleID, &sizeInBytes, reinterpret_cast( data.data() ) ) ); + } + + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGpaSessionResultsAMD" ); + VULKAN_HPP_ASSERT( sizeInBytes <= data.size() ); + if ( sizeInBytes < data.size() ) + { + data.resize( sizeInBytes ); + } + return detail::createResultValueType( result_, std::move( data ) ); + } + + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value, int>::type, + typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetGpaSessionResultsAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getGpaSessionResultsAMD( + GpaSessionAMD gpaSession, uint32_t sampleID, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetGpaSessionResultsAMD && "Function requires " ); +# endif + + std::vector data( uint8_tAllocator ); + size_t sizeInBytes; + Result result_ = static_cast( + d.vkGetGpaSessionResultsAMD( static_cast( m_device ), static_cast( gpaSession ), sampleID, &sizeInBytes, nullptr ) ); + if ( result_ == Result::eSuccess ) + { + data.resize( sizeInBytes ); + result_ = static_cast( d.vkGetGpaSessionResultsAMD( + static_cast( m_device ), static_cast( gpaSession ), sampleID, &sizeInBytes, reinterpret_cast( data.data() ) ) ); + } + + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGpaSessionResultsAMD" ); + VULKAN_HPP_ASSERT( sizeInBytes <= data.size() ); + if ( sizeInBytes < data.size() ) + { + data.resize( sizeInBytes ); + } + return detail::createResultValueType( result_, std::move( data ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkResetGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkResetGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::resetGpaSessionAMD( GpaSessionAMD gpaSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkResetGpaSessionAMD( static_cast( m_device ), static_cast( gpaSession ) ) ); + } +#else + // wrapper function for command vkResetGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkResetGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::resetGpaSessionAMD( GpaSessionAMD gpaSession, + Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkResetGpaSessionAMD && "Function requires " ); +# endif + + Result result_ = static_cast( d.vkResetGpaSessionAMD( static_cast( m_device ), static_cast( gpaSession ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::resetGpaSessionAMD" ); + + return detail::createResultValueType( result_ ); + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + // wrapper function for command vkCmdCopyGpaSessionResultsAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyGpaSessionResultsAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyGpaSessionResultsAMD ) ) +#endif + VULKAN_HPP_INLINE void CommandBuffer::copyGpaSessionResultsAMD( GpaSessionAMD gpaSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkCmdCopyGpaSessionResultsAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ); + } + +#if defined( VK_ENABLE_BETA_EXTENSIONS ) + //=== VK_AMDX_shader_enqueue === + + // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createExecutionGraphPipelinesAMDX( PipelineCache pipelineCache, + uint32_t createInfoCount, + ExecutionGraphPipelineCreateInfoAMDX const * pCreateInfos, + AllocationCallbacks const * pAllocator, + Pipeline * pPipelines, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), + static_cast( pipelineCache ), + createInfoCount, + reinterpret_cast( pCreateInfos ), + reinterpret_cast( pAllocator ), + reinterpret_cast( pPipelines ) ) ); + } + +# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::value, int>::type, + typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createExecutionGraphPipelinesAMDX( + PipelineCache pipelineCache, + ArrayProxy const & createInfos, + Optional allocator, + Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCreateExecutionGraphPipelinesAMDX && "Function requires " ); +# endif + + std::vector pipelines( createInfos.size() ); + Result result_ = + static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, + VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", + { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, + m_device, + pipelines, + allocator.get(), + d ); + + return { result_, pipelines }; } // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createExecutionGraphPipelinesAMDX( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16400,14 +21785,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size(), {}, pipelineAllocator ); - Result result = - static_cast( d.vkCreateExecutionGraphPipelinesAMDX( m_device, + Result result_ = + static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), static_cast( pipelineCache ), createInfos.size(), reinterpret_cast( createInfos.data() ), reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -16415,12 +21800,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createExecutionGraphPipelineAMDX( PipelineCache pipelineCache, ExecutionGraphPipelineCreateInfoAMDX const & createInfo, Optional allocator, Dispatch const & d ) const @@ -16431,25 +21821,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateExecutionGraphPipelinesAMDX( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = + static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return { result, pipeline }; + return { result_, pipeline }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createExecutionGraphPipelinesAMDXUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16462,14 +21858,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = - static_cast( d.vkCreateExecutionGraphPipelinesAMDX( m_device, + Result result_ = + static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), static_cast( pipelineCache ), createInfos.size(), reinterpret_cast( createInfos.data() ), reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDXUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -16483,15 +21879,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createExecutionGraphPipelinesAMDXUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16505,14 +21906,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = - static_cast( d.vkCreateExecutionGraphPipelinesAMDX( m_device, + Result result_ = + static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), static_cast( pipelineCache ), createInfos.size(), reinterpret_cast( createInfos.data() ), reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDXUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -16526,12 +21927,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createExecutionGraphPipelineAMDXUnique( PipelineCache pipelineCache, ExecutionGraphPipelineCreateInfoAMDX const & createInfo, Optional allocator, Dispatch const & d ) const @@ -16542,24 +21948,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateExecutionGraphPipelinesAMDX( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = + static_cast( d.vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDXUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDXUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - result, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineScratchSizeAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getExecutionGraphPipelineScratchSizeAMDX( Pipeline executionGraph, ExecutionGraphPipelineScratchSizeAMDX * pSizeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16572,7 +21984,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineScratchSizeAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getExecutionGraphPipelineScratchSizeAMDX( Pipeline executionGraph, Dispatch const & d ) const { @@ -16583,17 +22000,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExecutionGraphPipelineScratchSizeAMDX sizeInfo; - Result result = static_cast( d.vkGetExecutionGraphPipelineScratchSizeAMDX( - m_device, static_cast( executionGraph ), reinterpret_cast( &sizeInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getExecutionGraphPipelineScratchSizeAMDX" ); + Result result_ = + static_cast( d.vkGetExecutionGraphPipelineScratchSizeAMDX( static_cast( m_device ), + static_cast( executionGraph ), + reinterpret_cast( &sizeInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getExecutionGraphPipelineScratchSizeAMDX" ); - return detail::createResultValueType( result, std::move( sizeInfo ) ); + return detail::createResultValueType( result_, std::move( sizeInfo ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineNodeIndexAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getExecutionGraphPipelineNodeIndexAMDX( Pipeline executionGraph, PipelineShaderStageNodeCreateInfoAMDX const * pNodeInfo, uint32_t * pNodeIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16607,7 +22031,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineNodeIndexAMDX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getExecutionGraphPipelineNodeIndexAMDX( Pipeline executionGraph, PipelineShaderStageNodeCreateInfoAMDX const & nodeInfo, Dispatch const & d ) const { @@ -16617,17 +22046,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint32_t nodeIndex; - Result result = static_cast( d.vkGetExecutionGraphPipelineNodeIndexAMDX( - m_device, static_cast( executionGraph ), reinterpret_cast( &nodeInfo ), &nodeIndex ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getExecutionGraphPipelineNodeIndexAMDX" ); + Result result_ = + static_cast( d.vkGetExecutionGraphPipelineNodeIndexAMDX( static_cast( m_device ), + static_cast( executionGraph ), + reinterpret_cast( &nodeInfo ), + &nodeIndex ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getExecutionGraphPipelineNodeIndexAMDX" ); - return detail::createResultValueType( result, std::move( nodeIndex ) ); + return detail::createResultValueType( result_, std::move( nodeIndex ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdInitializeGraphScratchMemoryAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInitializeGraphScratchMemoryAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdInitializeGraphScratchMemoryAMDX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::initializeGraphScratchMemoryAMDX( Pipeline executionGraph, DeviceAddress scratch, DeviceSize scratchSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16639,7 +22076,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphAMDX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const * pCountInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16652,7 +22094,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphAMDX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const & countInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16661,7 +22108,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDispatchGraphAMDX && "Function requires " ); # endif - d.vkCmdDispatchGraphAMDX( m_commandBuffer, + d.vkCmdDispatchGraphAMDX( static_cast( m_commandBuffer ), static_cast( scratch ), static_cast( scratchSize ), reinterpret_cast( &countInfo ) ); @@ -16670,7 +22117,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphIndirectAMDX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const * pCountInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16684,7 +22136,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphIndirectAMDX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const & countInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16693,7 +22150,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDispatchGraphIndirectAMDX && "Function requires " ); # endif - d.vkCmdDispatchGraphIndirectAMDX( m_commandBuffer, + d.vkCmdDispatchGraphIndirectAMDX( static_cast( m_commandBuffer ), static_cast( scratch ), static_cast( scratchSize ), reinterpret_cast( &countInfo ) ); @@ -16702,7 +22159,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDispatchGraphIndirectCountAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectCountAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphIndirectCountAMDX ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchGraphIndirectCountAMDX( DeviceAddress scratch, DeviceSize scratchSize, DeviceAddress countInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16717,7 +22179,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_descriptor_heap === // wrapper function for command vkWriteSamplerDescriptorsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteSamplerDescriptorsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWriteSamplerDescriptorsEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::writeSamplerDescriptorsEXT( uint32_t samplerCount, SamplerCreateInfo const * pSamplers, HostAddressRangeEXT const * pDescriptors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16730,7 +22197,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteSamplerDescriptorsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteSamplerDescriptorsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWriteSamplerDescriptorsEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::writeSamplerDescriptorsEXT( ArrayProxy const & samplers, ArrayProxy const & descriptors, Dispatch const & d ) const { @@ -16747,19 +22219,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - Result result = static_cast( d.vkWriteSamplerDescriptorsEXT( m_device, - samplers.size(), - reinterpret_cast( samplers.data() ), - reinterpret_cast( descriptors.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeSamplerDescriptorsEXT" ); + Result result_ = static_cast( d.vkWriteSamplerDescriptorsEXT( static_cast( m_device ), + samplers.size(), + reinterpret_cast( samplers.data() ), + reinterpret_cast( descriptors.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::writeSamplerDescriptorsEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWriteResourceDescriptorsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteResourceDescriptorsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWriteResourceDescriptorsEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::writeResourceDescriptorsEXT( uint32_t resourceCount, ResourceDescriptorInfoEXT const * pResources, HostAddressRangeEXT const * pDescriptors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -16774,7 +22251,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteResourceDescriptorsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteResourceDescriptorsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWriteResourceDescriptorsEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::writeResourceDescriptorsEXT( ArrayProxy const & resources, ArrayProxy const & descriptors, Dispatch const & d ) const { @@ -16791,18 +22273,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - Result result = static_cast( d.vkWriteResourceDescriptorsEXT( m_device, - resources.size(), - reinterpret_cast( resources.data() ), - reinterpret_cast( descriptors.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeResourceDescriptorsEXT" ); + Result result_ = static_cast( d.vkWriteResourceDescriptorsEXT( static_cast( m_device ), + resources.size(), + reinterpret_cast( resources.data() ), + reinterpret_cast( descriptors.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::writeResourceDescriptorsEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindSamplerHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindSamplerHeapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindSamplerHeapEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindSamplerHeapEXT( BindHeapInfoEXT const * pBindInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16811,7 +22298,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindSamplerHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindSamplerHeapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindSamplerHeapEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindSamplerHeapEXT( BindHeapInfoEXT const & bindInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16819,12 +22311,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindSamplerHeapEXT && "Function requires " ); # endif - d.vkCmdBindSamplerHeapEXT( m_commandBuffer, reinterpret_cast( &bindInfo ) ); + d.vkCmdBindSamplerHeapEXT( static_cast( m_commandBuffer ), reinterpret_cast( &bindInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindResourceHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindResourceHeapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindResourceHeapEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindResourceHeapEXT( BindHeapInfoEXT const * pBindInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16833,7 +22330,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindResourceHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindResourceHeapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindResourceHeapEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindResourceHeapEXT( BindHeapInfoEXT const & bindInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16841,12 +22343,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindResourceHeapEXT && "Function requires " ); # endif - d.vkCmdBindResourceHeapEXT( m_commandBuffer, reinterpret_cast( &bindInfo ) ); + d.vkCmdBindResourceHeapEXT( static_cast( m_commandBuffer ), reinterpret_cast( &bindInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDataEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDataEXT( PushDataInfoEXT const * pPushDataInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16855,7 +22362,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDataEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDataEXT( PushDataInfoEXT const & pushDataInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16863,13 +22375,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushDataEXT && "Function requires " ); # endif - d.vkCmdPushDataEXT( m_commandBuffer, reinterpret_cast( &pushDataInfo ) ); + d.vkCmdPushDataEXT( static_cast( m_commandBuffer ), reinterpret_cast( &pushDataInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageOpaqueCaptureDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageOpaqueCaptureDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageOpaqueCaptureDataEXT( uint32_t imageCount, Image const * pImages, HostAddressRangeEXT * pDatas, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16880,7 +22397,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDescriptorSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDescriptorSizeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDescriptorSizeEXT ) ) +#endif VULKAN_HPP_INLINE DeviceSize PhysicalDevice::getDescriptorSizeEXT( DescriptorType descriptorType, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16890,7 +22412,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkRegisterCustomBorderColorEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterCustomBorderColorEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkRegisterCustomBorderColorEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::registerCustomBorderColorEXT( SamplerCustomBorderColorCreateInfoEXT const * pBorderColor, Bool32 requestIndex, uint32_t * pIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16904,7 +22431,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkRegisterCustomBorderColorEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterCustomBorderColorEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkRegisterCustomBorderColorEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::registerCustomBorderColorEXT( SamplerCustomBorderColorCreateInfoEXT const & borderColor, Bool32 requestIndex, Dispatch const & d ) const { @@ -16914,17 +22446,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint32_t index; - Result result = static_cast( d.vkRegisterCustomBorderColorEXT( - m_device, reinterpret_cast( &borderColor ), static_cast( requestIndex ), &index ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::registerCustomBorderColorEXT" ); + Result result_ = static_cast( d.vkRegisterCustomBorderColorEXT( static_cast( m_device ), + reinterpret_cast( &borderColor ), + static_cast( requestIndex ), + &index ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::registerCustomBorderColorEXT" ); - return detail::createResultValueType( result, std::move( index ) ); + return detail::createResultValueType( result_, std::move( index ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnregisterCustomBorderColorEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnregisterCustomBorderColorEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUnregisterCustomBorderColorEXT ) ) +#endif VULKAN_HPP_INLINE void Device::unregisterCustomBorderColorEXT( uint32_t index, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -16933,7 +22472,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetTensorOpaqueCaptureDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDataARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetTensorOpaqueCaptureDataARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getTensorOpaqueCaptureDataARM( uint32_t tensorCount, TensorARM const * pTensors, HostAddressRangeEXT * pDatas, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16947,7 +22491,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_sample_locations === // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetSampleLocationsEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( SampleLocationsInfoEXT const * pSampleLocationsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16957,7 +22506,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetSampleLocationsEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEXT( SampleLocationsInfoEXT const & sampleLocationsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16966,13 +22520,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetSampleLocationsEXT && "Function requires " ); # endif - d.vkCmdSetSampleLocationsEXT( m_commandBuffer, reinterpret_cast( &sampleLocationsInfo ) ); + d.vkCmdSetSampleLocationsEXT( static_cast( m_commandBuffer ), reinterpret_cast( &sampleLocationsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMultisamplePropertiesEXT ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getMultisamplePropertiesEXT( SampleCountFlagBits samples, MultisamplePropertiesEXT * pMultisampleProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16985,7 +22544,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMultisamplePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MultisamplePropertiesEXT PhysicalDevice::getMultisamplePropertiesEXT( SampleCountFlagBits samples, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -16996,8 +22560,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MultisamplePropertiesEXT multisampleProperties; - d.vkGetPhysicalDeviceMultisamplePropertiesEXT( - m_physicalDevice, static_cast( samples ), reinterpret_cast( &multisampleProperties ) ); + d.vkGetPhysicalDeviceMultisamplePropertiesEXT( static_cast( m_physicalDevice ), + static_cast( samples ), + reinterpret_cast( &multisampleProperties ) ); return multisampleProperties; } @@ -17007,7 +22572,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2KHR ) ) +#endif VULKAN_HPP_INLINE void Device::getImageMemoryRequirements2KHR( ImageMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17020,7 +22590,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getImageMemoryRequirements2KHR( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17031,15 +22606,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetImageMemoryRequirements2KHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetImageMemoryRequirements2KHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetImageMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageMemoryRequirements2KHR( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17051,8 +22632,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetImageMemoryRequirements2KHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetImageMemoryRequirements2KHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -17060,7 +22642,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetBufferMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2KHR ) ) +#endif VULKAN_HPP_INLINE void Device::getBufferMemoryRequirements2KHR( BufferMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17073,7 +22660,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getBufferMemoryRequirements2KHR( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17084,15 +22676,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetBufferMemoryRequirements2KHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetBufferMemoryRequirements2KHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetBufferMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getBufferMemoryRequirements2KHR( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17104,8 +22702,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetBufferMemoryRequirements2KHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetBufferMemoryRequirements2KHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -17113,7 +22712,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2KHR ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirements2KHR( ImageSparseMemoryRequirementsInfo2 const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -17129,11 +22733,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements2KHR( ImageSparseMemoryRequirementsInfo2 const & info, Dispatch const & d ) const { @@ -17146,9 +22755,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements; uint32_t sparseMemoryRequirementCount; d.vkGetImageSparseMemoryRequirements2KHR( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetImageSparseMemoryRequirements2KHR( m_device, + d.vkGetImageSparseMemoryRequirements2KHR( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -17163,11 +22772,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirements2KHR( ImageSparseMemoryRequirementsInfo2 const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, @@ -17182,9 +22796,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements( sparseImageMemoryRequirements2Allocator ); uint32_t sparseMemoryRequirementCount; d.vkGetImageSparseMemoryRequirements2KHR( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetImageSparseMemoryRequirements2KHR( m_device, + d.vkGetImageSparseMemoryRequirements2KHR( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -17202,7 +22816,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createAccelerationStructureKHR( AccelerationStructureCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, AccelerationStructureKHR * pAccelerationStructure, @@ -17218,7 +22837,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createAccelerationStructureKHR( AccelerationStructureCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -17228,19 +22852,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureKHR accelerationStructure; - Result result = static_cast( d.vkCreateAccelerationStructureKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &accelerationStructure ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" ); + Result result_ = static_cast( d.vkCreateAccelerationStructureKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &accelerationStructure ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" ); - return detail::createResultValueType( result, std::move( accelerationStructure ) ); + return detail::createResultValueType( result_, std::move( accelerationStructure ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createAccelerationStructureKHRUnique( AccelerationStructureCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const @@ -17251,21 +22880,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureKHR accelerationStructure; - Result result = static_cast( d.vkCreateAccelerationStructureKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &accelerationStructure ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHRUnique" ); + Result result_ = static_cast( d.vkCreateAccelerationStructureKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &accelerationStructure ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( accelerationStructure, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( accelerationStructure, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroyAccelerationStructureKHR( AccelerationStructureKHR accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17278,7 +22912,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroyAccelerationStructureKHR( AccelerationStructureKHR accelerationStructure, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17287,14 +22926,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureKHR && "Function requires " ); # endif - d.vkDestroyAccelerationStructureKHR( - m_device, static_cast( accelerationStructure ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyAccelerationStructureKHR( static_cast( m_device ), + static_cast( accelerationStructure ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( AccelerationStructureKHR accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17307,7 +22952,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( AccelerationStructureKHR accelerationStructure, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17316,14 +22966,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureKHR && "Function requires " ); # endif - d.vkDestroyAccelerationStructureKHR( - m_device, static_cast( accelerationStructure ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyAccelerationStructureKHR( static_cast( m_device ), + static_cast( accelerationStructure ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR( uint32_t infoCount, AccelerationStructureBuildGeometryInfoKHR const * pInfos, AccelerationStructureBuildRangeInfoKHR const * const * ppBuildRangeInfos, @@ -17339,7 +22995,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR( ArrayProxy const & infos, ArrayProxy const & pBuildRangeInfos, @@ -17358,7 +23019,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBuildAccelerationStructuresKHR( m_commandBuffer, + d.vkCmdBuildAccelerationStructuresKHR( static_cast( m_commandBuffer ), infos.size(), reinterpret_cast( infos.data() ), reinterpret_cast( pBuildRangeInfos.data() ) ); @@ -17367,7 +23028,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresIndirectKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR( uint32_t infoCount, AccelerationStructureBuildGeometryInfoKHR const * pInfos, DeviceAddress const * pIndirectDeviceAddresses, @@ -17387,7 +23053,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresIndirectKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresIndirectKHR( ArrayProxy const & infos, ArrayProxy const & indirectDeviceAddresses, ArrayProxy const & indirectStrides, @@ -17418,7 +23089,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBuildAccelerationStructuresIndirectKHR( m_commandBuffer, + d.vkCmdBuildAccelerationStructuresIndirectKHR( static_cast( m_commandBuffer ), infos.size(), reinterpret_cast( infos.data() ), reinterpret_cast( indirectDeviceAddresses.data() ), @@ -17429,7 +23100,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBuildAccelerationStructuresKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::buildAccelerationStructuresKHR( DeferredOperationKHR deferredOperation, uint32_t infoCount, @@ -17449,7 +23125,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBuildAccelerationStructuresKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::buildAccelerationStructuresKHR( DeferredOperationKHR deferredOperation, ArrayProxy const & infos, @@ -17469,23 +23150,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - Result result = static_cast( - d.vkBuildAccelerationStructuresKHR( m_device, + Result result_ = static_cast( + d.vkBuildAccelerationStructuresKHR( static_cast( m_device ), static_cast( deferredOperation ), infos.size(), reinterpret_cast( infos.data() ), reinterpret_cast( pBuildRangeInfos.data() ) ) ); - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17498,7 +23184,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureInfoKHR const & info, Dispatch const & d ) const { @@ -17507,19 +23198,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyAccelerationStructureKHR && "Function requires " ); # endif - Result result = static_cast( d.vkCopyAccelerationStructureKHR( - m_device, static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCopyAccelerationStructureKHR( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureToMemoryKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureToMemoryKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureToMemoryInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17532,7 +23229,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureToMemoryKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyAccelerationStructureToMemoryKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureToMemoryInfoKHR const & info, Dispatch const & d ) const { @@ -17542,19 +23244,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - Result result = static_cast( d.vkCopyAccelerationStructureToMemoryKHR( - m_device, static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - detail::resultCheck( result, + Result result_ = + static_cast( d.vkCopyAccelerationStructureToMemoryKHR( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToAccelerationStructureKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyMemoryToAccelerationStructureInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17567,7 +23276,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyMemoryToAccelerationStructureInfoKHR const & info, Dispatch const & d ) const { @@ -17577,19 +23291,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - Result result = static_cast( d.vkCopyMemoryToAccelerationStructureKHR( - m_device, static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - detail::resultCheck( result, + Result result_ = + static_cast( d.vkCopyMemoryToAccelerationStructureKHR( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWriteAccelerationStructuresPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, AccelerationStructureKHR const * pAccelerationStructures, QueryType queryType, @@ -17611,11 +23332,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkWriteAccelerationStructuresPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::writeAccelerationStructuresPropertiesKHR( ArrayProxy const & accelerationStructures, QueryType queryType, size_t dataSize, size_t stride, Dispatch const & d ) const @@ -17628,22 +23354,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = - static_cast( d.vkWriteAccelerationStructuresPropertiesKHR( m_device, + Result result_ = + static_cast( d.vkWriteAccelerationStructuresPropertiesKHR( static_cast( m_device ), accelerationStructures.size(), reinterpret_cast( accelerationStructures.data() ), static_cast( queryType ), data.size() * sizeof( DataType ), reinterpret_cast( data.data() ), stride ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWriteAccelerationStructuresPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::writeAccelerationStructuresPropertyKHR( ArrayProxy const & accelerationStructures, QueryType queryType, size_t stride, Dispatch const & d ) const { @@ -17654,23 +23385,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = - static_cast( d.vkWriteAccelerationStructuresPropertiesKHR( m_device, + Result result_ = + static_cast( d.vkWriteAccelerationStructuresPropertiesKHR( static_cast( m_device ), accelerationStructures.size(), reinterpret_cast( accelerationStructures.data() ), static_cast( queryType ), sizeof( DataType ), reinterpret_cast( &data ), stride ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( CopyAccelerationStructureInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17682,7 +23418,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureKHR( CopyAccelerationStructureInfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17691,13 +23432,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyAccelerationStructureKHR && "Function requires " ); # endif - d.vkCmdCopyAccelerationStructureKHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdCopyAccelerationStructureKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureToMemoryKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR( CopyAccelerationStructureToMemoryInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17709,7 +23456,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureToMemoryKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR( CopyAccelerationStructureToMemoryInfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17719,13 +23471,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdCopyAccelerationStructureToMemoryKHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdCopyAccelerationStructureToMemoryKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToAccelerationStructureKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR( CopyMemoryToAccelerationStructureInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17737,7 +23495,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToAccelerationStructureKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR( CopyMemoryToAccelerationStructureInfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17747,13 +23510,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdCopyMemoryToAccelerationStructureKHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdCopyMemoryToAccelerationStructureKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureDeviceAddressKHR ) ) +#endif VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR( AccelerationStructureDeviceAddressInfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17765,7 +23534,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureDeviceAddressKHR ) ) +# endif VULKAN_HPP_INLINE DeviceAddress Device::getAccelerationStructureAddressKHR( AccelerationStructureDeviceAddressInfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17775,16 +23549,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkDeviceAddress result = - d.vkGetAccelerationStructureDeviceAddressKHR( m_device, reinterpret_cast( &info ) ); + VkDeviceAddress result_ = d.vkGetAccelerationStructureDeviceAddressKHR( static_cast( m_device ), + reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, AccelerationStructureKHR const * pAccelerationStructures, QueryType queryType, @@ -17804,7 +23583,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesKHR( ArrayProxy const & accelerationStructures, QueryType queryType, QueryPool queryPool, @@ -17817,7 +23601,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdWriteAccelerationStructuresPropertiesKHR( m_commandBuffer, + d.vkCmdWriteAccelerationStructuresPropertiesKHR( static_cast( m_commandBuffer ), accelerationStructures.size(), reinterpret_cast( accelerationStructures.data() ), static_cast( queryType ), @@ -17828,7 +23612,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceAccelerationStructureCompatibilityKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getAccelerationStructureCompatibilityKHR( AccelerationStructureVersionInfoKHR const * pVersionInfo, AccelerationStructureCompatibilityKHR * pCompatibility, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -17842,7 +23631,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceAccelerationStructureCompatibilityKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureCompatibilityKHR Device::getAccelerationStructureCompatibilityKHR( AccelerationStructureVersionInfoKHR const & versionInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -17853,7 +23647,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureCompatibilityKHR compatibility; - d.vkGetDeviceAccelerationStructureCompatibilityKHR( m_device, + d.vkGetDeviceAccelerationStructureCompatibilityKHR( static_cast( m_device ), reinterpret_cast( &versionInfo ), reinterpret_cast( &compatibility ) ); @@ -17863,7 +23657,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureBuildSizesKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType, AccelerationStructureBuildGeometryInfoKHR const * pBuildInfo, uint32_t const * pMaxPrimitiveCounts, @@ -17881,7 +23680,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureBuildSizesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureBuildSizesInfoKHR Device::getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType, AccelerationStructureBuildGeometryInfoKHR const & buildInfo, @@ -17903,7 +23707,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ AccelerationStructureBuildSizesInfoKHR sizeInfo; - d.vkGetAccelerationStructureBuildSizesKHR( m_device, + d.vkGetAccelerationStructureBuildSizesKHR( static_cast( m_device ), static_cast( buildType ), reinterpret_cast( &buildInfo ), maxPrimitiveCounts.data(), @@ -17916,7 +23720,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_ray_tracing_pipeline === // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( StridedDeviceAddressRegionKHR const * pRaygenShaderBindingTable, StridedDeviceAddressRegionKHR const * pMissShaderBindingTable, StridedDeviceAddressRegionKHR const * pHitShaderBindingTable, @@ -17939,7 +23748,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdTraceRaysKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR( StridedDeviceAddressRegionKHR const & raygenShaderBindingTable, StridedDeviceAddressRegionKHR const & missShaderBindingTable, StridedDeviceAddressRegionKHR const & hitShaderBindingTable, @@ -17954,7 +23768,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdTraceRaysKHR && "Function requires " ); # endif - d.vkCmdTraceRaysKHR( m_commandBuffer, + d.vkCmdTraceRaysKHR( static_cast( m_commandBuffer ), reinterpret_cast( &raygenShaderBindingTable ), reinterpret_cast( &missShaderBindingTable ), reinterpret_cast( &hitShaderBindingTable ), @@ -17967,7 +23781,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRayTracingPipelinesKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, uint32_t createInfoCount, @@ -17989,10 +23808,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createRayTracingPipelinesKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -18006,14 +23830,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateRayTracingPipelinesKHR( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesKHR( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT }, m_device, @@ -18021,15 +23845,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createRayTracingPipelinesKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -18044,14 +23873,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size(), {}, pipelineAllocator ); - Result result = static_cast( d.vkCreateRayTracingPipelinesKHR( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesKHR( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT }, m_device, @@ -18059,12 +23888,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createRayTracingPipelineKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, RayTracingPipelineCreateInfoKHR const & createInfo, @@ -18077,27 +23911,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateRayTracingPipelinesKHR( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesKHR( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT } ); - return { result, pipeline }; + return { result_, pipeline }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createRayTracingPipelinesKHRUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -18111,14 +23950,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateRayTracingPipelinesKHR( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesKHR( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT }, m_device, @@ -18132,15 +23971,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createRayTracingPipelinesKHRUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -18155,14 +23999,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateRayTracingPipelinesKHR( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesKHR( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHRUnique", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT }, m_device, @@ -18176,12 +24020,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createRayTracingPipelineKHRUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -18195,26 +24044,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateRayTracingPipelinesKHR( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesKHR( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineKHRUnique", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - result, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18226,11 +24080,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getRayTracingShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const { @@ -18242,16 +24101,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( d.vkGetRayTracingShaderGroupHandlesKHR( - m_device, static_cast( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast( data.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" ); + Result result_ = static_cast( d.vkGetRayTracingShaderGroupHandlesKHR( static_cast( m_device ), + static_cast( pipeline ), + firstGroup, + groupCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getRayTracingShaderGroupHandleKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const { @@ -18262,17 +24130,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkGetRayTracingShaderGroupHandlesKHR( - m_device, static_cast( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast( &data ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleKHR" ); + Result result_ = static_cast( d.vkGetRayTracingShaderGroupHandlesKHR( + static_cast( m_device ), static_cast( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast( &data ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleKHR" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18284,11 +24157,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const @@ -18301,16 +24179,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( - m_device, static_cast( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast( data.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); + Result result_ = static_cast( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast( m_device ), + static_cast( pipeline ), + firstGroup, + groupCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getRayTracingCaptureReplayShaderGroupHandleKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const { @@ -18321,16 +24208,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( - m_device, static_cast( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast( &data ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandleKHR" ); + Result result_ = static_cast( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( + static_cast( m_device ), static_cast( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast( &data ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandleKHR" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysIndirectKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( StridedDeviceAddressRegionKHR const * pRaygenShaderBindingTable, StridedDeviceAddressRegionKHR const * pMissShaderBindingTable, StridedDeviceAddressRegionKHR const * pHitShaderBindingTable, @@ -18349,7 +24241,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdTraceRaysIndirectKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR( StridedDeviceAddressRegionKHR const & raygenShaderBindingTable, StridedDeviceAddressRegionKHR const & missShaderBindingTable, StridedDeviceAddressRegionKHR const & hitShaderBindingTable, @@ -18362,7 +24259,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdTraceRaysIndirectKHR && "Function requires " ); # endif - d.vkCmdTraceRaysIndirectKHR( m_commandBuffer, + d.vkCmdTraceRaysIndirectKHR( static_cast( m_commandBuffer ), reinterpret_cast( &raygenShaderBindingTable ), reinterpret_cast( &missShaderBindingTable ), reinterpret_cast( &hitShaderBindingTable ), @@ -18373,7 +24270,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRayTracingShaderGroupStackSizeKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupStackSizeKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupStackSizeKHR ) ) +#endif VULKAN_HPP_INLINE DeviceSize Device::getRayTracingShaderGroupStackSizeKHR( Pipeline pipeline, uint32_t group, ShaderGroupShaderKHR groupShader, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18384,7 +24286,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRayTracingPipelineStackSizeKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRayTracingPipelineStackSizeKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRayTracingPipelineStackSizeKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -18395,7 +24302,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversionKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createSamplerYcbcrConversionKHR( SamplerYcbcrConversionCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, SamplerYcbcrConversion * pYcbcrConversion, @@ -18411,7 +24323,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversionKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createSamplerYcbcrConversionKHR( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -18422,19 +24339,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SamplerYcbcrConversion ycbcrConversion; - Result result = static_cast( d.vkCreateSamplerYcbcrConversionKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &ycbcrConversion ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" ); + Result result_ = static_cast( d.vkCreateSamplerYcbcrConversionKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &ycbcrConversion ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" ); - return detail::createResultValueType( result, std::move( ycbcrConversion ) ); + return detail::createResultValueType( result_, std::move( ycbcrConversion ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversionKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createSamplerYcbcrConversionKHRUnique( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const @@ -18446,21 +24368,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SamplerYcbcrConversion ycbcrConversion; - Result result = static_cast( d.vkCreateSamplerYcbcrConversionKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &ycbcrConversion ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHRUnique" ); + Result result_ = static_cast( d.vkCreateSamplerYcbcrConversionKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &ycbcrConversion ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( ycbcrConversion, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( ycbcrConversion, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversionKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18473,7 +24400,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversionKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18483,15 +24415,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkDestroySamplerYcbcrConversionKHR( - m_device, static_cast( ycbcrConversion ), reinterpret_cast( allocator.get() ) ); + d.vkDestroySamplerYcbcrConversionKHR( static_cast( m_device ), + static_cast( ycbcrConversion ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_bind_memory2 === // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindBufferMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindBufferMemory2KHR( uint32_t bindInfoCount, BindBufferMemoryInfo const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18502,7 +24440,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindBufferMemory2KHR( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -18511,16 +24454,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindBufferMemory2KHR && "Function requires or " ); # endif - Result result = - static_cast( d.vkBindBufferMemory2KHR( m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); + Result result_ = static_cast( + d.vkBindBufferMemory2KHR( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindImageMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindImageMemory2KHR( uint32_t bindInfoCount, BindImageMemoryInfo const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18531,7 +24479,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindImageMemory2KHR( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -18540,11 +24493,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindImageMemory2KHR && "Function requires or " ); # endif - Result result = - static_cast( d.vkBindImageMemory2KHR( m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); + Result result_ = static_cast( + d.vkBindImageMemory2KHR( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18552,7 +24505,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageDrmFormatModifierPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageDrmFormatModifierPropertiesEXT( Image image, ImageDrmFormatModifierPropertiesEXT * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18564,7 +24522,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageDrmFormatModifierPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getImageDrmFormatModifierPropertiesEXT( Image image, Dispatch const & d ) const { @@ -18575,18 +24538,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ImageDrmFormatModifierPropertiesEXT properties; - Result result = static_cast( d.vkGetImageDrmFormatModifierPropertiesEXT( - m_device, static_cast( image ), reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageDrmFormatModifierPropertiesEXT" ); + Result result_ = static_cast( d.vkGetImageDrmFormatModifierPropertiesEXT( + static_cast( m_device ), static_cast( image ), reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageDrmFormatModifierPropertiesEXT" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_validation_cache === // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateValidationCacheEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createValidationCacheEXT( ValidationCacheCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, ValidationCacheEXT * pValidationCache, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -18600,7 +24568,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateValidationCacheEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createValidationCacheEXT( ValidationCacheCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -18610,18 +24583,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ValidationCacheEXT validationCache; - Result result = static_cast( d.vkCreateValidationCacheEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &validationCache ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXT" ); + Result result_ = static_cast( d.vkCreateValidationCacheEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &validationCache ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXT" ); - return detail::createResultValueType( result, std::move( validationCache ) ); + return detail::createResultValueType( result_, std::move( validationCache ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateValidationCacheEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createValidationCacheEXTUnique( ValidationCacheCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -18631,20 +24609,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ValidationCacheEXT validationCache; - Result result = static_cast( d.vkCreateValidationCacheEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &validationCache ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXTUnique" ); + Result result_ = static_cast( d.vkCreateValidationCacheEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &validationCache ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createValidationCacheEXTUnique" ); return detail::createResultValueType( - result, UniqueHandle( validationCache, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( validationCache, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT( ValidationCacheEXT validationCache, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18655,7 +24638,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroyValidationCacheEXT( ValidationCacheEXT validationCache, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18664,13 +24652,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyValidationCacheEXT && "Function requires " ); # endif - d.vkDestroyValidationCacheEXT( - m_device, static_cast( validationCache ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyValidationCacheEXT( static_cast( m_device ), + static_cast( validationCache ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( ValidationCacheEXT validationCache, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18681,7 +24675,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( ValidationCacheEXT validationCache, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18690,13 +24689,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyValidationCacheEXT && "Function requires " ); # endif - d.vkDestroyValidationCacheEXT( - m_device, static_cast( validationCache ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyValidationCacheEXT( static_cast( m_device ), + static_cast( validationCache ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkMergeValidationCachesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mergeValidationCachesEXT( ValidationCacheEXT dstCache, uint32_t srcCacheCount, ValidationCacheEXT const * pSrcCaches, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18709,7 +24714,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkMergeValidationCachesEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::mergeValidationCachesEXT( ValidationCacheEXT dstCache, ArrayProxy const & srcCaches, Dispatch const & d ) const { @@ -18718,16 +24728,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkMergeValidationCachesEXT && "Function requires " ); # endif - Result result = static_cast( d.vkMergeValidationCachesEXT( - m_device, static_cast( dstCache ), srcCaches.size(), reinterpret_cast( srcCaches.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mergeValidationCachesEXT" ); + Result result_ = static_cast( d.vkMergeValidationCachesEXT( static_cast( m_device ), + static_cast( dstCache ), + srcCaches.size(), + reinterpret_cast( srcCaches.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::mergeValidationCachesEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetValidationCacheDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getValidationCacheDataEXT( ValidationCacheEXT validationCache, size_t * pDataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18738,10 +24755,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetValidationCacheDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getValidationCacheDataEXT( ValidationCacheEXT validationCache, Dispatch const & d ) const { @@ -18752,31 +24774,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetValidationCacheDataEXT( m_device, static_cast( validationCache ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + result_ = static_cast( + d.vkGetValidationCacheDataEXT( static_cast( m_device ), static_cast( validationCache ), &dataSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetValidationCacheDataEXT( m_device, static_cast( validationCache ), &dataSize, reinterpret_cast( data.data() ) ) ); + result_ = static_cast( d.vkGetValidationCacheDataEXT( + static_cast( m_device ), static_cast( validationCache ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetValidationCacheDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getValidationCacheDataEXT( ValidationCacheEXT validationCache, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const { @@ -18787,31 +24815,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data( uint8_tAllocator ); size_t dataSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetValidationCacheDataEXT( m_device, static_cast( validationCache ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + result_ = static_cast( + d.vkGetValidationCacheDataEXT( static_cast( m_device ), static_cast( validationCache ), &dataSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetValidationCacheDataEXT( m_device, static_cast( validationCache ), &dataSize, reinterpret_cast( data.data() ) ) ); + result_ = static_cast( d.vkGetValidationCacheDataEXT( + static_cast( m_device ), static_cast( validationCache ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getValidationCacheDataEXT" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_NV_shading_rate_image === // wrapper function for command vkCmdBindShadingRateImageNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadingRateImageNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindShadingRateImageNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV( ImageView imageView, ImageLayout imageLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -18821,7 +24855,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportShadingRatePaletteNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV( uint32_t firstViewport, uint32_t viewportCount, ShadingRatePaletteNV const * pShadingRatePalettes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18833,7 +24872,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportShadingRatePaletteNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV( uint32_t firstViewport, ArrayProxy const & shadingRatePalettes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18842,13 +24886,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetViewportShadingRatePaletteNV && "Function requires " ); # endif - d.vkCmdSetViewportShadingRatePaletteNV( - m_commandBuffer, firstViewport, shadingRatePalettes.size(), reinterpret_cast( shadingRatePalettes.data() ) ); + d.vkCmdSetViewportShadingRatePaletteNV( static_cast( m_commandBuffer ), + firstViewport, + shadingRatePalettes.size(), + reinterpret_cast( shadingRatePalettes.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoarseSampleOrderNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV( CoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, CoarseSampleOrderCustomNV const * pCustomSampleOrders, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -18862,7 +24913,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetCoarseSampleOrderNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV( CoarseSampleOrderTypeNV sampleOrderType, ArrayProxy const & customSampleOrders, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -18872,7 +24928,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetCoarseSampleOrderNV && "Function requires " ); # endif - d.vkCmdSetCoarseSampleOrderNV( m_commandBuffer, + d.vkCmdSetCoarseSampleOrderNV( static_cast( m_commandBuffer ), static_cast( sampleOrderType ), customSampleOrders.size(), reinterpret_cast( customSampleOrders.data() ) ); @@ -18883,7 +24939,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createAccelerationStructureNV( AccelerationStructureCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, AccelerationStructureNV * pAccelerationStructure, @@ -18899,7 +24960,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createAccelerationStructureNV( AccelerationStructureCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -18909,19 +24975,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureNV accelerationStructure; - Result result = static_cast( d.vkCreateAccelerationStructureNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &accelerationStructure ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNV" ); + Result result_ = static_cast( d.vkCreateAccelerationStructureNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &accelerationStructure ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNV" ); - return detail::createResultValueType( result, std::move( accelerationStructure ) ); + return detail::createResultValueType( result_, std::move( accelerationStructure ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createAccelerationStructureNVUnique( AccelerationStructureCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const @@ -18932,21 +25003,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureNV accelerationStructure; - Result result = static_cast( d.vkCreateAccelerationStructureNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &accelerationStructure ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNVUnique" ); + Result result_ = static_cast( d.vkCreateAccelerationStructureNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &accelerationStructure ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructureNVUnique" ); return detail::createResultValueType( - result, UniqueHandle( accelerationStructure, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( accelerationStructure, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroyAccelerationStructureNV( AccelerationStructureNV accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18959,7 +25035,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyAccelerationStructureNV( AccelerationStructureNV accelerationStructure, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18968,14 +25049,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureNV && "Function requires " ); # endif - d.vkDestroyAccelerationStructureNV( - m_device, static_cast( accelerationStructure ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyAccelerationStructureNV( static_cast( m_device ), + static_cast( accelerationStructure ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( AccelerationStructureNV accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18988,7 +25075,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( AccelerationStructureNV accelerationStructure, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -18997,14 +25089,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyAccelerationStructureNV && "Function requires " ); # endif - d.vkDestroyAccelerationStructureNV( - m_device, static_cast( accelerationStructure ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyAccelerationStructureNV( static_cast( m_device ), + static_cast( accelerationStructure ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureMemoryRequirementsNV ) ) +#endif VULKAN_HPP_INLINE void Device::getAccelerationStructureMemoryRequirementsNV( AccelerationStructureMemoryRequirementsInfoNV const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19017,7 +25115,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getAccelerationStructureMemoryRequirementsNV( AccelerationStructureMemoryRequirementsInfoNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19028,7 +25131,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetAccelerationStructureMemoryRequirementsNV( m_device, + d.vkGetAccelerationStructureMemoryRequirementsNV( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -19037,11 +25140,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getAccelerationStructureMemoryRequirementsNV( AccelerationStructureMemoryRequirementsInfoNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19053,7 +25161,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetAccelerationStructureMemoryRequirementsNV( m_device, + d.vkGetAccelerationStructureMemoryRequirementsNV( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -19063,7 +25171,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkBindAccelerationStructureMemoryNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindAccelerationStructureMemoryNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindAccelerationStructureMemoryNV( uint32_t bindInfoCount, BindAccelerationStructureMemoryInfoNV const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19075,7 +25188,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindAccelerationStructureMemoryNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindAccelerationStructureMemoryNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindAccelerationStructureMemoryNV( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -19084,17 +25202,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindAccelerationStructureMemoryNV && "Function requires " ); # endif - Result result = static_cast( d.vkBindAccelerationStructureMemoryNV( - m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); + Result result_ = static_cast( d.vkBindAccelerationStructureMemoryNV( + static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBuildAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructureNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV( AccelerationStructureInfoNV const * pInfo, Buffer instanceData, DeviceSize instanceOffset, @@ -19120,7 +25243,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructureNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV( AccelerationStructureInfoNV const & info, Buffer instanceData, DeviceSize instanceOffset, @@ -19136,7 +25264,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBuildAccelerationStructureNV && "Function requires " ); # endif - d.vkCmdBuildAccelerationStructureNV( m_commandBuffer, + d.vkCmdBuildAccelerationStructureNV( static_cast( m_commandBuffer ), reinterpret_cast( &info ), static_cast( instanceData ), static_cast( instanceOffset ), @@ -19150,7 +25278,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdCopyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureNV( AccelerationStructureNV dst, AccelerationStructureNV src, CopyAccelerationStructureModeKHR mode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19162,7 +25295,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdTraceRaysNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV( Buffer raygenShaderBindingTableBuffer, DeviceSize raygenShaderBindingOffset, Buffer missShaderBindingTableBuffer, @@ -19199,7 +25337,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createRayTracingPipelinesNV( PipelineCache pipelineCache, uint32_t createInfoCount, RayTracingPipelineCreateInfoNV const * pCreateInfos, @@ -19219,10 +25362,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createRayTracingPipelinesNV( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -19235,13 +25383,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateRayTracingPipelinesNV( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesNV( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -19249,15 +25397,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createRayTracingPipelinesNV( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -19271,13 +25424,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size(), {}, pipelineAllocator ); - Result result = static_cast( d.vkCreateRayTracingPipelinesNV( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesNV( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -19285,12 +25438,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createRayTracingPipelineNV( PipelineCache pipelineCache, RayTracingPipelineCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -19300,25 +25458,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateRayTracingPipelinesNV( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( d.vkCreateRayTracingPipelinesNV( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return { result, pipeline }; + return { result_, pipeline }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createRayTracingPipelinesNVUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -19331,13 +25494,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateRayTracingPipelinesNV( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesNV( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -19351,15 +25514,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createRayTracingPipelinesNVUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -19373,13 +25541,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateRayTracingPipelinesNV( m_device, - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateRayTracingPipelinesNV( static_cast( m_device ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNVUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -19393,12 +25561,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createRayTracingPipelineNVUnique( PipelineCache pipelineCache, RayTracingPipelineCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -19408,24 +25581,29 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateRayTracingPipelinesNV( m_device, - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( d.vkCreateRayTracingPipelinesNV( static_cast( m_device ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNVUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelineNVUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - result, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getRayTracingShaderGroupHandlesNV( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19437,11 +25615,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getRayTracingShaderGroupHandlesNV( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const { @@ -19453,16 +25636,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( d.vkGetRayTracingShaderGroupHandlesNV( - m_device, static_cast( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast( data.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesNV" ); + Result result_ = static_cast( d.vkGetRayTracingShaderGroupHandlesNV( static_cast( m_device ), + static_cast( pipeline ), + firstGroup, + groupCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesNV" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getRayTracingShaderGroupHandleNV( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d ) const { @@ -19473,17 +25665,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkGetRayTracingShaderGroupHandlesNV( - m_device, static_cast( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast( &data ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleNV" ); + Result result_ = static_cast( d.vkGetRayTracingShaderGroupHandlesNV( + static_cast( m_device ), static_cast( pipeline ), firstGroup, groupCount, sizeof( DataType ), reinterpret_cast( &data ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandleNV" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetAccelerationStructureHandleNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureHandleNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAccelerationStructureHandleNV( AccelerationStructureNV accelerationStructure, size_t dataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19495,11 +25692,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureHandleNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetAccelerationStructureHandleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getAccelerationStructureHandleNV( AccelerationStructureNV accelerationStructure, size_t dataSize, Dispatch const & d ) const { @@ -19510,16 +25712,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( d.vkGetAccelerationStructureHandleNV( - m_device, static_cast( accelerationStructure ), data.size() * sizeof( DataType ), reinterpret_cast( data.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); + Result result_ = static_cast( d.vkGetAccelerationStructureHandleNV( static_cast( m_device ), + static_cast( accelerationStructure ), + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetAccelerationStructureHandleNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureHandleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getAccelerationStructureHandleNV( AccelerationStructureNV accelerationStructure, Dispatch const & d ) const { @@ -19529,17 +25738,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkGetAccelerationStructureHandleNV( - m_device, static_cast( accelerationStructure ), sizeof( DataType ), reinterpret_cast( &data ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); + Result result_ = static_cast( d.vkGetAccelerationStructureHandleNV( static_cast( m_device ), + static_cast( accelerationStructure ), + sizeof( DataType ), + reinterpret_cast( &data ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV( uint32_t accelerationStructureCount, AccelerationStructureNV const * pAccelerationStructures, QueryType queryType, @@ -19559,7 +25775,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::writeAccelerationStructuresPropertiesNV( ArrayProxy const & accelerationStructures, QueryType queryType, QueryPool queryPool, @@ -19572,7 +25793,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdWriteAccelerationStructuresPropertiesNV( m_commandBuffer, + d.vkCmdWriteAccelerationStructuresPropertiesNV( static_cast( m_commandBuffer ), accelerationStructures.size(), reinterpret_cast( accelerationStructures.data() ), static_cast( queryType ), @@ -19583,7 +25804,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCompileDeferredNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::compileDeferredNV( Pipeline pipeline, uint32_t shader, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -19591,7 +25817,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCompileDeferredNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::compileDeferredNV( Pipeline pipeline, uint32_t shader, Dispatch const & d ) const { @@ -19600,10 +25831,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCompileDeferredNV && "Function requires " ); # endif - Result result = static_cast( d.vkCompileDeferredNV( m_device, static_cast( pipeline ), shader ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::compileDeferredNV" ); + Result result_ = static_cast( d.vkCompileDeferredNV( static_cast( m_device ), static_cast( pipeline ), shader ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::compileDeferredNV" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -19611,7 +25842,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupportKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSupportKHR( DescriptorSetLayoutCreateInfo const * pCreateInfo, DescriptorSetLayoutSupport * pSupport, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19624,7 +25860,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupportKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorSetLayoutSupport Device::getDescriptorSetLayoutSupportKHR( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19635,15 +25876,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorSetLayoutSupport support; - d.vkGetDescriptorSetLayoutSupportKHR( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &support ) ); + d.vkGetDescriptorSetLayoutSupportKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &support ) ); return support; } // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupportKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getDescriptorSetLayoutSupportKHR( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19655,8 +25902,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; DescriptorSetLayoutSupport & support = structureChain.template get(); - d.vkGetDescriptorSetLayoutSupportKHR( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &support ) ); + d.vkGetDescriptorSetLayoutSupportKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &support ) ); return structureChain; } @@ -19665,7 +25913,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_draw_indirect_count === // wrapper function for command vkCmdDrawIndirectCountKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCountKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -19682,7 +25935,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndexedIndirectCountKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCountKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -19701,7 +25959,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetMemoryHostPointerPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, void const * pHostPointer, MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -19716,7 +25979,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryHostPointerPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, void const * pHostPointer, Dispatch const & d ) const { @@ -19726,21 +25994,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryHostPointerPropertiesEXT memoryHostPointerProperties; - Result result = - static_cast( d.vkGetMemoryHostPointerPropertiesEXT( m_device, + Result result_ = + static_cast( d.vkGetMemoryHostPointerPropertiesEXT( static_cast( m_device ), static_cast( handleType ), pHostPointer, reinterpret_cast( &memoryHostPointerProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); - return detail::createResultValueType( result, std::move( memoryHostPointerProperties ) ); + return detail::createResultValueType( result_, std::move( memoryHostPointerProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_AMD_buffer_marker === // wrapper function for command vkCmdWriteBufferMarkerAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarkerAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteBufferMarkerAMD ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, Buffer dstBuffer, DeviceSize dstOffset, uint32_t marker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19753,7 +26026,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdWriteBufferMarker2AMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarker2AMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteBufferMarker2AMD ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarker2AMD( PipelineStageFlags2 stage, Buffer dstBuffer, DeviceSize dstOffset, uint32_t marker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19769,7 +26047,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCalibrateableTimeDomainsEXT( uint32_t * pTimeDomainCount, TimeDomainKHR * pTimeDomains, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19781,10 +26064,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template TimeDomainKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCalibrateableTimeDomainsEXT( Dispatch const & d ) const { @@ -19796,32 +26084,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector timeDomains; uint32_t timeDomainCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && timeDomainCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( static_cast( m_physicalDevice ), &timeDomainCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && timeDomainCount ) { timeDomains.resize( timeDomainCount ); - result = static_cast( - d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( + static_cast( m_physicalDevice ), &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); if ( timeDomainCount < timeDomains.size() ) { timeDomains.resize( timeDomainCount ); } - return detail::createResultValueType( result, std::move( timeDomains ) ); + return detail::createResultValueType( result_, std::move( timeDomains ) ); } // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template TimeDomainKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCalibrateableTimeDomainsEXT( TimeDomainKHRAllocator const & timeDomainKHRAllocator, Dispatch const & d ) const { @@ -19833,29 +26127,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector timeDomains( timeDomainKHRAllocator ); uint32_t timeDomainCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && timeDomainCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( static_cast( m_physicalDevice ), &timeDomainCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && timeDomainCount ) { timeDomains.resize( timeDomainCount ); - result = static_cast( - d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( m_physicalDevice, &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( + static_cast( m_physicalDevice ), &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); if ( timeDomainCount < timeDomains.size() ) { timeDomains.resize( timeDomainCount ); } - return detail::createResultValueType( result, std::move( timeDomains ) ); + return detail::createResultValueType( result_, std::move( timeDomains ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getCalibratedTimestampsEXT( uint32_t timestampCount, CalibratedTimestampInfoKHR const * pTimestampInfos, uint64_t * pTimestamps, uint64_t * pMaxDeviation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -19870,10 +26170,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint64_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, uint64_t>>::type Device::getCalibratedTimestampsEXT( ArrayProxy const & timestampInfos, Dispatch const & d ) const { @@ -19887,18 +26192,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); std::vector & timestamps = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( d.vkGetCalibratedTimestampsEXT( - m_device, timestampInfos.size(), reinterpret_cast( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); + Result result_ = static_cast( d.vkGetCalibratedTimestampsEXT( static_cast( m_device ), + timestampInfos.size(), + reinterpret_cast( timestampInfos.data() ), + timestamps.data(), + &maxDeviation ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint64_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, uint64_t>>::type Device::getCalibratedTimestampsEXT( ArrayProxy const & timestampInfos, Uint64_tAllocator const & uint64_tAllocator, Dispatch const & d ) const @@ -19913,15 +26226,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::piecewise_construct, std::forward_as_tuple( timestampInfos.size(), uint64_tAllocator ), std::forward_as_tuple( 0 ) ); std::vector & timestamps = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( d.vkGetCalibratedTimestampsEXT( - m_device, timestampInfos.size(), reinterpret_cast( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); + Result result_ = static_cast( d.vkGetCalibratedTimestampsEXT( static_cast( m_device ), + timestampInfos.size(), + reinterpret_cast( timestampInfos.data() ), + timestamps.data(), + &maxDeviation ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetCalibratedTimestampsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getCalibratedTimestampEXT( CalibratedTimestampInfoKHR const & timestampInfo, Dispatch const & d ) const { @@ -19934,18 +26255,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; uint64_t & timestamp = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( - d.vkGetCalibratedTimestampsEXT( m_device, 1, reinterpret_cast( ×tampInfo ), ×tamp, &maxDeviation ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT" ); + Result result_ = static_cast( d.vkGetCalibratedTimestampsEXT( + static_cast( m_device ), 1, reinterpret_cast( ×tampInfo ), ×tamp, &maxDeviation ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_NV_mesh_shader === // wrapper function for command vkCmdDrawMeshTasksNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -19953,7 +26279,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdDrawMeshTasksIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19964,7 +26295,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirectCountNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCountNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountNV( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -19983,7 +26319,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorEnableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, Bool32 const * pExclusiveScissorEnables, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -19997,7 +26338,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorEnableNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, ArrayProxy const & exclusiveScissorEnables, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20006,13 +26352,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetExclusiveScissorEnableNV && "Function requires " ); # endif - d.vkCmdSetExclusiveScissorEnableNV( - m_commandBuffer, firstExclusiveScissor, exclusiveScissorEnables.size(), reinterpret_cast( exclusiveScissorEnables.data() ) ); + d.vkCmdSetExclusiveScissorEnableNV( static_cast( m_commandBuffer ), + firstExclusiveScissor, + exclusiveScissorEnables.size(), + reinterpret_cast( exclusiveScissorEnables.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, Rect2D const * pExclusiveScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20023,7 +26376,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setExclusiveScissorNV( uint32_t firstExclusiveScissor, ArrayProxy const & exclusiveScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20032,15 +26390,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetExclusiveScissorNV && "Function requires " ); # endif - d.vkCmdSetExclusiveScissorNV( - m_commandBuffer, firstExclusiveScissor, exclusiveScissors.size(), reinterpret_cast( exclusiveScissors.data() ) ); + d.vkCmdSetExclusiveScissorNV( static_cast( m_commandBuffer ), + firstExclusiveScissor, + exclusiveScissors.size(), + reinterpret_cast( exclusiveScissors.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_NV_device_diagnostic_checkpoints === // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCheckpointNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( void const * pCheckpointMarker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20049,7 +26414,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetCheckpointNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( CheckpointMarkerType const & checkpointMarker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20057,12 +26427,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetCheckpointNV && "Function requires " ); # endif - d.vkCmdSetCheckpointNV( m_commandBuffer, reinterpret_cast( &checkpointMarker ) ); + d.vkCmdSetCheckpointNV( static_cast( m_commandBuffer ), reinterpret_cast( &checkpointMarker ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetQueueCheckpointDataNV ) ) +#endif VULKAN_HPP_INLINE void Queue::getCheckpointDataNV( uint32_t * pCheckpointDataCount, CheckpointDataNV * pCheckpointData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20072,10 +26447,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CheckpointDataNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetQueueCheckpointDataNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Queue::getCheckpointDataNV( Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20085,9 +26465,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector checkpointData; uint32_t checkpointDataCount; - d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr ); + d.vkGetQueueCheckpointDataNV( static_cast( m_queue ), &checkpointDataCount, nullptr ); checkpointData.resize( checkpointDataCount ); - d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); + d.vkGetQueueCheckpointDataNV( static_cast( m_queue ), &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); if ( checkpointDataCount < checkpointData.size() ) @@ -20098,10 +26478,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CheckpointDataNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetQueueCheckpointDataNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Queue::getCheckpointDataNV( CheckpointDataNVAllocator const & checkpointDataNVAllocator, Dispatch const & d ) const { @@ -20112,9 +26497,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector checkpointData( checkpointDataNVAllocator ); uint32_t checkpointDataCount; - d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr ); + d.vkGetQueueCheckpointDataNV( static_cast( m_queue ), &checkpointDataCount, nullptr ); checkpointData.resize( checkpointDataCount ); - d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); + d.vkGetQueueCheckpointDataNV( static_cast( m_queue ), &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); if ( checkpointDataCount < checkpointData.size() ) @@ -20126,7 +26511,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetQueueCheckpointData2NV ) ) +#endif VULKAN_HPP_INLINE void Queue::getCheckpointData2NV( uint32_t * pCheckpointDataCount, CheckpointData2NV * pCheckpointData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20136,10 +26526,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CheckpointData2NVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetQueueCheckpointData2NV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Queue::getCheckpointData2NV( Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20149,9 +26544,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector checkpointData; uint32_t checkpointDataCount; - d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, nullptr ); + d.vkGetQueueCheckpointData2NV( static_cast( m_queue ), &checkpointDataCount, nullptr ); checkpointData.resize( checkpointDataCount ); - d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); + d.vkGetQueueCheckpointData2NV( static_cast( m_queue ), &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); if ( checkpointDataCount < checkpointData.size() ) @@ -20162,10 +26557,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CheckpointData2NVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetQueueCheckpointData2NV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Queue::getCheckpointData2NV( CheckpointData2NVAllocator const & checkpointData2NVAllocator, Dispatch const & d ) const { @@ -20176,9 +26576,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector checkpointData( checkpointData2NVAllocator ); uint32_t checkpointDataCount; - d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, nullptr ); + d.vkGetQueueCheckpointData2NV( static_cast( m_queue ), &checkpointDataCount, nullptr ); checkpointData.resize( checkpointDataCount ); - d.vkGetQueueCheckpointData2NV( m_queue, &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); + d.vkGetQueueCheckpointData2NV( static_cast( m_queue ), &checkpointDataCount, reinterpret_cast( checkpointData.data() ) ); VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); if ( checkpointDataCount < checkpointData.size() ) @@ -20193,7 +26593,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetSemaphoreCounterValueKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValueKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreCounterValueKHR( Semaphore semaphore, uint64_t * pValue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20204,7 +26609,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreCounterValueKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValueKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSemaphoreCounterValueKHR( Semaphore semaphore, Dispatch const & d ) const { @@ -20214,15 +26624,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint64_t value; - Result result = static_cast( d.vkGetSemaphoreCounterValueKHR( m_device, static_cast( semaphore ), &value ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValueKHR" ); + Result result_ = static_cast( d.vkGetSemaphoreCounterValueKHR( static_cast( m_device ), static_cast( semaphore ), &value ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreCounterValueKHR" ); - return detail::createResultValueType( result, std::move( value ) ); + return detail::createResultValueType( result_, std::move( value ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWaitSemaphoresKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR( SemaphoreWaitInfo const * pWaitInfo, uint64_t timeout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20233,7 +26648,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWaitSemaphoresKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitSemaphoresKHR( SemaphoreWaitInfo const & waitInfo, uint64_t timeout, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20241,15 +26661,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkWaitSemaphoresKHR && "Function requires or " ); # endif - Result result = static_cast( d.vkWaitSemaphoresKHR( m_device, reinterpret_cast( &waitInfo ), timeout ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { Result::eSuccess, Result::eTimeout } ); + Result result_ = + static_cast( d.vkWaitSemaphoresKHR( static_cast( m_device ), reinterpret_cast( &waitInfo ), timeout ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { Result::eSuccess, Result::eTimeout } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSignalSemaphoreKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::signalSemaphoreKHR( SemaphoreSignalInfo const * pSignalInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20259,7 +26685,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSignalSemaphoreKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::signalSemaphoreKHR( SemaphoreSignalInfo const & signalInfo, Dispatch const & d ) const { @@ -20268,10 +26699,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSignalSemaphoreKHR && "Function requires or " ); # endif - Result result = static_cast( d.vkSignalSemaphoreKHR( m_device, reinterpret_cast( &signalInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); + Result result_ = + static_cast( d.vkSignalSemaphoreKHR( static_cast( m_device ), reinterpret_cast( &signalInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -20280,7 +26712,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetSwapchainPresentTimingQueueSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetSwapchainPresentTimingQueueSizeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetSwapchainPresentTimingQueueSizeEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setSwapchainPresentTimingQueueSizeEXT( SwapchainKHR swapchain, uint32_t size, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20291,7 +26728,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkSetSwapchainPresentTimingQueueSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetSwapchainPresentTimingQueueSizeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetSwapchainPresentTimingQueueSizeEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setSwapchainPresentTimingQueueSizeEXT( SwapchainKHR swapchain, uint32_t size, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20299,16 +26741,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetSwapchainPresentTimingQueueSizeEXT && "Function requires " ); # endif - Result result = static_cast( d.vkSetSwapchainPresentTimingQueueSizeEXT( m_device, static_cast( swapchain ), size ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setSwapchainPresentTimingQueueSizeEXT", { Result::eSuccess, Result::eNotReady } ); + Result result_ = + static_cast( d.vkSetSwapchainPresentTimingQueueSizeEXT( static_cast( m_device ), static_cast( swapchain ), size ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setSwapchainPresentTimingQueueSizeEXT", { Result::eSuccess, Result::eNotReady } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetSwapchainTimingPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainTimingPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainTimingPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainTimingPropertiesEXT( SwapchainKHR swapchain, SwapchainTimingPropertiesEXT * pSwapchainTimingProperties, uint64_t * pSwapchainTimingPropertiesCounter, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -20323,7 +26771,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainTimingPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainTimingPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainTimingPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::getSwapchainTimingPropertiesEXT( SwapchainKHR swapchain, Dispatch const & d ) const { @@ -20335,19 +26788,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; SwapchainTimingPropertiesEXT & swapchainTimingProperties = data_.first; uint64_t & swapchainTimingPropertiesCounter = data_.second; - Result result = static_cast( d.vkGetSwapchainTimingPropertiesEXT( m_device, - static_cast( swapchain ), - reinterpret_cast( &swapchainTimingProperties ), - &swapchainTimingPropertiesCounter ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainTimingPropertiesEXT", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( d.vkGetSwapchainTimingPropertiesEXT( static_cast( m_device ), + static_cast( swapchain ), + reinterpret_cast( &swapchainTimingProperties ), + &swapchainTimingPropertiesCounter ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSwapchainTimingPropertiesEXT", { Result::eSuccess, Result::eNotReady } ); - return { result, data_ }; + return { result_, data_ }; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSwapchainTimeDomainPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainTimeDomainPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainTimeDomainPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSwapchainTimeDomainPropertiesEXT( SwapchainKHR swapchain, SwapchainTimeDomainPropertiesEXT * pSwapchainTimeDomainProperties, uint64_t * pTimeDomainsCounter, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -20362,7 +26820,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPastPresentationTimingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPastPresentationTimingEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPastPresentationTimingEXT( PastPresentationTimingInfoEXT const * pPastPresentationTimingInfo, PastPresentationTimingPropertiesEXT * pPastPresentationTimingProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -20378,7 +26841,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkInitializePerformanceApiINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkInitializePerformanceApiINTEL ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::initializePerformanceApiINTEL( InitializePerformanceApiInfoINTEL const * pInitializeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20390,7 +26858,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkInitializePerformanceApiINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkInitializePerformanceApiINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::initializePerformanceApiINTEL( InitializePerformanceApiInfoINTEL const & initializeInfo, Dispatch const & d ) const { @@ -20399,17 +26872,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkInitializePerformanceApiINTEL && "Function requires " ); # endif - Result result = - static_cast( d.vkInitializePerformanceApiINTEL( m_device, reinterpret_cast( &initializeInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); + Result result_ = static_cast( d.vkInitializePerformanceApiINTEL( + static_cast( m_device ), reinterpret_cast( &initializeInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUninitializePerformanceApiINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUninitializePerformanceApiINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUninitializePerformanceApiINTEL ) ) +#endif VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20418,7 +26896,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceMarkerINTEL ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceMarkerINTEL( PerformanceMarkerInfoINTEL const * pMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20430,7 +26913,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceMarkerINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::setPerformanceMarkerINTEL( PerformanceMarkerInfoINTEL const & markerInfo, Dispatch const & d ) const { @@ -20439,17 +26927,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetPerformanceMarkerINTEL && "Function requires " ); # endif - Result result = - static_cast( d.vkCmdSetPerformanceMarkerINTEL( m_commandBuffer, reinterpret_cast( &markerInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); + Result result_ = static_cast( d.vkCmdSetPerformanceMarkerINTEL( static_cast( m_commandBuffer ), + reinterpret_cast( &markerInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceStreamMarkerINTEL ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceStreamMarkerINTEL( PerformanceStreamMarkerInfoINTEL const * pMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20461,7 +26954,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceStreamMarkerINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::setPerformanceStreamMarkerINTEL( PerformanceStreamMarkerInfoINTEL const & markerInfo, Dispatch const & d ) const { @@ -20470,17 +26968,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetPerformanceStreamMarkerINTEL && "Function requires " ); # endif - Result result = static_cast( - d.vkCmdSetPerformanceStreamMarkerINTEL( m_commandBuffer, reinterpret_cast( &markerInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); + Result result_ = static_cast( d.vkCmdSetPerformanceStreamMarkerINTEL( + static_cast( m_commandBuffer ), reinterpret_cast( &markerInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceOverrideINTEL ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result CommandBuffer::setPerformanceOverrideINTEL( PerformanceOverrideInfoINTEL const * pOverrideInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20492,7 +26995,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceOverrideINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::setPerformanceOverrideINTEL( PerformanceOverrideInfoINTEL const & overrideInfo, Dispatch const & d ) const { @@ -20501,17 +27009,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetPerformanceOverrideINTEL && "Function requires " ); # endif - Result result = - static_cast( d.vkCmdSetPerformanceOverrideINTEL( m_commandBuffer, reinterpret_cast( &overrideInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); + Result result_ = static_cast( d.vkCmdSetPerformanceOverrideINTEL( static_cast( m_commandBuffer ), + reinterpret_cast( &overrideInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAcquirePerformanceConfigurationINTEL ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquirePerformanceConfigurationINTEL( PerformanceConfigurationAcquireInfoINTEL const * pAcquireInfo, PerformanceConfigurationINTEL * pConfiguration, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -20525,7 +27038,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquirePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::acquirePerformanceConfigurationINTEL( PerformanceConfigurationAcquireInfoINTEL const & acquireInfo, Dispatch const & d ) const { @@ -20535,19 +27053,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PerformanceConfigurationINTEL configuration; - Result result = - static_cast( d.vkAcquirePerformanceConfigurationINTEL( m_device, + Result result_ = + static_cast( d.vkAcquirePerformanceConfigurationINTEL( static_cast( m_device ), reinterpret_cast( &acquireInfo ), reinterpret_cast( &configuration ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" ); - return detail::createResultValueType( result, std::move( configuration ) ); + return detail::createResultValueType( result_, std::move( configuration ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquirePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::acquirePerformanceConfigurationINTELUnique( PerformanceConfigurationAcquireInfoINTEL const & acquireInfo, Dispatch const & d ) const { @@ -20557,14 +27080,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PerformanceConfigurationINTEL configuration; - Result result = - static_cast( d.vkAcquirePerformanceConfigurationINTEL( m_device, + Result result_ = + static_cast( d.vkAcquirePerformanceConfigurationINTEL( static_cast( m_device ), reinterpret_cast( &acquireInfo ), reinterpret_cast( &configuration ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTELUnique" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTELUnique" ); return detail::createResultValueType( - result, UniqueHandle( configuration, detail::ObjectRelease( *this, d ) ) ); + result_, UniqueHandle( configuration, detail::ObjectRelease( *this, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -20572,7 +27095,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releasePerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20583,7 +27111,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::releasePerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d ) const { @@ -20592,17 +27125,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkReleasePerformanceConfigurationINTEL && "Function requires " ); # endif - Result result = static_cast( d.vkReleasePerformanceConfigurationINTEL( m_device, static_cast( configuration ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releasePerformanceConfigurationINTEL" ); + Result result_ = static_cast( + d.vkReleasePerformanceConfigurationINTEL( static_cast( m_device ), static_cast( configuration ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::releasePerformanceConfigurationINTEL" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::release( PerformanceConfigurationINTEL configuration, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20612,7 +27151,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::release( PerformanceConfigurationINTEL configuration, Dispatch const & d ) const { @@ -20621,17 +27165,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkReleasePerformanceConfigurationINTEL && "Function requires " ); # endif - Result result = static_cast( d.vkReleasePerformanceConfigurationINTEL( m_device, static_cast( configuration ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::release" ); + Result result_ = static_cast( + d.vkReleasePerformanceConfigurationINTEL( static_cast( m_device ), static_cast( configuration ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::release" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueSetPerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::setPerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20642,7 +27192,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueSetPerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::setPerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d ) const { @@ -20652,16 +27207,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - Result result = static_cast( d.vkQueueSetPerformanceConfigurationINTEL( m_queue, static_cast( configuration ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); + Result result_ = static_cast( + d.vkQueueSetPerformanceConfigurationINTEL( static_cast( m_queue ), static_cast( configuration ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetPerformanceParameterINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPerformanceParameterINTEL ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPerformanceParameterINTEL( PerformanceParameterTypeINTEL parameter, PerformanceValueINTEL * pValue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20673,7 +27234,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPerformanceParameterINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPerformanceParameterINTEL ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getPerformanceParameterINTEL( PerformanceParameterTypeINTEL parameter, Dispatch const & d ) const { @@ -20683,18 +27249,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PerformanceValueINTEL value; - Result result = static_cast( d.vkGetPerformanceParameterINTEL( - m_device, static_cast( parameter ), reinterpret_cast( &value ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); + Result result_ = static_cast( d.vkGetPerformanceParameterINTEL( + static_cast( m_device ), static_cast( parameter ), reinterpret_cast( &value ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); - return detail::createResultValueType( result, std::move( value ) ); + return detail::createResultValueType( result_, std::move( value ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_AMD_display_native_hdr === // wrapper function for command vkSetLocalDimmingAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLocalDimmingAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetLocalDimmingAMD ) ) +#endif VULKAN_HPP_INLINE void Device::setLocalDimmingAMD( SwapchainKHR swapChain, Bool32 localDimmingEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -20706,7 +27277,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImagePipeSurfaceFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createImagePipeSurfaceFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -20721,7 +27297,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImagePipeSurfaceFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createImagePipeSurfaceFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -20731,19 +27312,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateImagePipeSurfaceFUCHSIA( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" ); + Result result_ = static_cast( d.vkCreateImagePipeSurfaceFUCHSIA( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateImagePipeSurfaceFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createImagePipeSurfaceFUCHSIAUnique( ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -20753,13 +27339,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateImagePipeSurfaceFUCHSIA( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIAUnique" ); + Result result_ = static_cast( d.vkCreateImagePipeSurfaceFUCHSIA( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIAUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -20770,7 +27356,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_metal_surface === // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMetalSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createMetalSurfaceEXT( MetalSurfaceCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20783,7 +27374,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMetalSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createMetalSurfaceEXT( MetalSurfaceCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -20793,18 +27389,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateMetalSurfaceEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" ); + Result result_ = static_cast( d.vkCreateMetalSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMetalSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createMetalSurfaceEXTUnique( MetalSurfaceCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -20814,13 +27415,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateMetalSurfaceEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXTUnique" ); + Result result_ = static_cast( d.vkCreateMetalSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createMetalSurfaceEXTUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -20831,7 +27432,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFragmentShadingRatesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getFragmentShadingRatesKHR( uint32_t * pFragmentShadingRateCount, PhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20845,12 +27451,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceFragmentShadingRateKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceFragmentShadingRateKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceFragmentShadingRatesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getFragmentShadingRatesKHR( Dispatch const & d ) const @@ -20863,34 +27474,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector fragmentShadingRates; uint32_t fragmentShadingRateCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( m_physicalDevice, &fragmentShadingRateCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && fragmentShadingRateCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast( m_physicalDevice ), &fragmentShadingRateCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && fragmentShadingRateCount ) { fragmentShadingRates.resize( fragmentShadingRateCount ); - result = static_cast( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( - m_physicalDevice, &fragmentShadingRateCount, reinterpret_cast( fragmentShadingRates.data() ) ) ); + result_ = static_cast( + d.vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast( m_physicalDevice ), + &fragmentShadingRateCount, + reinterpret_cast( fragmentShadingRates.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); if ( fragmentShadingRateCount < fragmentShadingRates.size() ) { fragmentShadingRates.resize( fragmentShadingRateCount ); } - return detail::createResultValueType( result, std::move( fragmentShadingRates ) ); + return detail::createResultValueType( result_, std::move( fragmentShadingRates ) ); } // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceFragmentShadingRateKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceFragmentShadingRateKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceFragmentShadingRatesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getFragmentShadingRatesKHR( PhysicalDeviceFragmentShadingRateKHRAllocator const & physicalDeviceFragmentShadingRateKHRAllocator, @@ -20905,30 +27524,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector fragmentShadingRates( physicalDeviceFragmentShadingRateKHRAllocator ); uint32_t fragmentShadingRateCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( m_physicalDevice, &fragmentShadingRateCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && fragmentShadingRateCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast( m_physicalDevice ), &fragmentShadingRateCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && fragmentShadingRateCount ) { fragmentShadingRates.resize( fragmentShadingRateCount ); - result = static_cast( d.vkGetPhysicalDeviceFragmentShadingRatesKHR( - m_physicalDevice, &fragmentShadingRateCount, reinterpret_cast( fragmentShadingRates.data() ) ) ); + result_ = static_cast( + d.vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast( m_physicalDevice ), + &fragmentShadingRateCount, + reinterpret_cast( fragmentShadingRates.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); if ( fragmentShadingRateCount < fragmentShadingRates.size() ) { fragmentShadingRates.resize( fragmentShadingRateCount ); } - return detail::createResultValueType( result, std::move( fragmentShadingRates ) ); + return detail::createResultValueType( result_, std::move( fragmentShadingRates ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetFragmentShadingRateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( Extent2D const * pFragmentSize, FragmentShadingRateCombinerOpKHR const combinerOps[2], Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20941,17 +27568,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetFragmentShadingRateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( - Extent2D const & fragmentSize, FragmentShadingRateCombinerOpKHR const combinerOps[2], Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + Extent2D const & fragmentSize, std::array const & combinerOps, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); # if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) VULKAN_HPP_ASSERT( d.vkCmdSetFragmentShadingRateKHR && "Function requires " ); # endif - d.vkCmdSetFragmentShadingRateKHR( - m_commandBuffer, reinterpret_cast( &fragmentSize ), reinterpret_cast( combinerOps ) ); + d.vkCmdSetFragmentShadingRateKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &fragmentSize ), + reinterpret_cast( combinerOps.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -20959,7 +27592,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocationsKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocationsKHR( RenderingAttachmentLocationInfo const * pLocationInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20971,7 +27609,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocationsKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingAttachmentLocationsKHR( RenderingAttachmentLocationInfo const & locationInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20981,13 +27624,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetRenderingAttachmentLocationsKHR( m_commandBuffer, reinterpret_cast( &locationInfo ) ); + d.vkCmdSetRenderingAttachmentLocationsKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &locationInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndicesKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingInputAttachmentIndicesKHR( RenderingInputAttachmentIndexInfo const * pInputAttachmentIndexInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -20999,7 +27648,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndicesKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setRenderingInputAttachmentIndicesKHR( RenderingInputAttachmentIndexInfo const & inputAttachmentIndexInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21009,14 +27663,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetRenderingInputAttachmentIndicesKHR( m_commandBuffer, reinterpret_cast( &inputAttachmentIndexInfo ) ); + d.vkCmdSetRenderingInputAttachmentIndicesKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &inputAttachmentIndexInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_buffer_device_address === // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressEXT ) ) +#endif VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT( BufferDeviceAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21026,7 +27686,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressEXT ) ) +# endif VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressEXT( BufferDeviceAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21035,9 +27700,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - VkDeviceAddress result = d.vkGetBufferDeviceAddressEXT( m_device, reinterpret_cast( &info ) ); + VkDeviceAddress result_ = d.vkGetBufferDeviceAddressEXT( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21045,7 +27710,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getToolPropertiesEXT( uint32_t * pToolCount, PhysicalDeviceToolProperties * pToolProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21057,10 +27727,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceToolPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getToolPropertiesEXT( Dispatch const & d ) const { @@ -21072,32 +27747,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector toolProperties; uint32_t toolCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && toolCount ) + result_ = static_cast( d.vkGetPhysicalDeviceToolPropertiesEXT( static_cast( m_physicalDevice ), &toolCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && toolCount ) { toolProperties.resize( toolCount ); - result = static_cast( - d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, reinterpret_cast( toolProperties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceToolPropertiesEXT( + static_cast( m_physicalDevice ), &toolCount, reinterpret_cast( toolProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); if ( toolCount < toolProperties.size() ) { toolProperties.resize( toolCount ); } - return detail::createResultValueType( result, std::move( toolProperties ) ); + return detail::createResultValueType( result_, std::move( toolProperties ) ); } // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PhysicalDeviceToolPropertiesAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getToolPropertiesEXT( PhysicalDeviceToolPropertiesAllocator const & physicalDeviceToolPropertiesAllocator, Dispatch const & d ) const { @@ -21109,24 +27789,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector toolProperties( physicalDeviceToolPropertiesAllocator ); uint32_t toolCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && toolCount ) + result_ = static_cast( d.vkGetPhysicalDeviceToolPropertiesEXT( static_cast( m_physicalDevice ), &toolCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && toolCount ) { toolProperties.resize( toolCount ); - result = static_cast( - d.vkGetPhysicalDeviceToolPropertiesEXT( m_physicalDevice, &toolCount, reinterpret_cast( toolProperties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceToolPropertiesEXT( + static_cast( m_physicalDevice ), &toolCount, reinterpret_cast( toolProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); if ( toolCount < toolProperties.size() ) { toolProperties.resize( toolCount ); } - return detail::createResultValueType( result, std::move( toolProperties ) ); + return detail::createResultValueType( result_, std::move( toolProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21134,7 +27814,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWaitForPresentKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForPresentKHR( SwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21143,7 +27828,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWaitForPresentKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForPresentKHR( SwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, Dispatch const & d ) const { @@ -21152,17 +27842,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkWaitForPresentKHR && "Function requires " ); # endif - Result result = static_cast( d.vkWaitForPresentKHR( m_device, static_cast( swapchain ), presentId, timeout ) ); + Result result_ = + static_cast( d.vkWaitForPresentKHR( static_cast( m_device ), static_cast( swapchain ), presentId, timeout ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresentKHR", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresentKHR", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresentKHR", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -21170,7 +27861,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeMatrixPropertiesNV( uint32_t * pPropertyCount, CooperativeMatrixPropertiesNV * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21182,10 +27878,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CooperativeMatrixPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeMatrixPropertiesNV( Dispatch const & d ) const { @@ -21197,32 +27898,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CooperativeMatrixPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeMatrixPropertiesNV( CooperativeMatrixPropertiesNVAllocator const & cooperativeMatrixPropertiesNVAllocator, Dispatch const & d ) const @@ -21235,24 +27942,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( cooperativeMatrixPropertiesNVAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21260,7 +27968,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( uint32_t * pCombinationCount, FramebufferMixedSamplesCombinationNV * pCombinations, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21272,12 +27985,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename FramebufferMixedSamplesCombinationNVAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template FramebufferMixedSamplesCombinationNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( Dispatch const & d ) const @@ -21290,34 +28008,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector combinations; uint32_t combinationCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( m_physicalDevice, &combinationCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && combinationCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( static_cast( m_physicalDevice ), &combinationCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && combinationCount ) { combinations.resize( combinationCount ); - result = static_cast( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( - m_physicalDevice, &combinationCount, reinterpret_cast( combinations.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + static_cast( m_physicalDevice ), + &combinationCount, + reinterpret_cast( combinations.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); if ( combinationCount < combinations.size() ) { combinations.resize( combinationCount ); } - return detail::createResultValueType( result, std::move( combinations ) ); + return detail::createResultValueType( result_, std::move( combinations ) ); } // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename FramebufferMixedSamplesCombinationNVAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template FramebufferMixedSamplesCombinationNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV( @@ -21332,24 +28058,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector combinations( framebufferMixedSamplesCombinationNVAllocator ); uint32_t combinationCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( m_physicalDevice, &combinationCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && combinationCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( static_cast( m_physicalDevice ), &combinationCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && combinationCount ) { combinations.resize( combinationCount ); - result = static_cast( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( - m_physicalDevice, &combinationCount, reinterpret_cast( combinations.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + static_cast( m_physicalDevice ), + &combinationCount, + reinterpret_cast( combinations.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); if ( combinationCount < combinations.size() ) { combinations.resize( combinationCount ); } - return detail::createResultValueType( result, std::move( combinations ) ); + return detail::createResultValueType( result_, std::move( combinations ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21358,7 +28087,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, uint32_t * pPresentModeCount, PresentModeKHR * pPresentModes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -21373,10 +28107,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PresentModeKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d ) const { @@ -21388,35 +28127,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentModes; uint32_t presentModeCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( - m_physicalDevice, reinterpret_cast( &surfaceInfo ), &presentModeCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentModeCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &presentModeCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && presentModeCount ) { presentModes.resize( presentModeCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( m_physicalDevice, - reinterpret_cast( &surfaceInfo ), - &presentModeCount, - reinterpret_cast( presentModes.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &presentModeCount, + reinterpret_cast( presentModes.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); if ( presentModeCount < presentModes.size() ) { presentModes.resize( presentModeCount ); } - return detail::createResultValueType( result, std::move( presentModes ) ); + return detail::createResultValueType( result_, std::move( presentModes ) ); } // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PresentModeKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, PresentModeKHRAllocator const & presentModeKHRAllocator, Dispatch const & d ) const @@ -21429,34 +28175,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentModes( presentModeKHRAllocator ); uint32_t presentModeCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( - m_physicalDevice, reinterpret_cast( &surfaceInfo ), &presentModeCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentModeCount ) + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &presentModeCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && presentModeCount ) { presentModes.resize( presentModeCount ); - result = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( m_physicalDevice, - reinterpret_cast( &surfaceInfo ), - &presentModeCount, - reinterpret_cast( presentModes.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &surfaceInfo ), + &presentModeCount, + reinterpret_cast( presentModes.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); if ( presentModeCount < presentModes.size() ) { presentModes.resize( presentModeCount ); } - return detail::createResultValueType( result, std::move( presentModes ) ); + return detail::createResultValueType( result_, std::move( presentModes ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::acquireFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21466,7 +28219,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # else // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::acquireFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d ) const { @@ -21475,17 +28233,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkAcquireFullScreenExclusiveModeEXT && "Function requires " ); # endif - Result result = static_cast( d.vkAcquireFullScreenExclusiveModeEXT( m_device, static_cast( swapchain ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireFullScreenExclusiveModeEXT" ); + Result result_ = + static_cast( d.vkAcquireFullScreenExclusiveModeEXT( static_cast( m_device ), static_cast( swapchain ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireFullScreenExclusiveModeEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releaseFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21495,7 +28259,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # else // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::releaseFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d ) const { @@ -21504,16 +28273,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkReleaseFullScreenExclusiveModeEXT && "Function requires " ); # endif - Result result = static_cast( d.vkReleaseFullScreenExclusiveModeEXT( m_device, static_cast( swapchain ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseFullScreenExclusiveModeEXT" ); + Result result_ = + static_cast( d.vkReleaseFullScreenExclusiveModeEXT( static_cast( m_device ), static_cast( swapchain ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseFullScreenExclusiveModeEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getGroupSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, DeviceGroupPresentModeFlagsKHR * pModes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21526,7 +28301,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getGroupSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d ) const { @@ -21537,11 +28317,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceGroupPresentModeFlagsKHR modes; - Result result = static_cast( d.vkGetDeviceGroupSurfacePresentModes2EXT( - m_device, reinterpret_cast( &surfaceInfo ), reinterpret_cast( &modes ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); + Result result_ = static_cast( d.vkGetDeviceGroupSurfacePresentModes2EXT( static_cast( m_device ), + reinterpret_cast( &surfaceInfo ), + reinterpret_cast( &modes ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); - return detail::createResultValueType( result, std::move( modes ) ); + return detail::createResultValueType( result_, std::move( modes ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -21549,7 +28330,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_headless_surface === // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createHeadlessSurfaceEXT( HeadlessSurfaceCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -21563,7 +28349,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createHeadlessSurfaceEXT( HeadlessSurfaceCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -21573,18 +28364,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateHeadlessSurfaceEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" ); + Result result_ = static_cast( d.vkCreateHeadlessSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createHeadlessSurfaceEXTUnique( HeadlessSurfaceCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -21594,13 +28390,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateHeadlessSurfaceEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXTUnique" ); + Result result_ = static_cast( d.vkCreateHeadlessSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXTUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -21609,7 +28405,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_buffer_device_address === // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressKHR ) ) +#endif VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR( BufferDeviceAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21619,7 +28420,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressKHR ) ) +# endif VULKAN_HPP_INLINE DeviceAddress Device::getBufferAddressKHR( BufferDeviceAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21628,15 +28434,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - VkDeviceAddress result = d.vkGetBufferDeviceAddressKHR( m_device, reinterpret_cast( &info ) ); + VkDeviceAddress result_ = d.vkGetBufferDeviceAddressKHR( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddressKHR ) ) +#endif VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR( BufferDeviceAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21646,7 +28457,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddressKHR ) ) +# endif VULKAN_HPP_INLINE uint64_t Device::getBufferOpaqueCaptureAddressKHR( BufferDeviceAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21655,15 +28471,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - uint64_t result = d.vkGetBufferOpaqueCaptureAddressKHR( m_device, reinterpret_cast( &info ) ); + uint64_t result_ = d.vkGetBufferOpaqueCaptureAddressKHR( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddressKHR ) ) +#endif VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR( DeviceMemoryOpaqueCaptureAddressInfo const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21675,7 +28496,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddressKHR ) ) +# endif VULKAN_HPP_INLINE uint64_t Device::getMemoryOpaqueCaptureAddressKHR( DeviceMemoryOpaqueCaptureAddressInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21685,16 +28511,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - uint64_t result = d.vkGetDeviceMemoryOpaqueCaptureAddressKHR( m_device, reinterpret_cast( &info ) ); + uint64_t result_ = d.vkGetDeviceMemoryOpaqueCaptureAddressKHR( static_cast( m_device ), + reinterpret_cast( &info ) ); - return result; + return result_; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_line_rasterization === // wrapper function for command vkCmdSetLineStippleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStippleEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21705,7 +28537,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_host_query_reset === // wrapper function for command vkResetQueryPoolEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPoolEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkResetQueryPoolEXT ) ) +#endif VULKAN_HPP_INLINE void Device::resetQueryPoolEXT( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21716,7 +28553,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_extended_dynamic_state === // wrapper function for command vkCmdSetCullModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCullModeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCullModeEXT( CullModeFlags cullMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21724,7 +28566,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetFrontFaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFaceEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetFrontFaceEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setFrontFaceEXT( FrontFace frontFace, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21732,7 +28579,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetPrimitiveTopologyEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopologyEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveTopologyEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopologyEXT( PrimitiveTopology primitiveTopology, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21740,7 +28592,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetViewportWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCountEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( uint32_t viewportCount, Viewport const * pViewports, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21750,7 +28607,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCountEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCountEXT( ArrayProxy const & viewports, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21759,12 +28621,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - d.vkCmdSetViewportWithCountEXT( m_commandBuffer, viewports.size(), reinterpret_cast( viewports.data() ) ); + d.vkCmdSetViewportWithCountEXT( + static_cast( m_commandBuffer ), viewports.size(), reinterpret_cast( viewports.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCountEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT( uint32_t scissorCount, Rect2D const * pScissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21773,7 +28641,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCountEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT( ArrayProxy const & scissors, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21782,12 +28655,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or or " ); # endif - d.vkCmdSetScissorWithCountEXT( m_commandBuffer, scissors.size(), reinterpret_cast( scissors.data() ) ); + d.vkCmdSetScissorWithCountEXT( static_cast( m_commandBuffer ), scissors.size(), reinterpret_cast( scissors.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, @@ -21808,7 +28686,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -21840,7 +28723,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBindVertexBuffers2EXT( m_commandBuffer, + d.vkCmdBindVertexBuffers2EXT( static_cast( m_commandBuffer ), firstBinding, buffers.size(), reinterpret_cast( buffers.data() ), @@ -21851,7 +28734,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthTestEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT( Bool32 depthTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21859,7 +28747,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthWriteEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT( Bool32 depthWriteEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21867,7 +28760,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthCompareOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOpEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthCompareOpEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT( CompareOp depthCompareOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21876,7 +28774,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetDepthBoundsTestEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBoundsTestEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT( Bool32 depthBoundsTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21884,7 +28787,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilTestEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT( Bool32 stencilTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -21892,7 +28800,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetStencilOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOpEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilOpEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setStencilOpEXT( StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, StencilOp depthFailOp, CompareOp compareOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21908,7 +28821,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_deferred_host_operations === // wrapper function for command vkCreateDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDeferredOperationKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDeferredOperationKHR( AllocationCallbacks const * pAllocator, DeferredOperationKHR * pDeferredOperation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21920,7 +28838,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDeferredOperationKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createDeferredOperationKHR( Optional allocator, Dispatch const & d ) const { @@ -21930,16 +28853,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeferredOperationKHR deferredOperation; - Result result = static_cast( d.vkCreateDeferredOperationKHR( - m_device, reinterpret_cast( allocator.get() ), reinterpret_cast( &deferredOperation ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHR" ); + Result result_ = static_cast( d.vkCreateDeferredOperationKHR( static_cast( m_device ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &deferredOperation ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHR" ); - return detail::createResultValueType( result, std::move( deferredOperation ) ); + return detail::createResultValueType( result_, std::move( deferredOperation ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDeferredOperationKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDeferredOperationKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createDeferredOperationKHRUnique( Optional allocator, Dispatch const & d ) const { @@ -21949,19 +28878,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeferredOperationKHR deferredOperation; - Result result = static_cast( d.vkCreateDeferredOperationKHR( - m_device, reinterpret_cast( allocator.get() ), reinterpret_cast( &deferredOperation ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHRUnique" ); + Result result_ = static_cast( d.vkCreateDeferredOperationKHR( static_cast( m_device ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &deferredOperation ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDeferredOperationKHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( deferredOperation, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( deferredOperation, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroyDeferredOperationKHR( DeferredOperationKHR operation, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21973,7 +28908,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroyDeferredOperationKHR( DeferredOperationKHR operation, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -21983,13 +28923,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif d.vkDestroyDeferredOperationKHR( - m_device, static_cast( operation ), reinterpret_cast( allocator.get() ) ); + static_cast( m_device ), static_cast( operation ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( DeferredOperationKHR operation, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22000,7 +28945,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( DeferredOperationKHR operation, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22010,13 +28960,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif d.vkDestroyDeferredOperationKHR( - m_device, static_cast( operation ), reinterpret_cast( allocator.get() ) ); + static_cast( m_device ), static_cast( operation ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeferredOperationMaxConcurrencyKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationMaxConcurrencyKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeferredOperationMaxConcurrencyKHR ) ) +#endif VULKAN_HPP_INLINE uint32_t Device::getDeferredOperationMaxConcurrencyKHR( DeferredOperationKHR operation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22026,7 +28981,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeferredOperationResultKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeferredOperationResultKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDeferredOperationResultKHR( DeferredOperationKHR operation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22036,7 +28996,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkGetDeferredOperationResultKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeferredOperationResultKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDeferredOperationResultKHR( DeferredOperationKHR operation, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22044,16 +29009,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetDeferredOperationResultKHR && "Function requires " ); # endif - Result result = static_cast( d.vkGetDeferredOperationResultKHR( m_device, static_cast( operation ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getDeferredOperationResultKHR", { Result::eSuccess, Result::eNotReady } ); + Result result_ = + static_cast( d.vkGetDeferredOperationResultKHR( static_cast( m_device ), static_cast( operation ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getDeferredOperationResultKHR", { Result::eSuccess, Result::eNotReady } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDeferredOperationJoinKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR( DeferredOperationKHR operation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22061,7 +29032,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDeferredOperationJoinKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::deferredOperationJoinKHR( DeferredOperationKHR operation, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22069,11 +29045,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDeferredOperationJoinKHR && "Function requires " ); # endif - Result result = static_cast( d.vkDeferredOperationJoinKHR( m_device, static_cast( operation ) ) ); + Result result_ = static_cast( d.vkDeferredOperationJoinKHR( static_cast( m_device ), static_cast( operation ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::deferredOperationJoinKHR", { Result::eSuccess, Result::eThreadDoneKHR, Result::eThreadIdleKHR } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::deferredOperationJoinKHR", { Result::eSuccess, Result::eThreadDoneKHR, Result::eThreadIdleKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -22081,7 +29057,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineExecutablePropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineExecutablePropertiesKHR( PipelineInfoKHR const * pPipelineInfo, uint32_t * pExecutableCount, PipelineExecutablePropertiesKHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -22096,11 +29077,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PipelineExecutablePropertiesKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template PipelineExecutablePropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineExecutablePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getPipelineExecutablePropertiesKHR( PipelineInfoKHR const & pipelineInfo, Dispatch const & d ) const { @@ -22112,36 +29098,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t executableCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetPipelineExecutablePropertiesKHR( m_device, reinterpret_cast( &pipelineInfo ), &executableCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && executableCount ) + result_ = static_cast( d.vkGetPipelineExecutablePropertiesKHR( + static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &executableCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && executableCount ) { properties.resize( executableCount ); - result = static_cast( d.vkGetPipelineExecutablePropertiesKHR( m_device, - reinterpret_cast( &pipelineInfo ), - &executableCount, - reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPipelineExecutablePropertiesKHR( static_cast( m_device ), + reinterpret_cast( &pipelineInfo ), + &executableCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); VULKAN_HPP_ASSERT( executableCount <= properties.size() ); if ( executableCount < properties.size() ) { properties.resize( executableCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PipelineExecutablePropertiesKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template PipelineExecutablePropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineExecutablePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getPipelineExecutablePropertiesKHR( PipelineInfoKHR const & pipelineInfo, PipelineExecutablePropertiesKHRAllocator const & pipelineExecutablePropertiesKHRAllocator, Dispatch const & d ) @@ -22155,33 +29146,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( pipelineExecutablePropertiesKHRAllocator ); uint32_t executableCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetPipelineExecutablePropertiesKHR( m_device, reinterpret_cast( &pipelineInfo ), &executableCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && executableCount ) + result_ = static_cast( d.vkGetPipelineExecutablePropertiesKHR( + static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &executableCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && executableCount ) { properties.resize( executableCount ); - result = static_cast( d.vkGetPipelineExecutablePropertiesKHR( m_device, - reinterpret_cast( &pipelineInfo ), - &executableCount, - reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPipelineExecutablePropertiesKHR( static_cast( m_device ), + reinterpret_cast( &pipelineInfo ), + &executableCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); VULKAN_HPP_ASSERT( executableCount <= properties.size() ); if ( executableCount < properties.size() ) { properties.resize( executableCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineExecutableStatisticsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineExecutableStatisticsKHR( PipelineExecutableInfoKHR const * pExecutableInfo, uint32_t * pStatisticCount, PipelineExecutableStatisticKHR * pStatistics, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -22196,11 +29192,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PipelineExecutableStatisticKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template PipelineExecutableStatisticKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineExecutableStatisticsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getPipelineExecutableStatisticsKHR( PipelineExecutableInfoKHR const & executableInfo, Dispatch const & d ) const { @@ -22212,36 +29213,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector statistics; uint32_t statisticCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPipelineExecutableStatisticsKHR( - m_device, reinterpret_cast( &executableInfo ), &statisticCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && statisticCount ) + result_ = static_cast( d.vkGetPipelineExecutableStatisticsKHR( + static_cast( m_device ), reinterpret_cast( &executableInfo ), &statisticCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && statisticCount ) { statistics.resize( statisticCount ); - result = static_cast( d.vkGetPipelineExecutableStatisticsKHR( m_device, - reinterpret_cast( &executableInfo ), - &statisticCount, - reinterpret_cast( statistics.data() ) ) ); + result_ = static_cast( d.vkGetPipelineExecutableStatisticsKHR( static_cast( m_device ), + reinterpret_cast( &executableInfo ), + &statisticCount, + reinterpret_cast( statistics.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); if ( statisticCount < statistics.size() ) { statistics.resize( statisticCount ); } - return detail::createResultValueType( result, std::move( statistics ) ); + return detail::createResultValueType( result_, std::move( statistics ) ); } // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PipelineExecutableStatisticKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template PipelineExecutableStatisticKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineExecutableStatisticsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getPipelineExecutableStatisticsKHR( PipelineExecutableInfoKHR const & executableInfo, PipelineExecutableStatisticKHRAllocator const & pipelineExecutableStatisticKHRAllocator, @@ -22255,33 +29261,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector statistics( pipelineExecutableStatisticKHRAllocator ); uint32_t statisticCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPipelineExecutableStatisticsKHR( - m_device, reinterpret_cast( &executableInfo ), &statisticCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && statisticCount ) + result_ = static_cast( d.vkGetPipelineExecutableStatisticsKHR( + static_cast( m_device ), reinterpret_cast( &executableInfo ), &statisticCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && statisticCount ) { statistics.resize( statisticCount ); - result = static_cast( d.vkGetPipelineExecutableStatisticsKHR( m_device, - reinterpret_cast( &executableInfo ), - &statisticCount, - reinterpret_cast( statistics.data() ) ) ); + result_ = static_cast( d.vkGetPipelineExecutableStatisticsKHR( static_cast( m_device ), + reinterpret_cast( &executableInfo ), + &statisticCount, + reinterpret_cast( statistics.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); if ( statisticCount < statistics.size() ) { statistics.resize( statisticCount ); } - return detail::createResultValueType( result, std::move( statistics ) ); + return detail::createResultValueType( result_, std::move( statistics ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineExecutableInternalRepresentationsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineExecutableInternalRepresentationsKHR( PipelineExecutableInfoKHR const * pExecutableInfo, uint32_t * pInternalRepresentationCount, @@ -22299,7 +29310,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_host_image_copy === // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToImageEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToImageEXT( CopyMemoryToImageInfo const * pCopyMemoryToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22310,7 +29326,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToImageEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::copyMemoryToImageEXT( CopyMemoryToImageInfo const & copyMemoryToImageInfo, Dispatch const & d ) const { @@ -22319,15 +29340,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyMemoryToImageEXT && "Function requires or " ); # endif - Result result = static_cast( d.vkCopyMemoryToImageEXT( m_device, reinterpret_cast( ©MemoryToImageInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToImageEXT" ); + Result result_ = static_cast( + d.vkCopyMemoryToImageEXT( static_cast( m_device ), reinterpret_cast( ©MemoryToImageInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToImageEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyImageToMemoryEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToMemoryEXT( CopyImageToMemoryInfo const * pCopyImageToMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22338,7 +29365,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyImageToMemoryEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::copyImageToMemoryEXT( CopyImageToMemoryInfo const & copyImageToMemoryInfo, Dispatch const & d ) const { @@ -22347,15 +29379,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyImageToMemoryEXT && "Function requires or " ); # endif - Result result = static_cast( d.vkCopyImageToMemoryEXT( m_device, reinterpret_cast( ©ImageToMemoryInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToMemoryEXT" ); + Result result_ = static_cast( + d.vkCopyImageToMemoryEXT( static_cast( m_device ), reinterpret_cast( ©ImageToMemoryInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToMemoryEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyImageToImageEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyImageToImageEXT( CopyImageToImageInfo const * pCopyImageToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22366,7 +29404,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyImageToImageEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::copyImageToImageEXT( CopyImageToImageInfo const & copyImageToImageInfo, Dispatch const & d ) const { @@ -22375,15 +29418,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyImageToImageEXT && "Function requires or " ); # endif - Result result = static_cast( d.vkCopyImageToImageEXT( m_device, reinterpret_cast( ©ImageToImageInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToImageEXT" ); + Result result_ = static_cast( + d.vkCopyImageToImageEXT( static_cast( m_device ), reinterpret_cast( ©ImageToImageInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyImageToImageEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkTransitionImageLayoutEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::transitionImageLayoutEXT( uint32_t transitionCount, HostImageLayoutTransitionInfo const * pTransitions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22394,7 +29443,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkTransitionImageLayoutEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::transitionImageLayoutEXT( ArrayProxy const & transitions, Dispatch const & d ) const { @@ -22403,17 +29457,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkTransitionImageLayoutEXT && "Function requires or " ); # endif - Result result = static_cast( - d.vkTransitionImageLayoutEXT( m_device, transitions.size(), reinterpret_cast( transitions.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::transitionImageLayoutEXT" ); + Result result_ = static_cast( d.vkTransitionImageLayoutEXT( + static_cast( m_device ), transitions.size(), reinterpret_cast( transitions.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::transitionImageLayoutEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageSubresourceLayout2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2EXT ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSubresourceLayout2EXT( Image image, ImageSubresource2 const * pSubresource, SubresourceLayout2 * pLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22427,7 +29486,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Device::getImageSubresourceLayout2EXT( Image image, ImageSubresource2 const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22439,7 +29503,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SubresourceLayout2 layout; - d.vkGetImageSubresourceLayout2EXT( m_device, + d.vkGetImageSubresourceLayout2EXT( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -22449,7 +29513,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSubresourceLayout2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2EXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageSubresourceLayout2EXT( Image image, ImageSubresource2 const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22462,7 +29531,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SubresourceLayout2 & layout = structureChain.template get(); - d.vkGetImageSubresourceLayout2EXT( m_device, + d.vkGetImageSubresourceLayout2EXT( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -22474,7 +29543,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_map_memory2 === // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkMapMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory2KHR( MemoryMapInfo const * pMemoryMapInfo, void ** ppData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22484,7 +29558,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkMapMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::mapMemory2KHR( MemoryMapInfo const & memoryMapInfo, Dispatch const & d ) const { @@ -22494,15 +29573,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif void * pData; - Result result = static_cast( d.vkMapMemory2KHR( m_device, reinterpret_cast( &memoryMapInfo ), &pData ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2KHR" ); + Result result_ = + static_cast( d.vkMapMemory2KHR( static_cast( m_device ), reinterpret_cast( &memoryMapInfo ), &pData ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2KHR" ); - return detail::createResultValueType( result, std::move( pData ) ); + return detail::createResultValueType( result_, std::move( pData ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUnmapMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::unmapMemory2KHR( MemoryUnmapInfo const * pMemoryUnmapInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22512,7 +29597,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUnmapMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::unmapMemory2KHR( MemoryUnmapInfo const & memoryUnmapInfo, Dispatch const & d ) const { @@ -22521,17 +29611,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkUnmapMemory2KHR && "Function requires or " ); # endif - Result result = static_cast( d.vkUnmapMemory2KHR( m_device, reinterpret_cast( &memoryUnmapInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::unmapMemory2KHR" ); + Result result_ = + static_cast( d.vkUnmapMemory2KHR( static_cast( m_device ), reinterpret_cast( &memoryUnmapInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::unmapMemory2KHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_swapchain_maintenance1 === // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releaseSwapchainImagesEXT( ReleaseSwapchainImagesInfoKHR const * pReleaseInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22542,7 +29638,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::releaseSwapchainImagesEXT( ReleaseSwapchainImagesInfoKHR const & releaseInfo, Dispatch const & d ) const { @@ -22552,10 +29653,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - Result result = static_cast( d.vkReleaseSwapchainImagesEXT( m_device, reinterpret_cast( &releaseInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseSwapchainImagesEXT" ); + Result result_ = static_cast( + d.vkReleaseSwapchainImagesEXT( static_cast( m_device ), reinterpret_cast( &releaseInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseSwapchainImagesEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -22563,7 +29665,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) ) +#endif VULKAN_HPP_INLINE void Device::getGeneratedCommandsMemoryRequirementsNV( GeneratedCommandsMemoryRequirementsInfoNV const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22576,7 +29683,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getGeneratedCommandsMemoryRequirementsNV( GeneratedCommandsMemoryRequirementsInfoNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22587,7 +29699,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetGeneratedCommandsMemoryRequirementsNV( m_device, + d.vkGetGeneratedCommandsMemoryRequirementsNV( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -22596,11 +29708,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getGeneratedCommandsMemoryRequirementsNV( GeneratedCommandsMemoryRequirementsInfoNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22612,7 +29729,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetGeneratedCommandsMemoryRequirementsNV( m_device, + d.vkGetGeneratedCommandsMemoryRequirementsNV( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -22622,7 +29739,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV( GeneratedCommandsInfoNV const * pGeneratedCommandsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22634,7 +29756,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsNV( GeneratedCommandsInfoNV const & generatedCommandsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22643,13 +29770,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPreprocessGeneratedCommandsNV && "Function requires " ); # endif - d.vkCmdPreprocessGeneratedCommandsNV( m_commandBuffer, reinterpret_cast( &generatedCommandsInfo ) ); + d.vkCmdPreprocessGeneratedCommandsNV( static_cast( m_commandBuffer ), + reinterpret_cast( &generatedCommandsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV( Bool32 isPreprocessed, GeneratedCommandsInfoNV const * pGeneratedCommandsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22662,7 +29795,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsNV( Bool32 isPreprocessed, GeneratedCommandsInfoNV const & generatedCommandsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22671,14 +29809,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdExecuteGeneratedCommandsNV && "Function requires " ); # endif - d.vkCmdExecuteGeneratedCommandsNV( - m_commandBuffer, static_cast( isPreprocessed ), reinterpret_cast( &generatedCommandsInfo ) ); + d.vkCmdExecuteGeneratedCommandsNV( static_cast( m_commandBuffer ), + static_cast( isPreprocessed ), + reinterpret_cast( &generatedCommandsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindPipelineShaderGroupNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipelineShaderGroupNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindPipelineShaderGroupNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindPipelineShaderGroupNV( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, uint32_t groupIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22689,7 +29833,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createIndirectCommandsLayoutNV( IndirectCommandsLayoutCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, IndirectCommandsLayoutNV * pIndirectCommandsLayout, @@ -22705,7 +29854,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createIndirectCommandsLayoutNV( IndirectCommandsLayoutCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -22715,19 +29869,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif IndirectCommandsLayoutNV indirectCommandsLayout; - Result result = static_cast( d.vkCreateIndirectCommandsLayoutNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &indirectCommandsLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" ); + Result result_ = static_cast( d.vkCreateIndirectCommandsLayoutNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &indirectCommandsLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" ); - return detail::createResultValueType( result, std::move( indirectCommandsLayout ) ); + return detail::createResultValueType( result_, std::move( indirectCommandsLayout ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createIndirectCommandsLayoutNVUnique( IndirectCommandsLayoutCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const @@ -22738,21 +29897,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif IndirectCommandsLayoutNV indirectCommandsLayout; - Result result = static_cast( d.vkCreateIndirectCommandsLayoutNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &indirectCommandsLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNVUnique" ); + Result result_ = static_cast( d.vkCreateIndirectCommandsLayoutNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &indirectCommandsLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNVUnique" ); return detail::createResultValueType( - result, UniqueHandle( indirectCommandsLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( indirectCommandsLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutNV( IndirectCommandsLayoutNV indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22765,7 +29929,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutNV( IndirectCommandsLayoutNV indirectCommandsLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22774,14 +29943,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutNV && "Function requires " ); # endif - d.vkDestroyIndirectCommandsLayoutNV( - m_device, static_cast( indirectCommandsLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyIndirectCommandsLayoutNV( static_cast( m_device ), + static_cast( indirectCommandsLayout ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( IndirectCommandsLayoutNV indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22794,7 +29969,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( IndirectCommandsLayoutNV indirectCommandsLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22803,15 +29983,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutNV && "Function requires " ); # endif - d.vkDestroyIndirectCommandsLayoutNV( - m_device, static_cast( indirectCommandsLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyIndirectCommandsLayoutNV( static_cast( m_device ), + static_cast( indirectCommandsLayout ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_depth_bias_control === // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBias2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBias2EXT( DepthBiasInfoEXT const * pDepthBiasInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22820,7 +30006,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetDepthBias2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBias2EXT( DepthBiasInfoEXT const & depthBiasInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -22828,7 +30019,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetDepthBias2EXT && "Function requires " ); # endif - d.vkCmdSetDepthBias2EXT( m_commandBuffer, reinterpret_cast( &depthBiasInfo ) ); + d.vkCmdSetDepthBias2EXT( static_cast( m_commandBuffer ), reinterpret_cast( &depthBiasInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -22836,7 +30027,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22845,7 +30041,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::acquireDrmDisplayEXT( int32_t drmFd, DisplayKHR display, Dispatch const & d ) const { @@ -22854,15 +30055,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkAcquireDrmDisplayEXT && "Function requires " ); # endif - Result result = static_cast( d.vkAcquireDrmDisplayEXT( m_physicalDevice, drmFd, static_cast( display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); + Result result_ = + static_cast( d.vkAcquireDrmDisplayEXT( static_cast( m_physicalDevice ), drmFd, static_cast( display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDrmDisplayEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId, DisplayKHR * display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22873,7 +30080,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId, Dispatch const & d ) const { @@ -22883,15 +30095,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayKHR display; - Result result = static_cast( d.vkGetDrmDisplayEXT( m_physicalDevice, drmFd, connectorId, reinterpret_cast( &display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXT" ); + Result result_ = static_cast( + d.vkGetDrmDisplayEXT( static_cast( m_physicalDevice ), drmFd, connectorId, reinterpret_cast( &display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXT" ); - return detail::createResultValueType( result, std::move( display ) ); + return detail::createResultValueType( result_, std::move( display ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getDrmDisplayEXTUnique( int32_t drmFd, uint32_t connectorId, Dispatch const & d ) const { @@ -22901,10 +30119,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayKHR display; - Result result = static_cast( d.vkGetDrmDisplayEXT( m_physicalDevice, drmFd, connectorId, reinterpret_cast( &display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXTUnique" ); + Result result_ = static_cast( + d.vkGetDrmDisplayEXT( static_cast( m_physicalDevice ), drmFd, connectorId, reinterpret_cast( &display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXTUnique" ); - return detail::createResultValueType( result, UniqueHandle( display, detail::ObjectRelease( *this, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( display, detail::ObjectRelease( *this, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -22912,7 +30131,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_private_data === // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlotEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPrivateDataSlotEXT( PrivateDataSlotCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PrivateDataSlot * pPrivateDataSlot, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -22926,7 +30150,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlotEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createPrivateDataSlotEXT( PrivateDataSlotCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -22936,18 +30165,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PrivateDataSlot privateDataSlot; - Result result = static_cast( d.vkCreatePrivateDataSlotEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &privateDataSlot ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" ); + Result result_ = static_cast( d.vkCreatePrivateDataSlotEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &privateDataSlot ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" ); - return detail::createResultValueType( result, std::move( privateDataSlot ) ); + return detail::createResultValueType( result_, std::move( privateDataSlot ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlotEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createPrivateDataSlotEXTUnique( PrivateDataSlotCreateInfo const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -22957,20 +30191,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PrivateDataSlot privateDataSlot; - Result result = static_cast( d.vkCreatePrivateDataSlotEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &privateDataSlot ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXTUnique" ); + Result result_ = static_cast( d.vkCreatePrivateDataSlotEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &privateDataSlot ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPrivateDataSlotEXTUnique" ); return detail::createResultValueType( - result, UniqueHandle( privateDataSlot, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( privateDataSlot, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlotEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT( PrivateDataSlot privateDataSlot, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22981,7 +30220,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlotEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT( PrivateDataSlot privateDataSlot, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -22990,14 +30234,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPrivateDataSlotEXT && "Function requires or " ); # endif - d.vkDestroyPrivateDataSlotEXT( - m_device, static_cast( privateDataSlot ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPrivateDataSlotEXT( static_cast( m_device ), + static_cast( privateDataSlot ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetPrivateDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setPrivateDataEXT( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, uint64_t data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23007,7 +30257,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #else // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetPrivateDataEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setPrivateDataEXT( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, uint64_t data, Dispatch const & d ) const { @@ -23016,16 +30271,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetPrivateDataEXT && "Function requires or " ); # endif - Result result = static_cast( - d.vkSetPrivateDataEXT( m_device, static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); + Result result_ = static_cast( d.vkSetPrivateDataEXT( + static_cast( m_device ), static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPrivateDataEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getPrivateDataEXT( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, uint64_t * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23036,7 +30296,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPrivateDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateDataEXT( ObjectType objectType_, uint64_t objectHandle, PrivateDataSlot privateDataSlot, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23046,7 +30311,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif uint64_t data; - d.vkGetPrivateDataEXT( m_device, static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), &data ); + d.vkGetPrivateDataEXT( + static_cast( m_device ), static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), &data ); return data; } @@ -23056,7 +30322,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( PhysicalDeviceVideoEncodeQualityLevelInfoKHR const * pQualityLevelInfo, VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -23071,7 +30342,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( PhysicalDeviceVideoEncodeQualityLevelInfoKHR const & qualityLevelInfo, Dispatch const & d ) const { @@ -23082,22 +30358,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif VideoEncodeQualityLevelPropertiesKHR qualityLevelProperties; - Result result = static_cast( - d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( m_physicalDevice, + Result result_ = static_cast( + d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &qualityLevelInfo ), reinterpret_cast( &qualityLevelProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); - return detail::createResultValueType( result, std::move( qualityLevelProperties ) ); + return detail::createResultValueType( result_, std::move( qualityLevelProperties ) ); } // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( PhysicalDeviceVideoEncodeQualityLevelInfoKHR const & qualityLevelInfo, Dispatch const & d ) const { @@ -23109,19 +30390,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; VideoEncodeQualityLevelPropertiesKHR & qualityLevelProperties = structureChain.template get(); - Result result = static_cast( - d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( m_physicalDevice, + Result result_ = static_cast( + d.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &qualityLevelInfo ), reinterpret_cast( &qualityLevelProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const * pVideoSessionParametersInfo, VideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo, @@ -23141,10 +30427,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>>::type Device::getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Dispatch const & d ) const @@ -23158,37 +30449,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first; std::vector & data = data_.second; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>>::type Device::getEncodedVideoSessionParametersKHR( @@ -23204,33 +30500,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first; std::vector & data = data_.second; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, std::vector>>::type Device::getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Dispatch const & d ) const { @@ -23250,33 +30551,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first.template get(); std::vector & data = data_.second; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, std::vector>>::type Device::getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const @@ -23298,34 +30604,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first.template get(); std::vector & data = data_.second; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( - d.vkGetEncodedVideoSessionParametersKHR( m_device, + result_ = static_cast( + d.vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEncodeVideoKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::encodeVideoKHR( VideoEncodeInfoKHR const * pEncodeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23334,7 +30645,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEncodeVideoKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::encodeVideoKHR( VideoEncodeInfoKHR const & encodeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23342,14 +30658,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEncodeVideoKHR && "Function requires " ); # endif - d.vkCmdEncodeVideoKHR( m_commandBuffer, reinterpret_cast( &encodeInfo ) ); + d.vkCmdEncodeVideoKHR( static_cast( m_commandBuffer ), reinterpret_cast( &encodeInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_QCOM_queue_perf_hint === // wrapper function for command vkQueueSetPerfHintQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerfHintQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueSetPerfHintQCOM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::setPerfHintQCOM( PerfHintInfoQCOM const * pPerfHintInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23358,7 +30679,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSetPerfHintQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerfHintQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueSetPerfHintQCOM ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::setPerfHintQCOM( PerfHintInfoQCOM const & perfHintInfo, Dispatch const & d ) const { @@ -23367,10 +30693,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueSetPerfHintQCOM && "Function requires " ); # endif - Result result = static_cast( d.vkQueueSetPerfHintQCOM( m_queue, reinterpret_cast( &perfHintInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerfHintQCOM" ); + Result result_ = + static_cast( d.vkQueueSetPerfHintQCOM( static_cast( m_queue ), reinterpret_cast( &perfHintInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerfHintQCOM" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -23378,7 +30705,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_cuda_kernel_launch === // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCudaModuleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCudaModuleNV( CudaModuleCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, CudaModuleNV * pModule, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23391,7 +30723,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCudaModuleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createCudaModuleNV( CudaModuleCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -23401,18 +30738,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CudaModuleNV module; - Result result = static_cast( d.vkCreateCudaModuleNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &module ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaModuleNV" ); + Result result_ = static_cast( d.vkCreateCudaModuleNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &module ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaModuleNV" ); - return detail::createResultValueType( result, std::move( module ) ); + return detail::createResultValueType( result_, std::move( module ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCudaModuleNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createCudaModuleNVUnique( CudaModuleCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -23422,20 +30764,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CudaModuleNV module; - Result result = static_cast( d.vkCreateCudaModuleNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &module ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaModuleNVUnique" ); + Result result_ = static_cast( d.vkCreateCudaModuleNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &module ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaModuleNVUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( module, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetCudaModuleCacheNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getCudaModuleCacheNV( CudaModuleNV module, size_t * pCacheSize, void * pCacheData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23445,10 +30792,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetCudaModuleCacheNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getCudaModuleCacheNV( CudaModuleNV module, Dispatch const & d ) const { @@ -23459,31 +30811,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector cacheData; size_t cacheSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetCudaModuleCacheNV( m_device, static_cast( module ), &cacheSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && cacheSize ) + result_ = + static_cast( d.vkGetCudaModuleCacheNV( static_cast( m_device ), static_cast( module ), &cacheSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && cacheSize ) { cacheData.resize( cacheSize ); - result = static_cast( - d.vkGetCudaModuleCacheNV( m_device, static_cast( module ), &cacheSize, reinterpret_cast( cacheData.data() ) ) ); + result_ = static_cast( d.vkGetCudaModuleCacheNV( + static_cast( m_device ), static_cast( module ), &cacheSize, reinterpret_cast( cacheData.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCudaModuleCacheNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCudaModuleCacheNV" ); VULKAN_HPP_ASSERT( cacheSize <= cacheData.size() ); if ( cacheSize < cacheData.size() ) { cacheData.resize( cacheSize ); } - return detail::createResultValueType( result, std::move( cacheData ) ); + return detail::createResultValueType( result_, std::move( cacheData ) ); } // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetCudaModuleCacheNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getCudaModuleCacheNV( CudaModuleNV module, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const { @@ -23494,29 +30852,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector cacheData( uint8_tAllocator ); size_t cacheSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetCudaModuleCacheNV( m_device, static_cast( module ), &cacheSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && cacheSize ) + result_ = + static_cast( d.vkGetCudaModuleCacheNV( static_cast( m_device ), static_cast( module ), &cacheSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && cacheSize ) { cacheData.resize( cacheSize ); - result = static_cast( - d.vkGetCudaModuleCacheNV( m_device, static_cast( module ), &cacheSize, reinterpret_cast( cacheData.data() ) ) ); + result_ = static_cast( d.vkGetCudaModuleCacheNV( + static_cast( m_device ), static_cast( module ), &cacheSize, reinterpret_cast( cacheData.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCudaModuleCacheNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCudaModuleCacheNV" ); VULKAN_HPP_ASSERT( cacheSize <= cacheData.size() ); if ( cacheSize < cacheData.size() ) { cacheData.resize( cacheSize ); } - return detail::createResultValueType( result, std::move( cacheData ) ); + return detail::createResultValueType( result_, std::move( cacheData ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCudaFunctionNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createCudaFunctionNV( CudaFunctionCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, CudaFunctionNV * pFunction, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -23530,7 +30894,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCudaFunctionNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createCudaFunctionNV( CudaFunctionCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -23540,18 +30909,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CudaFunctionNV function; - Result result = static_cast( d.vkCreateCudaFunctionNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &function ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaFunctionNV" ); + Result result_ = static_cast( d.vkCreateCudaFunctionNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &function ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaFunctionNV" ); - return detail::createResultValueType( result, std::move( function ) ); + return detail::createResultValueType( result_, std::move( function ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateCudaFunctionNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createCudaFunctionNVUnique( CudaFunctionCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -23561,20 +30935,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif CudaFunctionNV function; - Result result = static_cast( d.vkCreateCudaFunctionNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &function ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaFunctionNVUnique" ); + Result result_ = static_cast( d.vkCreateCudaFunctionNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &function ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createCudaFunctionNVUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( function, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCudaModuleNV( CudaModuleNV module, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23585,7 +30964,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCudaModuleNV( CudaModuleNV module, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23594,12 +30978,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCudaModuleNV && "Function requires " ); # endif - d.vkDestroyCudaModuleNV( m_device, static_cast( module ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCudaModuleNV( + static_cast( m_device ), static_cast( module ), reinterpret_cast( allocator.get() ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CudaModuleNV module, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23609,7 +30999,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CudaModuleNV module, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23617,12 +31012,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCudaModuleNV && "Function requires " ); # endif - d.vkDestroyCudaModuleNV( m_device, static_cast( module ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCudaModuleNV( + static_cast( m_device ), static_cast( module ), reinterpret_cast( allocator.get() ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCudaFunctionNV( CudaFunctionNV function, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23633,7 +31034,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyCudaFunctionNV( CudaFunctionNV function, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23642,12 +31048,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCudaFunctionNV && "Function requires " ); # endif - d.vkDestroyCudaFunctionNV( m_device, static_cast( function ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCudaFunctionNV( + static_cast( m_device ), static_cast( function ), reinterpret_cast( allocator.get() ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CudaFunctionNV function, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23657,7 +31069,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( CudaFunctionNV function, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23665,12 +31082,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyCudaFunctionNV && "Function requires " ); # endif - d.vkDestroyCudaFunctionNV( m_device, static_cast( function ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyCudaFunctionNV( + static_cast( m_device ), static_cast( function ), reinterpret_cast( allocator.get() ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCudaLaunchKernelNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::cudaLaunchKernelNV( CudaLaunchInfoNV const * pLaunchInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23679,7 +31102,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCudaLaunchKernelNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::cudaLaunchKernelNV( CudaLaunchInfoNV const & launchInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23687,7 +31115,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCudaLaunchKernelNV && "Function requires " ); # endif - d.vkCmdCudaLaunchKernelNV( m_commandBuffer, reinterpret_cast( &launchInfo ) ); + d.vkCmdCudaLaunchKernelNV( static_cast( m_commandBuffer ), reinterpret_cast( &launchInfo ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -23695,7 +31123,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QCOM_tile_shading === // wrapper function for command vkCmdDispatchTileQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchTileQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchTileQCOM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatchTileQCOM( DispatchTileInfoQCOM const * pDispatchTileInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23704,7 +31137,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchTileQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchTileQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchTileQCOM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchTileQCOM( DispatchTileInfoQCOM const & dispatchTileInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23712,13 +31150,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDispatchTileQCOM && "Function requires " ); # endif - d.vkCmdDispatchTileQCOM( m_commandBuffer, reinterpret_cast( &dispatchTileInfo ) ); + d.vkCmdDispatchTileQCOM( static_cast( m_commandBuffer ), reinterpret_cast( &dispatchTileInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginPerTileExecutionQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginPerTileExecutionQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginPerTileExecutionQCOM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginPerTileExecutionQCOM( PerTileBeginInfoQCOM const * pPerTileBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23729,7 +31172,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginPerTileExecutionQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginPerTileExecutionQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginPerTileExecutionQCOM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginPerTileExecutionQCOM( PerTileBeginInfoQCOM const & perTileBeginInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23737,12 +31185,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginPerTileExecutionQCOM && "Function requires " ); # endif - d.vkCmdBeginPerTileExecutionQCOM( m_commandBuffer, reinterpret_cast( &perTileBeginInfo ) ); + d.vkCmdBeginPerTileExecutionQCOM( static_cast( m_commandBuffer ), reinterpret_cast( &perTileBeginInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndPerTileExecutionQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndPerTileExecutionQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndPerTileExecutionQCOM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endPerTileExecutionQCOM( PerTileEndInfoQCOM const * pPerTileEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23751,7 +31204,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndPerTileExecutionQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndPerTileExecutionQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndPerTileExecutionQCOM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endPerTileExecutionQCOM( PerTileEndInfoQCOM const & perTileEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23759,15 +31217,162 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndPerTileExecutionQCOM && "Function requires " ); # endif - d.vkCmdEndPerTileExecutionQCOM( m_commandBuffer, reinterpret_cast( &perTileEndInfo ) ); + d.vkCmdEndPerTileExecutionQCOM( static_cast( m_commandBuffer ), reinterpret_cast( &perTileEndInfo ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + //=== VK_NV_low_latency === + + // wrapper function for command vkSetLatencySleepModeLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkSetLatencySleepModeLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Device::setLatencySleepModeLegacyNV( Bool32 lowLatencyMode, Bool32 lowLatencyBoost, uint32_t minimumIntervalUs, Dispatch const & d ) + const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkSetLatencySleepModeLegacyNV( + static_cast( m_device ), static_cast( lowLatencyMode ), static_cast( lowLatencyBoost ), minimumIntervalUs ); + } + + // wrapper function for command vkLatencySleepLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkLatencySleepLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Device::latencySleepLegacyNV( Semaphore signalSemaphore, uint64_t value, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkLatencySleepLegacyNV( static_cast( m_device ), static_cast( signalSemaphore ), value ); + } + + // wrapper function for command vkSetLatencyMarkerLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkSetLatencyMarkerLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Device::setLatencyMarkerLegacyNV( uint64_t frameID, uint32_t marker, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkSetLatencyMarkerLegacyNV( static_cast( m_device ), frameID, marker ); + } + + // wrapper function for command vkGetLatencyTimingsLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkGetLatencyTimingsLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Device::getLatencyTimingsLegacyNV( void * pTimings, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkGetLatencyTimingsLegacyNV( static_cast( m_device ), pTimings ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetLatencyTimingsLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsLegacyNV.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkGetLatencyTimingsLegacyNV ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE TimingsType Device::getLatencyTimingsLegacyNV( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetLatencyTimingsLegacyNV && "Function requires " ); +# endif + + TimingsType timings; + d.vkGetLatencyTimingsLegacyNV( static_cast( m_device ), &timings ); + + return timings; + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkQueueNotifyOutOfBandLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueNotifyOutOfBandLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Queue::notifyOutOfBandLegacyNV( uint32_t queueType, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkQueueNotifyOutOfBandLegacyNV( static_cast( m_queue ), queueType ); + } + + // wrapper function for command vkGetSleepStatusLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSleepStatusLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSleepStatusLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Device::getSleepStatusLegacyNV( Bool32 * pLowLatencyMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkGetSleepStatusLegacyNV( static_cast( m_device ), reinterpret_cast( pLowLatencyMode ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetSleepStatusLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSleepStatusLegacyNV.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSleepStatusLegacyNV ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 Device::getSleepStatusLegacyNV( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetSleepStatusLegacyNV && "Function requires " ); +# endif + + Bool32 lowLatencyMode; + d.vkGetSleepStatusLegacyNV( static_cast( m_device ), reinterpret_cast( &lowLatencyMode ) ); + + return lowLatencyMode; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + // wrapper function for command vkShutdownLatencyDeviceLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkShutdownLatencyDeviceLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkShutdownLatencyDeviceLegacyNV ) ) +#endif + VULKAN_HPP_INLINE void Device::shutdownLatencyLegacyNV( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + d.vkShutdownLatencyDeviceLegacyNV( static_cast( m_device ) ); + } + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkExportMetalObjectsEXT ) ) +# endif VULKAN_HPP_INLINE void Device::exportMetalObjectsEXT( ExportMetalObjectsInfoEXT * pMetalObjectsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23776,7 +31381,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkExportMetalObjectsEXT ) ) +# endif VULKAN_HPP_INLINE void Device::exportMetalObjectsEXT( ExportMetalObjectsInfoEXT & metalObjectsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23784,7 +31394,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkExportMetalObjectsEXT && "Function requires " ); # endif - d.vkExportMetalObjectsEXT( m_device, reinterpret_cast( &metalObjectsInfo ) ); + d.vkExportMetalObjectsEXT( static_cast( m_device ), reinterpret_cast( &metalObjectsInfo ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_METAL_EXT*/ @@ -23792,7 +31402,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_synchronization2 === // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetEvent2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR( Event event, DependencyInfo const * pDependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23802,7 +31417,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetEvent2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR( Event event, DependencyInfo const & dependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23810,12 +31430,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetEvent2KHR && "Function requires or " ); # endif - d.vkCmdSetEvent2KHR( m_commandBuffer, static_cast( event ), reinterpret_cast( &dependencyInfo ) ); + d.vkCmdSetEvent2KHR( + static_cast( m_commandBuffer ), static_cast( event ), reinterpret_cast( &dependencyInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResetEvent2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resetEvent2KHR( Event event, PipelineStageFlags2 stageMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23823,7 +31449,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR( uint32_t eventCount, Event const * pEvents, DependencyInfo const * pDependencyInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23836,7 +31467,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR( ArrayProxy const & events, ArrayProxy const & dependencyInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS @@ -23854,7 +31490,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdWaitEvents2KHR( m_commandBuffer, + d.vkCmdWaitEvents2KHR( static_cast( m_commandBuffer ), events.size(), reinterpret_cast( events.data() ), reinterpret_cast( dependencyInfos.data() ) ); @@ -23862,7 +31498,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR( DependencyInfo const * pDependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23871,7 +31512,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR( DependencyInfo const & dependencyInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -23879,12 +31525,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPipelineBarrier2KHR && "Function requires or " ); # endif - d.vkCmdPipelineBarrier2KHR( m_commandBuffer, reinterpret_cast( &dependencyInfo ) ); + d.vkCmdPipelineBarrier2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &dependencyInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteTimestamp2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteTimestamp2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2KHR( PipelineStageFlags2 stage, QueryPool queryPool, uint32_t query, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23894,7 +31545,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueSubmit2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Queue::submit2KHR( uint32_t submitCount, SubmitInfo2 const * pSubmits, Fence fence, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23905,7 +31561,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueSubmit2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Queue::submit2KHR( ArrayProxy const & submits, Fence fence, Dispatch const & d ) const { @@ -23914,11 +31575,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueSubmit2KHR && "Function requires or " ); # endif - Result result = static_cast( - d.vkQueueSubmit2KHR( m_queue, submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2KHR" ); + Result result_ = static_cast( d.vkQueueSubmit2KHR( + static_cast( m_queue ), submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2KHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -23926,7 +31587,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSizeEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSizeEXT( DescriptorSetLayout layout, DeviceSize * pLayoutSizeInBytes, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23938,7 +31604,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSizeEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize Device::getDescriptorSetLayoutSizeEXT( DescriptorSetLayout layout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23948,7 +31619,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceSize layoutSizeInBytes; - d.vkGetDescriptorSetLayoutSizeEXT( m_device, static_cast( layout ), reinterpret_cast( &layoutSizeInBytes ) ); + d.vkGetDescriptorSetLayoutSizeEXT( + static_cast( m_device ), static_cast( layout ), reinterpret_cast( &layoutSizeInBytes ) ); return layoutSizeInBytes; } @@ -23956,7 +31628,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutBindingOffsetEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutBindingOffsetEXT( DescriptorSetLayout layout, uint32_t binding, DeviceSize * pOffset, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23968,7 +31645,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutBindingOffsetEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DeviceSize Device::getDescriptorSetLayoutBindingOffsetEXT( DescriptorSetLayout layout, uint32_t binding, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23979,14 +31661,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DeviceSize offset; - d.vkGetDescriptorSetLayoutBindingOffsetEXT( m_device, static_cast( layout ), binding, reinterpret_cast( &offset ) ); + d.vkGetDescriptorSetLayoutBindingOffsetEXT( + static_cast( m_device ), static_cast( layout ), binding, reinterpret_cast( &offset ) ); return offset; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorEXT( DescriptorGetInfoEXT const * pDescriptorInfo, size_t dataSize, void * pDescriptor, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -23996,7 +31684,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorEXT ) ) +# endif VULKAN_HPP_INLINE void Device::getDescriptorEXT( DescriptorGetInfoEXT const & descriptorInfo, size_t dataSize, void * pDescriptor, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24005,11 +31698,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkGetDescriptorEXT && "Function requires " ); # endif - d.vkGetDescriptorEXT( m_device, reinterpret_cast( &descriptorInfo ), dataSize, pDescriptor ); + d.vkGetDescriptorEXT( static_cast( m_device ), reinterpret_cast( &descriptorInfo ), dataSize, pDescriptor ); } // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorType Device::getDescriptorEXT( DescriptorGetInfoEXT const & descriptorInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24019,8 +31717,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorType descriptor; - d.vkGetDescriptorEXT( - m_device, reinterpret_cast( &descriptorInfo ), sizeof( DescriptorType ), reinterpret_cast( &descriptor ) ); + d.vkGetDescriptorEXT( static_cast( m_device ), + reinterpret_cast( &descriptorInfo ), + sizeof( DescriptorType ), + reinterpret_cast( &descriptor ) ); return descriptor; } @@ -24028,7 +31728,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindDescriptorBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBuffersEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBuffersEXT( uint32_t bufferCount, DescriptorBufferBindingInfoEXT const * pBindingInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24040,7 +31745,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBuffersEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBuffersEXT( ArrayProxy const & bindingInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24049,13 +31759,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorBuffersEXT && "Function requires " ); # endif - d.vkCmdBindDescriptorBuffersEXT( m_commandBuffer, bindingInfos.size(), reinterpret_cast( bindingInfos.data() ) ); + d.vkCmdBindDescriptorBuffersEXT( + static_cast( m_commandBuffer ), bindingInfos.size(), reinterpret_cast( bindingInfos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsetsEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -24077,7 +31793,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsetsEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -24098,7 +31819,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdSetDescriptorBufferOffsetsEXT( m_commandBuffer, + d.vkCmdSetDescriptorBufferOffsetsEXT( static_cast( m_commandBuffer ), static_cast( pipelineBindPoint ), static_cast( layout ), firstSet, @@ -24110,7 +31831,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBufferEmbeddedSamplersEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplersEXT( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24121,7 +31847,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getBufferOpaqueCaptureDescriptorDataEXT( BufferCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24133,7 +31864,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getBufferOpaqueCaptureDescriptorDataEXT( BufferCaptureDescriptorDataInfoEXT const & info, Dispatch const & d ) const { @@ -24144,17 +31880,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( - d.vkGetBufferOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" ); + Result result_ = static_cast( d.vkGetBufferOpaqueCaptureDescriptorDataEXT( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageOpaqueCaptureDescriptorDataEXT( ImageCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24166,7 +31907,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getImageOpaqueCaptureDescriptorDataEXT( ImageCaptureDescriptorDataInfoEXT const & info, Dispatch const & d ) const { @@ -24177,17 +31923,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( - d.vkGetImageOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" ); + Result result_ = static_cast( d.vkGetImageOpaqueCaptureDescriptorDataEXT( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageViewOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageViewOpaqueCaptureDescriptorDataEXT( ImageViewCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24199,7 +31950,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageViewOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getImageViewOpaqueCaptureDescriptorDataEXT( ImageViewCaptureDescriptorDataInfoEXT const & info, Dispatch const & d ) const { @@ -24210,17 +31966,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( - d.vkGetImageViewOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" ); + Result result_ = static_cast( d.vkGetImageViewOpaqueCaptureDescriptorDataEXT( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetSamplerOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSamplerOpaqueCaptureDescriptorDataEXT( SamplerCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24232,7 +31993,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSamplerOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSamplerOpaqueCaptureDescriptorDataEXT( SamplerCaptureDescriptorDataInfoEXT const & info, Dispatch const & d ) const { @@ -24243,17 +32009,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( - d.vkGetSamplerOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" ); + Result result_ = static_cast( d.vkGetSamplerOpaqueCaptureDescriptorDataEXT( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT( AccelerationStructureCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24265,9 +32036,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT( AccelerationStructureCaptureDescriptorDataInfoEXT const & info, Dispatch const & d ) const { @@ -24278,18 +32054,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( - m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); + Result result_ = static_cast( d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_device_address_commands === // wrapper function for command vkCmdBindIndexBuffer3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer3KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer3KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer3KHR( BindIndexBuffer3InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24298,7 +32079,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindIndexBuffer3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer3KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer3KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer3KHR( BindIndexBuffer3InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24306,12 +32092,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindIndexBuffer3KHR && "Function requires " ); # endif - d.vkCmdBindIndexBuffer3KHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdBindIndexBuffer3KHR( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindVertexBuffers3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers3KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers3KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers3KHR( uint32_t firstBinding, uint32_t bindingCount, BindVertexBuffer3InfoKHR const * pBindingInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24322,7 +32113,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers3KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers3KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers3KHR( uint32_t firstBinding, ArrayProxy const & bindingInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24331,13 +32127,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindVertexBuffers3KHR && "Function requires " ); # endif - d.vkCmdBindVertexBuffers3KHR( - m_commandBuffer, firstBinding, bindingInfos.size(), reinterpret_cast( bindingInfos.data() ) ); + d.vkCmdBindVertexBuffers3KHR( static_cast( m_commandBuffer ), + firstBinding, + bindingInfos.size(), + reinterpret_cast( bindingInfos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirect2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirect2KHR( DrawIndirect2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24346,7 +32149,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndirect2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirect2KHR( DrawIndirect2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24354,12 +32162,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawIndirect2KHR && "Function requires " ); # endif - d.vkCmdDrawIndirect2KHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDrawIndirect2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndexedIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirect2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect2KHR( DrawIndirect2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24368,7 +32181,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndexedIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirect2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect2KHR( DrawIndirect2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24376,12 +32194,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawIndexedIndirect2KHR && "Function requires " ); # endif - d.vkCmdDrawIndexedIndirect2KHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDrawIndexedIndirect2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDispatchIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchIndirect2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect2KHR( DispatchIndirect2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24390,7 +32213,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchIndirect2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect2KHR( DispatchIndirect2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24398,12 +32226,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDispatchIndirect2KHR && "Function requires " ); # endif - d.vkCmdDispatchIndirect2KHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDispatchIndirect2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryKHR( CopyDeviceMemoryInfoKHR const * pCopyMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24412,7 +32245,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryKHR( Optional copyMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24420,12 +32258,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryKHR && "Function requires " ); # endif - d.vkCmdCopyMemoryKHR( m_commandBuffer, reinterpret_cast( copyMemoryInfo.get() ) ); + d.vkCmdCopyMemoryKHR( static_cast( m_commandBuffer ), reinterpret_cast( copyMemoryInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageKHR( CopyDeviceMemoryImageInfoKHR const * pCopyMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24435,7 +32278,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageKHR( Optional copyMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24444,12 +32292,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToImageKHR && "Function requires " ); # endif - d.vkCmdCopyMemoryToImageKHR( m_commandBuffer, reinterpret_cast( copyMemoryInfo.get() ) ); + d.vkCmdCopyMemoryToImageKHR( static_cast( m_commandBuffer ), + reinterpret_cast( copyMemoryInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToMemoryKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToMemoryKHR( CopyDeviceMemoryImageInfoKHR const * pCopyMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24459,7 +32313,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToMemoryKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToMemoryKHR( Optional copyMemoryInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24468,12 +32327,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImageToMemoryKHR && "Function requires " ); # endif - d.vkCmdCopyImageToMemoryKHR( m_commandBuffer, reinterpret_cast( copyMemoryInfo.get() ) ); + d.vkCmdCopyImageToMemoryKHR( static_cast( m_commandBuffer ), + reinterpret_cast( copyMemoryInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdUpdateMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdUpdateMemoryKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::updateMemoryKHR( DeviceAddressRangeKHR const * pDstRange, AddressCommandFlagsKHR dstFlags, DeviceSize dataSize, void const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -24488,7 +32353,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdUpdateMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdUpdateMemoryKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::updateMemoryKHR( DeviceAddressRangeKHR const & dstRange, AddressCommandFlagsKHR dstFlags, ArrayProxy const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -24498,7 +32368,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdUpdateMemoryKHR && "Function requires " ); # endif - d.vkCmdUpdateMemoryKHR( m_commandBuffer, + d.vkCmdUpdateMemoryKHR( static_cast( m_commandBuffer ), reinterpret_cast( &dstRange ), static_cast( dstFlags ), data.size() * sizeof( DataType ), @@ -24507,7 +32377,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdFillMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdFillMemoryKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::fillMemoryKHR( DeviceAddressRangeKHR const * pDstRange, AddressCommandFlagsKHR dstFlags, uint32_t data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24520,7 +32395,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdFillMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdFillMemoryKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::fillMemoryKHR( DeviceAddressRangeKHR const & dstRange, AddressCommandFlagsKHR dstFlags, uint32_t data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24529,14 +32409,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdFillMemoryKHR && "Function requires " ); # endif - d.vkCmdFillMemoryKHR( - m_commandBuffer, reinterpret_cast( &dstRange ), static_cast( dstFlags ), data ); + d.vkCmdFillMemoryKHR( static_cast( m_commandBuffer ), + reinterpret_cast( &dstRange ), + static_cast( dstFlags ), + data ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyQueryPoolResultsToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResultsToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyQueryPoolResultsToMemoryKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResultsToMemoryKHR( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -24558,7 +32445,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyQueryPoolResultsToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResultsToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyQueryPoolResultsToMemoryKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResultsToMemoryKHR( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -24572,7 +32464,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyQueryPoolResultsToMemoryKHR && "Function requires " ); # endif - d.vkCmdCopyQueryPoolResultsToMemoryKHR( m_commandBuffer, + d.vkCmdCopyQueryPoolResultsToMemoryKHR( static_cast( m_commandBuffer ), static_cast( queryPool ), firstQuery, queryCount, @@ -24583,7 +32475,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndirectCount2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCount2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount2KHR( DrawIndirectCount2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24592,7 +32489,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndirectCount2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCount2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount2KHR( DrawIndirectCount2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24600,13 +32502,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawIndirectCount2KHR && "Function requires " ); # endif - d.vkCmdDrawIndirectCount2KHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDrawIndirectCount2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndexedIndirectCount2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCount2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount2KHR( DrawIndirectCount2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24616,7 +32523,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndexedIndirectCount2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCount2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount2KHR( DrawIndirectCount2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24624,13 +32536,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawIndexedIndirectCount2KHR && "Function requires " ); # endif - d.vkCmdDrawIndexedIndirectCount2KHR( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDrawIndexedIndirectCount2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginConditionalRendering2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRendering2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRendering2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRendering2EXT( ConditionalRenderingBeginInfo2EXT const * pConditionalRenderingBegin, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24642,7 +32559,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginConditionalRendering2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRendering2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRendering2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRendering2EXT( ConditionalRenderingBeginInfo2EXT const & conditionalRenderingBegin, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24651,13 +32573,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginConditionalRendering2EXT && "Function requires " ); # endif - d.vkCmdBeginConditionalRendering2EXT( m_commandBuffer, reinterpret_cast( &conditionalRenderingBegin ) ); + d.vkCmdBeginConditionalRendering2EXT( static_cast( m_commandBuffer ), + reinterpret_cast( &conditionalRenderingBegin ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindTransformFeedbackBuffers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffers2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffers2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffers2EXT( uint32_t firstBinding, uint32_t bindingCount, BindTransformFeedbackBuffer2InfoEXT const * pBindingInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24671,7 +32599,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindTransformFeedbackBuffers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffers2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffers2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffers2EXT( uint32_t firstBinding, ArrayProxy const & bindingInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24681,14 +32614,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdBindTransformFeedbackBuffers2EXT( - m_commandBuffer, firstBinding, bindingInfos.size(), reinterpret_cast( bindingInfos.data() ) ); + d.vkCmdBindTransformFeedbackBuffers2EXT( static_cast( m_commandBuffer ), + firstBinding, + bindingInfos.size(), + reinterpret_cast( bindingInfos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedback2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedback2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedback2EXT( uint32_t firstCounterRange, uint32_t counterRangeCount, BindTransformFeedbackBuffer2InfoEXT const * pCounterInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -24703,7 +32643,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedback2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedback2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedback2EXT( uint32_t firstCounterRange, ArrayProxy const & counterInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24712,14 +32657,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginTransformFeedback2EXT && "Function requires " ); # endif - d.vkCmdBeginTransformFeedback2EXT( - m_commandBuffer, firstCounterRange, counterInfos.size(), reinterpret_cast( counterInfos.data() ) ); + d.vkCmdBeginTransformFeedback2EXT( static_cast( m_commandBuffer ), + firstCounterRange, + counterInfos.size(), + reinterpret_cast( counterInfos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedback2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedback2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedback2EXT( uint32_t firstCounterRange, uint32_t counterRangeCount, BindTransformFeedbackBuffer2InfoEXT const * pCounterInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -24734,7 +32686,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedback2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedback2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedback2EXT( uint32_t firstCounterRange, ArrayProxy const & counterInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24743,14 +32700,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndTransformFeedback2EXT && "Function requires " ); # endif - d.vkCmdEndTransformFeedback2EXT( - m_commandBuffer, firstCounterRange, counterInfos.size(), reinterpret_cast( counterInfos.data() ) ); + d.vkCmdEndTransformFeedback2EXT( static_cast( m_commandBuffer ), + firstCounterRange, + counterInfos.size(), + reinterpret_cast( counterInfos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndirectByteCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCount2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectByteCount2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCount2EXT( uint32_t instanceCount, uint32_t firstInstance, BindTransformFeedbackBuffer2InfoEXT const * pCounterInfo, @@ -24770,7 +32734,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndirectByteCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCount2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectByteCount2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCount2EXT( uint32_t instanceCount, uint32_t firstInstance, BindTransformFeedbackBuffer2InfoEXT const & counterInfo, @@ -24783,7 +32752,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawIndirectByteCount2EXT && "Function requires " ); # endif - d.vkCmdDrawIndirectByteCount2EXT( m_commandBuffer, + d.vkCmdDrawIndirectByteCount2EXT( static_cast( m_commandBuffer ), instanceCount, firstInstance, reinterpret_cast( &counterInfo ), @@ -24794,7 +32763,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirect2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirect2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirect2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirect2EXT( DrawIndirect2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24804,7 +32778,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMeshTasksIndirect2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirect2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirect2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirect2EXT( DrawIndirect2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24812,13 +32791,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawMeshTasksIndirect2EXT && "Function requires " ); # endif - d.vkCmdDrawMeshTasksIndirect2EXT( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDrawMeshTasksIndirect2EXT( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawMeshTasksIndirectCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCount2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCount2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCount2EXT( DrawIndirectCount2InfoKHR const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24828,7 +32812,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMeshTasksIndirectCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCount2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCount2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCount2EXT( DrawIndirectCount2InfoKHR const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24836,12 +32825,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawMeshTasksIndirectCount2EXT && "Function requires " ); # endif - d.vkCmdDrawMeshTasksIndirectCount2EXT( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdDrawMeshTasksIndirectCount2EXT( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteMarkerToMemoryAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMarkerToMemoryAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteMarkerToMemoryAMD ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeMarkerToMemoryAMD( MemoryMarkerInfoAMD const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24850,7 +32844,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteMarkerToMemoryAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMarkerToMemoryAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWriteMarkerToMemoryAMD ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::writeMarkerToMemoryAMD( MemoryMarkerInfoAMD const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24858,13 +32857,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdWriteMarkerToMemoryAMD && "Function requires " ); # endif - d.vkCmdWriteMarkerToMemoryAMD( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdWriteMarkerToMemoryAMD( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateAccelerationStructure2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructure2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructure2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createAccelerationStructure2KHR( AccelerationStructureCreateInfo2KHR const * pCreateInfo, AllocationCallbacks const * pAllocator, AccelerationStructureKHR * pAccelerationStructure, @@ -24880,7 +32884,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAccelerationStructure2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructure2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructure2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createAccelerationStructure2KHR( AccelerationStructureCreateInfo2KHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -24890,19 +32899,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureKHR accelerationStructure; - Result result = static_cast( d.vkCreateAccelerationStructure2KHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &accelerationStructure ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructure2KHR" ); + Result result_ = static_cast( d.vkCreateAccelerationStructure2KHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &accelerationStructure ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructure2KHR" ); - return detail::createResultValueType( result, std::move( accelerationStructure ) ); + return detail::createResultValueType( result_, std::move( accelerationStructure ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAccelerationStructure2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructure2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructure2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createAccelerationStructure2KHRUnique( AccelerationStructureCreateInfo2KHR const & createInfo, Optional allocator, Dispatch const & d ) const @@ -24913,14 +32927,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureKHR accelerationStructure; - Result result = static_cast( d.vkCreateAccelerationStructure2KHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &accelerationStructure ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructure2KHRUnique" ); + Result result_ = static_cast( d.vkCreateAccelerationStructure2KHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &accelerationStructure ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createAccelerationStructure2KHRUnique" ); return detail::createResultValueType( - result, UniqueHandle( accelerationStructure, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( accelerationStructure, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -24929,7 +32943,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateEnumNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, FragmentShadingRateCombinerOpKHR const combinerOps[2], Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24939,10 +32958,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( combinerOps ) ); } +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateEnumNV ) ) +# endif + VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV( + FragmentShadingRateNV shadingRate, std::array const & combinerOps, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkCmdSetFragmentShadingRateEnumNV && "Function requires " ); +# endif + + d.vkCmdSetFragmentShadingRateEnumNV( static_cast( m_commandBuffer ), + static_cast( shadingRate ), + reinterpret_cast( combinerOps.data() ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_EXT_mesh_shader === // wrapper function for command vkCmdDrawMeshTasksEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24952,7 +32999,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirectEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectEXT( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -24963,7 +33015,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirectCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCountEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountEXT( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -24981,7 +33038,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_copy_commands2 === // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR( CopyBufferInfo2 const * pCopyBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24990,7 +33052,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR( CopyBufferInfo2 const & copyBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -24998,12 +33065,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyBuffer2KHR && "Function requires or " ); # endif - d.vkCmdCopyBuffer2KHR( m_commandBuffer, reinterpret_cast( ©BufferInfo ) ); + d.vkCmdCopyBuffer2KHR( static_cast( m_commandBuffer ), reinterpret_cast( ©BufferInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImage2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR( CopyImageInfo2 const * pCopyImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25012,7 +33084,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImage2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR( CopyImageInfo2 const & copyImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25020,12 +33097,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImage2KHR && "Function requires or " ); # endif - d.vkCmdCopyImage2KHR( m_commandBuffer, reinterpret_cast( ©ImageInfo ) ); + d.vkCmdCopyImage2KHR( static_cast( m_commandBuffer ), reinterpret_cast( ©ImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR( CopyBufferToImageInfo2 const * pCopyBufferToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25036,7 +33118,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage2KHR( CopyBufferToImageInfo2 const & copyBufferToImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25045,12 +33132,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyBufferToImage2KHR && "Function requires or " ); # endif - d.vkCmdCopyBufferToImage2KHR( m_commandBuffer, reinterpret_cast( ©BufferToImageInfo ) ); + d.vkCmdCopyBufferToImage2KHR( static_cast( m_commandBuffer ), + reinterpret_cast( ©BufferToImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR( CopyImageToBufferInfo2 const * pCopyImageToBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25061,7 +33154,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer2KHR( CopyImageToBufferInfo2 const & copyImageToBufferInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25070,12 +33168,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyImageToBuffer2KHR && "Function requires or " ); # endif - d.vkCmdCopyImageToBuffer2KHR( m_commandBuffer, reinterpret_cast( ©ImageToBufferInfo ) ); + d.vkCmdCopyImageToBuffer2KHR( static_cast( m_commandBuffer ), + reinterpret_cast( ©ImageToBufferInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBlitImage2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR( BlitImageInfo2 const * pBlitImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25084,7 +33188,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBlitImage2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR( BlitImageInfo2 const & blitImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25092,12 +33201,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBlitImage2KHR && "Function requires or " ); # endif - d.vkCmdBlitImage2KHR( m_commandBuffer, reinterpret_cast( &blitImageInfo ) ); + d.vkCmdBlitImage2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &blitImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdResolveImage2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR( ResolveImageInfo2 const * pResolveImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25106,7 +33220,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdResolveImage2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR( ResolveImageInfo2 const & resolveImageInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25114,14 +33233,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdResolveImage2KHR && "Function requires or " ); # endif - d.vkCmdResolveImage2KHR( m_commandBuffer, reinterpret_cast( &resolveImageInfo ) ); + d.vkCmdResolveImage2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &resolveImageInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_device_fault === // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceFaultInfoEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, DeviceFaultInfoEXT * pFaultInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25135,7 +33259,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::acquireWinrtDisplayNV( DisplayKHR display, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25143,7 +33272,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # else // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAcquireWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::acquireWinrtDisplayNV( DisplayKHR display, Dispatch const & d ) const { @@ -25152,15 +33286,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkAcquireWinrtDisplayNV && "Function requires " ); # endif - Result result = static_cast( d.vkAcquireWinrtDisplayNV( m_physicalDevice, static_cast( display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireWinrtDisplayNV" ); + Result result_ = + static_cast( d.vkAcquireWinrtDisplayNV( static_cast( m_physicalDevice ), static_cast( display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireWinrtDisplayNV" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getWinrtDisplayNV( uint32_t deviceRelativeId, DisplayKHR * pDisplay, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25171,7 +33311,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getWinrtDisplayNV( uint32_t deviceRelativeId, Dispatch const & d ) const { @@ -25181,15 +33326,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayKHR display; - Result result = static_cast( d.vkGetWinrtDisplayNV( m_physicalDevice, deviceRelativeId, reinterpret_cast( &display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNV" ); + Result result_ = static_cast( + d.vkGetWinrtDisplayNV( static_cast( m_physicalDevice ), deviceRelativeId, reinterpret_cast( &display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNV" ); - return detail::createResultValueType( result, std::move( display ) ); + return detail::createResultValueType( result_, std::move( display ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getWinrtDisplayNVUnique( uint32_t deviceRelativeId, Dispatch const & d ) const { @@ -25199,10 +33350,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DisplayKHR display; - Result result = static_cast( d.vkGetWinrtDisplayNV( m_physicalDevice, deviceRelativeId, reinterpret_cast( &display ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNVUnique" ); + Result result_ = static_cast( + d.vkGetWinrtDisplayNV( static_cast( m_physicalDevice ), deviceRelativeId, reinterpret_cast( &display ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNVUnique" ); - return detail::createResultValueType( result, UniqueHandle( display, detail::ObjectRelease( *this, d ) ) ); + return detail::createResultValueType( result_, UniqueHandle( display, detail::ObjectRelease( *this, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -25212,7 +33364,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_directfb_surface === // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDirectFBSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createDirectFBSurfaceEXT( DirectFBSurfaceCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -25226,7 +33383,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDirectFBSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createDirectFBSurfaceEXT( DirectFBSurfaceCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -25236,18 +33398,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateDirectFBSurfaceEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" ); + Result result_ = static_cast( d.vkCreateDirectFBSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDirectFBSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createDirectFBSurfaceEXTUnique( DirectFBSurfaceCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -25257,13 +33424,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateDirectFBSurfaceEXT( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXTUnique" ); + Result result_ = static_cast( d.vkCreateDirectFBSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXTUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -25271,7 +33438,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDirectFBPresentationSupportEXT ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB * dfb, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25283,7 +33455,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDirectFBPresentationSupportEXT ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25293,9 +33470,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkBool32 result = d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( m_physicalDevice, queueFamilyIndex, &dfb ); + VkBool32 result_ = d.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( static_cast( m_physicalDevice ), queueFamilyIndex, &dfb ); - return static_cast( result ); + return static_cast( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ @@ -25303,7 +33480,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_vertex_input_dynamic_state === // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetVertexInputEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setVertexInputEXT( uint32_t vertexBindingDescriptionCount, VertexInputBindingDescription2EXT const * pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, @@ -25320,7 +33502,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetVertexInputEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setVertexInputEXT( ArrayProxy const & vertexBindingDescriptions, ArrayProxy const & vertexAttributeDescriptions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -25330,7 +33517,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetVertexInputEXT && "Function requires or " ); # endif - d.vkCmdSetVertexInputEXT( m_commandBuffer, + d.vkCmdSetVertexInputEXT( static_cast( m_commandBuffer ), vertexBindingDescriptions.size(), reinterpret_cast( vertexBindingDescriptions.data() ), vertexAttributeDescriptions.size(), @@ -25343,7 +33530,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryZirconHandleFUCHSIA( MemoryGetZirconHandleInfoFUCHSIA const * pGetZirconHandleInfo, zx_handle_t * pZirconHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25355,7 +33547,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryZirconHandleFUCHSIA( MemoryGetZirconHandleInfoFUCHSIA const & getZirconHandleInfo, Dispatch const & d ) const { @@ -25365,17 +33562,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif zx_handle_t zirconHandle; - Result result = static_cast( - d.vkGetMemoryZirconHandleFUCHSIA( m_device, reinterpret_cast( &getZirconHandleInfo ), &zirconHandle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); + Result result_ = static_cast( d.vkGetMemoryZirconHandleFUCHSIA( + static_cast( m_device ), reinterpret_cast( &getZirconHandleInfo ), &zirconHandle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); - return detail::createResultValueType( result, std::move( zirconHandle ) ); + return detail::createResultValueType( result_, std::move( zirconHandle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandlePropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryZirconHandlePropertiesFUCHSIA( ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, MemoryZirconHandlePropertiesFUCHSIA * @@ -25393,7 +33595,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandlePropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryZirconHandlePropertiesFUCHSIA( ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, Dispatch const & d ) const { @@ -25404,14 +33611,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties; - Result result = static_cast( - d.vkGetMemoryZirconHandlePropertiesFUCHSIA( m_device, + Result result_ = static_cast( + d.vkGetMemoryZirconHandlePropertiesFUCHSIA( static_cast( m_device ), static_cast( handleType ), zirconHandle, reinterpret_cast( &memoryZirconHandleProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); - return detail::createResultValueType( result, std::move( memoryZirconHandleProperties ) ); + return detail::createResultValueType( result_, std::move( memoryZirconHandleProperties ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -25421,7 +33628,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::importSemaphoreZirconHandleFUCHSIA( ImportSemaphoreZirconHandleInfoFUCHSIA const * pImportSemaphoreZirconHandleInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25433,7 +33645,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::importSemaphoreZirconHandleFUCHSIA( ImportSemaphoreZirconHandleInfoFUCHSIA const & importSemaphoreZirconHandleInfo, Dispatch const & d ) const { @@ -25442,17 +33659,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkImportSemaphoreZirconHandleFUCHSIA && "Function requires " ); # endif - Result result = static_cast( d.vkImportSemaphoreZirconHandleFUCHSIA( - m_device, reinterpret_cast( &importSemaphoreZirconHandleInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); + Result result_ = static_cast( d.vkImportSemaphoreZirconHandleFUCHSIA( + static_cast( m_device ), reinterpret_cast( &importSemaphoreZirconHandleInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSemaphoreZirconHandleFUCHSIA( SemaphoreGetZirconHandleInfoFUCHSIA const * pGetZirconHandleInfo, zx_handle_t * pZirconHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25464,7 +33686,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSemaphoreZirconHandleFUCHSIA( SemaphoreGetZirconHandleInfoFUCHSIA const & getZirconHandleInfo, Dispatch const & d ) const { @@ -25474,11 +33701,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif zx_handle_t zirconHandle; - Result result = static_cast( - d.vkGetSemaphoreZirconHandleFUCHSIA( m_device, reinterpret_cast( &getZirconHandleInfo ), &zirconHandle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); + Result result_ = static_cast( d.vkGetSemaphoreZirconHandleFUCHSIA( + static_cast( m_device ), reinterpret_cast( &getZirconHandleInfo ), &zirconHandle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); - return detail::createResultValueType( result, std::move( zirconHandle ) ); + return detail::createResultValueType( result_, std::move( zirconHandle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -25488,7 +33715,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBufferCollectionFUCHSIA( BufferCollectionCreateInfoFUCHSIA const * pCreateInfo, AllocationCallbacks const * pAllocator, BufferCollectionFUCHSIA * pCollection, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -25503,7 +33735,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createBufferCollectionFUCHSIA( BufferCollectionCreateInfoFUCHSIA const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -25513,19 +33750,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BufferCollectionFUCHSIA collection; - Result result = static_cast( d.vkCreateBufferCollectionFUCHSIA( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &collection ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" ); + Result result_ = static_cast( d.vkCreateBufferCollectionFUCHSIA( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &collection ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" ); - return detail::createResultValueType( result, std::move( collection ) ); + return detail::createResultValueType( result_, std::move( collection ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createBufferCollectionFUCHSIAUnique( BufferCollectionCreateInfoFUCHSIA const & createInfo, Optional allocator, Dispatch const & d ) const @@ -25536,21 +33778,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BufferCollectionFUCHSIA collection; - Result result = static_cast( d.vkCreateBufferCollectionFUCHSIA( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &collection ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIAUnique" ); + Result result_ = static_cast( d.vkCreateBufferCollectionFUCHSIA( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &collection ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIAUnique" ); return detail::createResultValueType( - result, UniqueHandle( collection, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( collection, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionImageConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setBufferCollectionImageConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, ImageConstraintsInfoFUCHSIA const * pImageConstraintsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25564,7 +33811,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionImageConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setBufferCollectionImageConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, ImageConstraintsInfoFUCHSIA const & imageConstraintsInfo, Dispatch const & d ) const { @@ -25574,17 +33826,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - Result result = static_cast( d.vkSetBufferCollectionImageConstraintsFUCHSIA( - m_device, static_cast( collection ), reinterpret_cast( &imageConstraintsInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionImageConstraintsFUCHSIA" ); + Result result_ = + static_cast( d.vkSetBufferCollectionImageConstraintsFUCHSIA( static_cast( m_device ), + static_cast( collection ), + reinterpret_cast( &imageConstraintsInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionImageConstraintsFUCHSIA" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionBufferConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setBufferCollectionBufferConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, BufferConstraintsInfoFUCHSIA const * pBufferConstraintsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25598,7 +33857,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionBufferConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setBufferCollectionBufferConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, BufferConstraintsInfoFUCHSIA const & bufferConstraintsInfo, Dispatch const & d ) const { @@ -25608,17 +33872,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - Result result = static_cast( d.vkSetBufferCollectionBufferConstraintsFUCHSIA( - m_device, static_cast( collection ), reinterpret_cast( &bufferConstraintsInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionBufferConstraintsFUCHSIA" ); + Result result_ = static_cast( + d.vkSetBufferCollectionBufferConstraintsFUCHSIA( static_cast( m_device ), + static_cast( collection ), + reinterpret_cast( &bufferConstraintsInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionBufferConstraintsFUCHSIA" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_INLINE void Device::destroyBufferCollectionFUCHSIA( BufferCollectionFUCHSIA collection, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25630,7 +33901,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_INLINE void Device::destroyBufferCollectionFUCHSIA( BufferCollectionFUCHSIA collection, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25639,14 +33915,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyBufferCollectionFUCHSIA && "Function requires " ); # endif - d.vkDestroyBufferCollectionFUCHSIA( - m_device, static_cast( collection ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyBufferCollectionFUCHSIA( static_cast( m_device ), + static_cast( collection ), + reinterpret_cast( allocator.get() ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( BufferCollectionFUCHSIA collection, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25658,7 +33940,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( BufferCollectionFUCHSIA collection, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25667,14 +33954,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyBufferCollectionFUCHSIA && "Function requires " ); # endif - d.vkDestroyBufferCollectionFUCHSIA( - m_device, static_cast( collection ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyBufferCollectionFUCHSIA( static_cast( m_device ), + static_cast( collection ), + reinterpret_cast( allocator.get() ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferCollectionPropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getBufferCollectionPropertiesFUCHSIA( BufferCollectionFUCHSIA collection, BufferCollectionPropertiesFUCHSIA * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25687,7 +33980,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetBufferCollectionPropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getBufferCollectionPropertiesFUCHSIA( BufferCollectionFUCHSIA collection, Dispatch const & d ) const { @@ -25698,11 +33996,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BufferCollectionPropertiesFUCHSIA properties; - Result result = static_cast( d.vkGetBufferCollectionPropertiesFUCHSIA( - m_device, static_cast( collection ), reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionPropertiesFUCHSIA" ); + Result result_ = static_cast( d.vkGetBufferCollectionPropertiesFUCHSIA( static_cast( m_device ), + static_cast( collection ), + reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionPropertiesFUCHSIA" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -25711,7 +34010,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSubpassShadingMaxWorkgroupSizeHUAWEI( RenderPass renderpass, Extent2D * pMaxWorkgroupSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25723,7 +34027,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getSubpassShadingMaxWorkgroupSizeHUAWEI( RenderPass renderpass, Dispatch const & d ) const { @@ -25734,16 +34043,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Extent2D maxWorkgroupSize; - Result result = static_cast( d.vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( - m_device, static_cast( renderpass ), reinterpret_cast( &maxWorkgroupSize ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); + Result result_ = static_cast( d.vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + static_cast( m_device ), static_cast( renderpass ), reinterpret_cast( &maxWorkgroupSize ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); - return detail::createResultValueType( result, std::move( maxWorkgroupSize ) ); + return detail::createResultValueType( result_, std::move( maxWorkgroupSize ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSubpassShadingHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSubpassShadingHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSubpassShadingHUAWEI ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::subpassShadingHUAWEI( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25754,7 +34068,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindInvocationMaskHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindInvocationMaskHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindInvocationMaskHUAWEI ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindInvocationMaskHUAWEI( ImageView imageView, ImageLayout imageLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25765,7 +34084,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_external_memory_rdma === // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetMemoryRemoteAddressNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryRemoteAddressNV( MemoryGetRemoteAddressInfoNV const * pMemoryGetRemoteAddressInfo, RemoteAddressNV * pAddress, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25777,7 +34101,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryRemoteAddressNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryRemoteAddressNV( MemoryGetRemoteAddressInfoNV const & memoryGetRemoteAddressInfo, Dispatch const & d ) const { @@ -25787,18 +34116,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif RemoteAddressNV address; - Result result = static_cast( d.vkGetMemoryRemoteAddressNV( - m_device, reinterpret_cast( &memoryGetRemoteAddressInfo ), reinterpret_cast( &address ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); + Result result_ = static_cast( d.vkGetMemoryRemoteAddressNV( static_cast( m_device ), + reinterpret_cast( &memoryGetRemoteAddressInfo ), + reinterpret_cast( &address ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); - return detail::createResultValueType( result, std::move( address ) ); + return detail::createResultValueType( result_, std::move( address ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_pipeline_properties === // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelinePropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelinePropertiesEXT( PipelineInfoKHR const * pPipelineInfo, BaseOutStructure * pPipelineProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25810,7 +34145,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPipelinePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getPipelinePropertiesEXT( PipelineInfoKHR const & pipelineInfo, Dispatch const & d ) const { @@ -25820,11 +34160,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BaseOutStructure pipelineProperties; - Result result = static_cast( d.vkGetPipelinePropertiesEXT( - m_device, reinterpret_cast( &pipelineInfo ), reinterpret_cast( &pipelineProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); + Result result_ = static_cast( d.vkGetPipelinePropertiesEXT( static_cast( m_device ), + reinterpret_cast( &pipelineInfo ), + reinterpret_cast( &pipelineProperties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); - return detail::createResultValueType( result, std::move( pipelineProperties ) ); + return detail::createResultValueType( result_, std::move( pipelineProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -25832,7 +34173,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPatchControlPointsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPatchControlPointsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPatchControlPointsEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPatchControlPointsEXT( uint32_t patchControlPoints, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25841,7 +34187,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRasterizerDiscardEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizerDiscardEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnableEXT( Bool32 rasterizerDiscardEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25849,7 +34200,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthBiasEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBiasEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnableEXT( Bool32 depthBiasEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25857,7 +34213,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetLogicOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLogicOpEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEXT( LogicOp logicOp, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25866,7 +34227,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPrimitiveRestartEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveRestartEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnableEXT( Bool32 primitiveRestartEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -25877,7 +34243,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QNX_screen_surface === // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateScreenSurfaceQNX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createScreenSurfaceQNX( ScreenSurfaceCreateInfoQNX const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -25891,7 +34262,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateScreenSurfaceQNX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createScreenSurfaceQNX( ScreenSurfaceCreateInfoQNX const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -25901,18 +34277,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateScreenSurfaceQNX( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNX" ); + Result result_ = static_cast( d.vkCreateScreenSurfaceQNX( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNX" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateScreenSurfaceQNX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createScreenSurfaceQNXUnique( ScreenSurfaceCreateInfoQNX const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -25922,13 +34303,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateScreenSurfaceQNX( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNXUnique" ); + Result result_ = static_cast( d.vkCreateScreenSurfaceQNX( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createScreenSurfaceQNXUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -25936,7 +34317,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceScreenPresentationSupportQNX ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window * window, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25948,7 +34334,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceScreenPresentationSupportQNX ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window & window, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25958,9 +34349,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkBool32 result = d.vkGetPhysicalDeviceScreenPresentationSupportQNX( m_physicalDevice, queueFamilyIndex, &window ); + VkBool32 result_ = d.vkGetPhysicalDeviceScreenPresentationSupportQNX( static_cast( m_physicalDevice ), queueFamilyIndex, &window ); - return static_cast( result ); + return static_cast( result_ ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ @@ -25968,7 +34359,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_color_write_enable === // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setColorWriteEnableEXT( uint32_t attachmentCount, Bool32 const * pColorWriteEnables, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25978,7 +34374,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteEnableEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setColorWriteEnableEXT( ArrayProxy const & colorWriteEnables, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -25987,14 +34388,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetColorWriteEnableEXT && "Function requires " ); # endif - d.vkCmdSetColorWriteEnableEXT( m_commandBuffer, colorWriteEnables.size(), reinterpret_cast( colorWriteEnables.data() ) ); + d.vkCmdSetColorWriteEnableEXT( + static_cast( m_commandBuffer ), colorWriteEnables.size(), reinterpret_cast( colorWriteEnables.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_ray_tracing_maintenance1 === // wrapper function for command vkCmdTraceRaysIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysIndirect2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirect2KHR( DeviceAddress indirectDeviceAddress, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26004,7 +34411,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_multi_draw === // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMultiEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMultiEXT( uint32_t drawCount, MultiDrawInfoEXT const * pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -26020,7 +34432,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMultiEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawMultiEXT( StridedArrayProxy const & vertexInfo, uint32_t instanceCount, uint32_t firstInstance, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26029,7 +34446,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawMultiEXT && "Function requires " ); # endif - d.vkCmdDrawMultiEXT( m_commandBuffer, + d.vkCmdDrawMultiEXT( static_cast( m_commandBuffer ), vertexInfo.size(), reinterpret_cast( vertexInfo.data() ), instanceCount, @@ -26039,7 +34456,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMultiIndexedEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawMultiIndexedEXT( uint32_t drawCount, MultiDrawIndexedInfoEXT const * pIndexInfo, uint32_t instanceCount, @@ -26060,7 +34482,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMultiIndexedEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::drawMultiIndexedEXT( StridedArrayProxy const & indexInfo, uint32_t instanceCount, uint32_t firstInstance, @@ -26072,7 +34499,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDrawMultiIndexedEXT && "Function requires " ); # endif - d.vkCmdDrawMultiIndexedEXT( m_commandBuffer, + d.vkCmdDrawMultiIndexedEXT( static_cast( m_commandBuffer ), indexInfo.size(), reinterpret_cast( indexInfo.data() ), instanceCount, @@ -26085,7 +34512,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_opacity_micromap === // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateMicromapEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createMicromapEXT( MicromapCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, MicromapEXT * pMicromap, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26098,7 +34530,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createMicromapEXT( MicromapCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -26108,18 +34545,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MicromapEXT micromap; - Result result = static_cast( d.vkCreateMicromapEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( µmap ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createMicromapEXT" ); + Result result_ = static_cast( d.vkCreateMicromapEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( µmap ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createMicromapEXT" ); - return detail::createResultValueType( result, std::move( micromap ) ); + return detail::createResultValueType( result_, std::move( micromap ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createMicromapEXTUnique( MicromapCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -26129,20 +34571,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MicromapEXT micromap; - Result result = static_cast( d.vkCreateMicromapEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( µmap ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createMicromapEXTUnique" ); + Result result_ = static_cast( d.vkCreateMicromapEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( µmap ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createMicromapEXTUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( micromap, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroyMicromapEXT( MicromapEXT micromap, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26153,7 +34600,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroyMicromapEXT( MicromapEXT micromap, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26162,12 +34614,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyMicromapEXT && "Function requires " ); # endif - d.vkDestroyMicromapEXT( m_device, static_cast( micromap ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyMicromapEXT( + static_cast( m_device ), static_cast( micromap ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( MicromapEXT micromap, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26177,7 +34635,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( MicromapEXT micromap, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26185,12 +34648,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyMicromapEXT && "Function requires " ); # endif - d.vkDestroyMicromapEXT( m_device, static_cast( micromap ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyMicromapEXT( + static_cast( m_device ), static_cast( micromap ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBuildMicromapsEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::buildMicromapsEXT( uint32_t infoCount, MicromapBuildInfoEXT const * pInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26200,7 +34669,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBuildMicromapsEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::buildMicromapsEXT( ArrayProxy const & infos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26208,12 +34682,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBuildMicromapsEXT && "Function requires " ); # endif - d.vkCmdBuildMicromapsEXT( m_commandBuffer, infos.size(), reinterpret_cast( infos.data() ) ); + d.vkCmdBuildMicromapsEXT( static_cast( m_commandBuffer ), infos.size(), reinterpret_cast( infos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBuildMicromapsEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::buildMicromapsEXT( DeferredOperationKHR deferredOperation, uint32_t infoCount, MicromapBuildInfoEXT const * pInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26226,7 +34705,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBuildMicromapsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::buildMicromapsEXT( DeferredOperationKHR deferredOperation, ArrayProxy const & infos, Dispatch const & d ) const { @@ -26235,18 +34719,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBuildMicromapsEXT && "Function requires " ); # endif - Result result = static_cast( d.vkBuildMicromapsEXT( - m_device, static_cast( deferredOperation ), infos.size(), reinterpret_cast( infos.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkBuildMicromapsEXT( static_cast( m_device ), + static_cast( deferredOperation ), + infos.size(), + reinterpret_cast( infos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::buildMicromapsEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyMicromapEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapEXT( DeferredOperationKHR deferredOperation, CopyMicromapInfoEXT const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26257,7 +34748,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapEXT( DeferredOperationKHR deferredOperation, CopyMicromapInfoEXT const & info, Dispatch const & d ) const { @@ -26266,17 +34762,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyMicromapEXT && "Function requires " ); # endif - Result result = static_cast( - d.vkCopyMicromapEXT( m_device, static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); + Result result_ = static_cast( d.vkCopyMicromapEXT( + static_cast( m_device ), static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMicromapEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMicromapEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyMicromapToMemoryEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapToMemoryEXT( DeferredOperationKHR deferredOperation, CopyMicromapToMemoryInfoEXT const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26288,7 +34789,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyMicromapToMemoryEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMicromapToMemoryEXT( DeferredOperationKHR deferredOperation, CopyMicromapToMemoryInfoEXT const & info, Dispatch const & d ) const { @@ -26297,18 +34803,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyMicromapToMemoryEXT && "Function requires " ); # endif - Result result = static_cast( d.vkCopyMicromapToMemoryEXT( - m_device, static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCopyMicromapToMemoryEXT( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMicromapToMemoryEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToMicromapEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToMicromapEXT( DeferredOperationKHR deferredOperation, CopyMemoryToMicromapInfoEXT const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26320,7 +34832,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::copyMemoryToMicromapEXT( DeferredOperationKHR deferredOperation, CopyMemoryToMicromapInfoEXT const & info, Dispatch const & d ) const { @@ -26329,19 +34846,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCopyMemoryToMicromapEXT && "Function requires " ); # endif - Result result = static_cast( d.vkCopyMemoryToMicromapEXT( - m_device, static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCopyMemoryToMicromapEXT( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToMicromapEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWriteMicromapsPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::writeMicromapsPropertiesEXT( uint32_t micromapCount, MicromapEXT const * pMicromaps, QueryType queryType, size_t dataSize, void * pData, size_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -26359,11 +34882,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataTypeAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkWriteMicromapsPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::writeMicromapsPropertiesEXT( ArrayProxy const & micromaps, QueryType queryType, size_t dataSize, size_t stride, Dispatch const & d ) const { @@ -26374,21 +34902,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( d.vkWriteMicromapsPropertiesEXT( m_device, - micromaps.size(), - reinterpret_cast( micromaps.data() ), - static_cast( queryType ), - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ), - stride ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeMicromapsPropertiesEXT" ); + Result result_ = static_cast( d.vkWriteMicromapsPropertiesEXT( static_cast( m_device ), + micromaps.size(), + reinterpret_cast( micromaps.data() ), + static_cast( queryType ), + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ), + stride ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::writeMicromapsPropertiesEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWriteMicromapsPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::writeMicromapsPropertyEXT( ArrayProxy const & micromaps, QueryType queryType, size_t stride, Dispatch const & d ) const { @@ -26398,21 +34931,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( d.vkWriteMicromapsPropertiesEXT( m_device, - micromaps.size(), - reinterpret_cast( micromaps.data() ), - static_cast( queryType ), - sizeof( DataType ), - reinterpret_cast( &data ), - stride ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeMicromapsPropertyEXT" ); + Result result_ = static_cast( d.vkWriteMicromapsPropertiesEXT( static_cast( m_device ), + micromaps.size(), + reinterpret_cast( micromaps.data() ), + static_cast( queryType ), + sizeof( DataType ), + reinterpret_cast( &data ), + stride ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::writeMicromapsPropertyEXT" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMicromapEXT( CopyMicromapInfoEXT const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26421,7 +34959,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMicromapEXT( CopyMicromapInfoEXT const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26429,12 +34972,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMicromapEXT && "Function requires " ); # endif - d.vkCmdCopyMicromapEXT( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdCopyMicromapEXT( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapToMemoryEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMicromapToMemoryEXT( CopyMicromapToMemoryInfoEXT const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26443,7 +34991,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapToMemoryEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMicromapToMemoryEXT( CopyMicromapToMemoryInfoEXT const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26451,12 +35004,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMicromapToMemoryEXT && "Function requires " ); # endif - d.vkCmdCopyMicromapToMemoryEXT( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdCopyMicromapToMemoryEXT( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToMicromapEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToMicromapEXT( CopyMemoryToMicromapInfoEXT const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26465,7 +35023,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToMicromapEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToMicromapEXT( CopyMemoryToMicromapInfoEXT const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26473,13 +35036,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToMicromapEXT && "Function requires " ); # endif - d.vkCmdCopyMemoryToMicromapEXT( m_commandBuffer, reinterpret_cast( &info ) ); + d.vkCmdCopyMemoryToMicromapEXT( static_cast( m_commandBuffer ), reinterpret_cast( &info ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdWriteMicromapsPropertiesEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::writeMicromapsPropertiesEXT( uint32_t micromapCount, MicromapEXT const * pMicromaps, QueryType queryType, QueryPool queryPool, uint32_t firstQuery, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -26496,7 +35064,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdWriteMicromapsPropertiesEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::writeMicromapsPropertiesEXT( ArrayProxy const & micromaps, QueryType queryType, QueryPool queryPool, uint32_t firstQuery, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -26506,7 +35079,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdWriteMicromapsPropertiesEXT && "Function requires " ); # endif - d.vkCmdWriteMicromapsPropertiesEXT( m_commandBuffer, + d.vkCmdWriteMicromapsPropertiesEXT( static_cast( m_commandBuffer ), micromaps.size(), reinterpret_cast( micromaps.data() ), static_cast( queryType ), @@ -26517,7 +35090,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMicromapCompatibilityEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getMicromapCompatibilityEXT( MicromapVersionInfoEXT const * pVersionInfo, AccelerationStructureCompatibilityKHR * pCompatibility, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26530,7 +35108,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMicromapCompatibilityEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureCompatibilityKHR Device::getMicromapCompatibilityEXT( MicromapVersionInfoEXT const & versionInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26540,7 +35123,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureCompatibilityKHR compatibility; - d.vkGetDeviceMicromapCompatibilityEXT( m_device, + d.vkGetDeviceMicromapCompatibilityEXT( static_cast( m_device ), reinterpret_cast( &versionInfo ), reinterpret_cast( &compatibility ) ); @@ -26549,7 +35132,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetMicromapBuildSizesEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getMicromapBuildSizesEXT( AccelerationStructureBuildTypeKHR buildType, MicromapBuildInfoEXT const * pBuildInfo, MicromapBuildSizesInfoEXT * pSizeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -26563,7 +35151,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMicromapBuildSizesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MicromapBuildSizesInfoEXT Device::getMicromapBuildSizesEXT( AccelerationStructureBuildTypeKHR buildType, MicromapBuildInfoEXT const & buildInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26573,7 +35166,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MicromapBuildSizesInfoEXT sizeInfo; - d.vkGetMicromapBuildSizesEXT( m_device, + d.vkGetMicromapBuildSizesEXT( static_cast( m_device ), static_cast( buildType ), reinterpret_cast( &buildInfo ), reinterpret_cast( &sizeInfo ) ); @@ -26585,7 +35178,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_HUAWEI_cluster_culling_shader === // wrapper function for command vkCmdDrawClusterHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawClusterHUAWEI ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26595,7 +35193,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawClusterIndirectHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterIndirectHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDrawClusterIndirectHUAWEI ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::drawClusterIndirectHUAWEI( Buffer buffer, DeviceSize offset, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26605,7 +35208,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_pageable_device_local_memory === // wrapper function for command vkSetDeviceMemoryPriorityEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDeviceMemoryPriorityEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetDeviceMemoryPriorityEXT ) ) +#endif VULKAN_HPP_INLINE void Device::setMemoryPriorityEXT( DeviceMemory memory, float priority, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26616,7 +35224,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirementsKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getBufferMemoryRequirementsKHR( DeviceBufferMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26629,7 +35242,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getBufferMemoryRequirementsKHR( DeviceBufferMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26640,19 +35258,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetDeviceBufferMemoryRequirementsKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceBufferMemoryRequirementsKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getBufferMemoryRequirementsKHR( DeviceBufferMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26664,8 +35288,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetDeviceBufferMemoryRequirementsKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceBufferMemoryRequirementsKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -26673,7 +35298,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirementsKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getImageMemoryRequirementsKHR( DeviceImageMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26686,7 +35316,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getImageMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26697,19 +35332,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetDeviceImageMemoryRequirementsKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceImageMemoryRequirementsKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26721,8 +35362,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetDeviceImageMemoryRequirementsKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceImageMemoryRequirementsKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -26730,7 +35372,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirementsKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSparseMemoryRequirementsKHR( DeviceImageMemoryRequirements const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -26746,11 +35393,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, Dispatch const & d ) const { @@ -26763,9 +35415,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements; uint32_t sparseMemoryRequirementCount; d.vkGetDeviceImageSparseMemoryRequirementsKHR( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetDeviceImageSparseMemoryRequirementsKHR( m_device, + d.vkGetDeviceImageSparseMemoryRequirementsKHR( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -26780,11 +35432,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template SparseImageMemoryRequirements2Allocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector Device::getImageSparseMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, Dispatch const & d ) @@ -26799,9 +35456,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector sparseMemoryRequirements( sparseImageMemoryRequirements2Allocator ); uint32_t sparseMemoryRequirementCount; d.vkGetDeviceImageSparseMemoryRequirementsKHR( - m_device, reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); + static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, nullptr ); sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); - d.vkGetDeviceImageSparseMemoryRequirementsKHR( m_device, + d.vkGetDeviceImageSparseMemoryRequirementsKHR( static_cast( m_device ), reinterpret_cast( &info ), &sparseMemoryRequirementCount, reinterpret_cast( sparseMemoryRequirements.data() ) ); @@ -26819,7 +35476,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetDispatchParametersARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDispatchParametersARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDispatchParametersARM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDispatchParametersARM( DispatchParametersARM const * pDispatchParameters, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26831,7 +35493,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDispatchParametersARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDispatchParametersARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetDispatchParametersARM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setDispatchParametersARM( DispatchParametersARM const & dispatchParameters, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26840,7 +35507,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetDispatchParametersARM && "Function requires " ); # endif - d.vkCmdSetDispatchParametersARM( m_commandBuffer, reinterpret_cast( &dispatchParameters ) ); + d.vkCmdSetDispatchParametersARM( static_cast( m_commandBuffer ), + reinterpret_cast( &dispatchParameters ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -26848,7 +35516,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutHostMappingInfoVALVE( DescriptorSetBindingReferenceVALVE const * pBindingReference, DescriptorSetLayoutHostMappingInfoVALVE * pHostMapping, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -26862,7 +35535,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorSetLayoutHostMappingInfoVALVE Device::getDescriptorSetLayoutHostMappingInfoVALVE( DescriptorSetBindingReferenceVALVE const & bindingReference, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26873,7 +35551,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DescriptorSetLayoutHostMappingInfoVALVE hostMapping; - d.vkGetDescriptorSetLayoutHostMappingInfoVALVE( m_device, + d.vkGetDescriptorSetLayoutHostMappingInfoVALVE( static_cast( m_device ), reinterpret_cast( &bindingReference ), reinterpret_cast( &hostMapping ) ); @@ -26883,7 +35561,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetHostMappingVALVE ) ) +#endif VULKAN_HPP_INLINE void Device::getDescriptorSetHostMappingVALVE( DescriptorSet descriptorSet, void ** ppData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -26893,7 +35576,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetHostMappingVALVE ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void * Device::getDescriptorSetHostMappingVALVE( DescriptorSet descriptorSet, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26904,7 +35592,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif void * pData; - d.vkGetDescriptorSetHostMappingVALVE( m_device, static_cast( descriptorSet ), &pData ); + d.vkGetDescriptorSetHostMappingVALVE( static_cast( m_device ), static_cast( descriptorSet ), &pData ); return pData; } @@ -26913,7 +35601,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_copy_memory_indirect === // wrapper function for command vkCmdCopyMemoryIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryIndirectNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryIndirectNV( DeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26923,7 +35616,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageIndirectNV( DeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, @@ -26945,7 +35643,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageIndirectNV( DeviceAddress copyBufferAddress, uint32_t stride, Image dstImage, @@ -26958,7 +35661,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToImageIndirectNV && "Function requires " ); # endif - d.vkCmdCopyMemoryToImageIndirectNV( m_commandBuffer, + d.vkCmdCopyMemoryToImageIndirectNV( static_cast( m_commandBuffer ), static_cast( copyBufferAddress ), imageSubresources.size(), stride, @@ -26971,7 +35674,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_memory_decompression === // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryNV( uint32_t decompressRegionCount, DecompressMemoryRegionNV const * pDecompressMemoryRegions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26983,7 +35691,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryNV( ArrayProxy const & decompressMemoryRegions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -26992,14 +35705,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDecompressMemoryNV && "Function requires " ); # endif - d.vkCmdDecompressMemoryNV( - m_commandBuffer, decompressMemoryRegions.size(), reinterpret_cast( decompressMemoryRegions.data() ) ); + d.vkCmdDecompressMemoryNV( static_cast( m_commandBuffer ), + decompressMemoryRegions.size(), + reinterpret_cast( decompressMemoryRegions.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDecompressMemoryIndirectCountNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryIndirectCountNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryIndirectCountNV( DeviceAddress indirectCommandsAddress, DeviceAddress indirectCommandsCountAddress, uint32_t stride, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27014,7 +35733,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectMemoryRequirementsNV ) ) +#endif VULKAN_HPP_INLINE void Device::getPipelineIndirectMemoryRequirementsNV( ComputePipelineCreateInfo const * pCreateInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27027,7 +35751,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getPipelineIndirectMemoryRequirementsNV( ComputePipelineCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27038,19 +35767,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetPipelineIndirectMemoryRequirementsNV( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetPipelineIndirectMemoryRequirementsNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getPipelineIndirectMemoryRequirementsNV( ComputePipelineCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27062,8 +35797,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetPipelineIndirectMemoryRequirementsNV( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetPipelineIndirectMemoryRequirementsNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } @@ -27071,7 +35807,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdUpdatePipelineIndirectBufferNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdatePipelineIndirectBufferNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdUpdatePipelineIndirectBufferNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::updatePipelineIndirectBufferNV( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27082,7 +35823,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectDeviceAddressNV ) ) +#endif VULKAN_HPP_INLINE DeviceAddress Device::getPipelineIndirectAddressNV( PipelineIndirectDeviceAddressInfoNV const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27094,7 +35840,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectDeviceAddressNV ) ) +# endif VULKAN_HPP_INLINE DeviceAddress Device::getPipelineIndirectAddressNV( PipelineIndirectDeviceAddressInfoNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27104,9 +35855,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - VkDeviceAddress result = d.vkGetPipelineIndirectDeviceAddressNV( m_device, reinterpret_cast( &info ) ); + VkDeviceAddress result_ = + d.vkGetPipelineIndirectDeviceAddressNV( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -27115,7 +35867,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetNativeBufferPropertiesOHOS, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetNativeBufferPropertiesOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getNativeBufferPropertiesOHOS( struct OH_NativeBuffer const * buffer, NativeBufferPropertiesOHOS * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27127,7 +35884,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetNativeBufferPropertiesOHOS, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetNativeBufferPropertiesOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getNativeBufferPropertiesOHOS( struct OH_NativeBuffer const & buffer, Dispatch const & d ) const { @@ -27137,16 +35899,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif NativeBufferPropertiesOHOS properties; - Result result = - static_cast( d.vkGetNativeBufferPropertiesOHOS( m_device, &buffer, reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); + Result result_ = static_cast( + d.vkGetNativeBufferPropertiesOHOS( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetNativeBufferPropertiesOHOS, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetNativeBufferPropertiesOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getNativeBufferPropertiesOHOS( struct OH_NativeBuffer const & buffer, Dispatch const & d ) const { @@ -27157,16 +35924,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; NativeBufferPropertiesOHOS & properties = structureChain.template get(); - Result result = - static_cast( d.vkGetNativeBufferPropertiesOHOS( m_device, &buffer, reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); + Result result_ = static_cast( + d.vkGetNativeBufferPropertiesOHOS( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryNativeBufferOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryNativeBufferOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryNativeBufferOHOS( MemoryGetNativeBufferInfoOHOS const * pInfo, struct OH_NativeBuffer ** pBuffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27177,7 +35949,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryNativeBufferOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryNativeBufferOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryNativeBufferOHOS( MemoryGetNativeBufferInfoOHOS const & info, Dispatch const & d ) const { @@ -27187,11 +35964,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif struct OH_NativeBuffer * buffer; - Result result = - static_cast( d.vkGetMemoryNativeBufferOHOS( m_device, reinterpret_cast( &info ), &buffer ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryNativeBufferOHOS" ); + Result result_ = static_cast( + d.vkGetMemoryNativeBufferOHOS( static_cast( m_device ), reinterpret_cast( &info ), &buffer ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryNativeBufferOHOS" ); - return detail::createResultValueType( result, std::move( buffer ) ); + return detail::createResultValueType( result_, std::move( buffer ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_OHOS*/ @@ -27199,7 +35976,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_extended_dynamic_state3 === // wrapper function for command vkCmdSetDepthClampEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClampEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthClampEnableEXT( Bool32 depthClampEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27207,7 +35989,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetPolygonModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPolygonModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPolygonModeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPolygonModeEXT( PolygonMode polygonMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27216,7 +36003,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRasterizationSamplesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationSamplesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizationSamplesEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRasterizationSamplesEXT( SampleCountFlagBits rasterizationSamples, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27224,7 +36016,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetSampleMaskEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setSampleMaskEXT( SampleCountFlagBits samples, SampleMask const * pSampleMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27235,7 +36032,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetSampleMaskEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setSampleMaskEXT( SampleCountFlagBits samples, ArrayProxy const & sampleMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS { @@ -27252,13 +36054,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdSetSampleMaskEXT( m_commandBuffer, static_cast( samples ), reinterpret_cast( sampleMask.data() ) ); + d.vkCmdSetSampleMaskEXT( static_cast( m_commandBuffer ), + static_cast( samples ), + reinterpret_cast( sampleMask.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetAlphaToCoverageEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToCoverageEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetAlphaToCoverageEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setAlphaToCoverageEnableEXT( Bool32 alphaToCoverageEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27266,7 +36075,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetAlphaToOneEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToOneEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetAlphaToOneEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setAlphaToOneEnableEXT( Bool32 alphaToOneEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27274,7 +36088,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetLogicOpEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLogicOpEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEnableEXT( Bool32 logicOpEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27282,7 +36101,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEnableEXT( uint32_t firstAttachment, uint32_t attachmentCount, Bool32 const * pColorBlendEnables, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27293,7 +36117,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEnableEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEnableEXT( uint32_t firstAttachment, ArrayProxy const & colorBlendEnables, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27303,13 +36132,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetColorBlendEnableEXT( m_commandBuffer, firstAttachment, colorBlendEnables.size(), reinterpret_cast( colorBlendEnables.data() ) ); + d.vkCmdSetColorBlendEnableEXT( static_cast( m_commandBuffer ), + firstAttachment, + colorBlendEnables.size(), + reinterpret_cast( colorBlendEnables.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetColorBlendEquationEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEquationEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEquationEXT( uint32_t firstAttachment, uint32_t attachmentCount, ColorBlendEquationEXT const * pColorBlendEquations, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27323,7 +36160,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorBlendEquationEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEquationEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setColorBlendEquationEXT( uint32_t firstAttachment, ArrayProxy const & colorBlendEquations, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27333,13 +36175,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetColorBlendEquationEXT( - m_commandBuffer, firstAttachment, colorBlendEquations.size(), reinterpret_cast( colorBlendEquations.data() ) ); + d.vkCmdSetColorBlendEquationEXT( static_cast( m_commandBuffer ), + firstAttachment, + colorBlendEquations.size(), + reinterpret_cast( colorBlendEquations.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteMaskEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setColorWriteMaskEXT( uint32_t firstAttachment, uint32_t attachmentCount, ColorComponentFlags const * pColorWriteMasks, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27350,7 +36199,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteMaskEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setColorWriteMaskEXT( uint32_t firstAttachment, ArrayProxy const & colorWriteMasks, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27360,14 +36214,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetColorWriteMaskEXT( - m_commandBuffer, firstAttachment, colorWriteMasks.size(), reinterpret_cast( colorWriteMasks.data() ) ); + d.vkCmdSetColorWriteMaskEXT( static_cast( m_commandBuffer ), + firstAttachment, + colorWriteMasks.size(), + reinterpret_cast( colorWriteMasks.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetTessellationDomainOriginEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetTessellationDomainOriginEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetTessellationDomainOriginEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setTessellationDomainOriginEXT( TessellationDomainOrigin domainOrigin, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27376,7 +36237,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRasterizationStreamEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationStreamEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizationStreamEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRasterizationStreamEXT( uint32_t rasterizationStream, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27385,7 +36251,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetConservativeRasterizationModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetConservativeRasterizationModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetConservativeRasterizationModeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setConservativeRasterizationModeEXT( ConservativeRasterizationModeEXT conservativeRasterizationMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27396,7 +36267,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetExtraPrimitiveOverestimationSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExtraPrimitiveOverestimationSizeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetExtraPrimitiveOverestimationSizeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27405,7 +36281,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetDepthClipEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClipEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthClipEnableEXT( Bool32 depthClipEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27414,7 +36295,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetSampleLocationsEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetSampleLocationsEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setSampleLocationsEnableEXT( Bool32 sampleLocationsEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27423,7 +36309,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendAdvancedEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setColorBlendAdvancedEXT( uint32_t firstAttachment, uint32_t attachmentCount, ColorBlendAdvancedEXT const * pColorBlendAdvanced, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27437,7 +36328,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendAdvancedEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setColorBlendAdvancedEXT( uint32_t firstAttachment, ArrayProxy const & colorBlendAdvanced, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27447,14 +36343,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetColorBlendAdvancedEXT( - m_commandBuffer, firstAttachment, colorBlendAdvanced.size(), reinterpret_cast( colorBlendAdvanced.data() ) ); + d.vkCmdSetColorBlendAdvancedEXT( static_cast( m_commandBuffer ), + firstAttachment, + colorBlendAdvanced.size(), + reinterpret_cast( colorBlendAdvanced.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetProvokingVertexModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetProvokingVertexModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetProvokingVertexModeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setProvokingVertexModeEXT( ProvokingVertexModeEXT provokingVertexMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27463,7 +36366,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetLineRasterizationModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineRasterizationModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineRasterizationModeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLineRasterizationModeEXT( LineRasterizationModeEXT lineRasterizationMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27472,7 +36380,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetLineStippleEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStippleEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEnableEXT( Bool32 stippledLineEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27481,7 +36394,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetDepthClipNegativeOneToOneEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipNegativeOneToOneEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClipNegativeOneToOneEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthClipNegativeOneToOneEXT( Bool32 negativeOneToOne, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27490,7 +36408,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetViewportWScalingEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWScalingEnableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewportWScalingEnableNV( Bool32 viewportWScalingEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27498,7 +36421,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportSwizzleNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setViewportSwizzleNV( uint32_t firstViewport, uint32_t viewportCount, ViewportSwizzleNV const * pViewportSwizzles, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27509,7 +36437,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportSwizzleNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setViewportSwizzleNV( uint32_t firstViewport, ArrayProxy const & viewportSwizzles, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27519,14 +36452,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetViewportSwizzleNV( - m_commandBuffer, firstViewport, viewportSwizzles.size(), reinterpret_cast( viewportSwizzles.data() ) ); + d.vkCmdSetViewportSwizzleNV( static_cast( m_commandBuffer ), + firstViewport, + viewportSwizzles.size(), + reinterpret_cast( viewportSwizzles.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetCoverageToColorEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageToColorEnableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageToColorEnableNV( Bool32 coverageToColorEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27535,7 +36475,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetCoverageToColorLocationNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorLocationNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageToColorLocationNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageToColorLocationNV( uint32_t coverageToColorLocation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27544,7 +36489,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetCoverageModulationModeNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationModeNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationModeNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationModeNV( CoverageModulationModeNV coverageModulationMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27554,7 +36504,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetCoverageModulationTableEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationTableEnableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableEnableNV( Bool32 coverageModulationTableEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27563,7 +36518,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetCoverageModulationTableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationTableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableNV( uint32_t coverageModulationTableCount, float const * pCoverageModulationTable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27574,7 +36534,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetCoverageModulationTableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationTableNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageModulationTableNV( ArrayProxy const & coverageModulationTable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27584,13 +36549,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetCoverageModulationTableNV( m_commandBuffer, coverageModulationTable.size(), coverageModulationTable.data() ); + d.vkCmdSetCoverageModulationTableNV( static_cast( m_commandBuffer ), coverageModulationTable.size(), coverageModulationTable.data() ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetShadingRateImageEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetShadingRateImageEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetShadingRateImageEnableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setShadingRateImageEnableNV( Bool32 shadingRateImageEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27599,7 +36569,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRepresentativeFragmentTestEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRepresentativeFragmentTestEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetRepresentativeFragmentTestEnableNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setRepresentativeFragmentTestEnableNV( Bool32 representativeFragmentTestEnable, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27609,7 +36584,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetCoverageReductionModeNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageReductionModeNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageReductionModeNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setCoverageReductionModeNV( CoverageReductionModeNV coverageReductionMode, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27620,7 +36600,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_ARM_tensors === // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateTensorARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createTensorARM( TensorCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, TensorARM * pTensor, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27633,7 +36618,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateTensorARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createTensorARM( TensorCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -27643,18 +36633,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif TensorARM tensor; - Result result = static_cast( d.vkCreateTensorARM( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &tensor ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorARM" ); + Result result_ = static_cast( d.vkCreateTensorARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &tensor ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorARM" ); - return detail::createResultValueType( result, std::move( tensor ) ); + return detail::createResultValueType( result_, std::move( tensor ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateTensorARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createTensorARMUnique( TensorCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -27664,19 +36659,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif TensorARM tensor; - Result result = static_cast( d.vkCreateTensorARM( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &tensor ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorARMUnique" ); + Result result_ = static_cast( d.vkCreateTensorARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &tensor ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorARMUnique" ); - return detail::createResultValueType( result, UniqueHandle( tensor, detail::ObjectDestroy( *this, allocator, d ) ) ); + return detail::createResultValueType( result_, + UniqueHandle( tensor, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroyTensorARM( TensorARM tensor, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27686,7 +36687,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroyTensorARM( TensorARM tensor, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27695,12 +36701,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyTensorARM && "Function requires " ); # endif - d.vkDestroyTensorARM( m_device, static_cast( tensor ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyTensorARM( + static_cast( m_device ), static_cast( tensor ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( TensorARM tensor, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27710,7 +36722,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( TensorARM tensor, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27718,12 +36735,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyTensorARM && "Function requires " ); # endif - d.vkDestroyTensorARM( m_device, static_cast( tensor ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyTensorARM( + static_cast( m_device ), static_cast( tensor ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateTensorViewARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createTensorViewARM( TensorViewCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, TensorViewARM * pView, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27736,7 +36759,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateTensorViewARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createTensorViewARM( TensorViewCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -27746,18 +36774,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif TensorViewARM view; - Result result = static_cast( d.vkCreateTensorViewARM( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorViewARM" ); + Result result_ = static_cast( d.vkCreateTensorViewARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorViewARM" ); - return detail::createResultValueType( result, std::move( view ) ); + return detail::createResultValueType( result_, std::move( view ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateTensorViewARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createTensorViewARMUnique( TensorViewCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -27767,20 +36800,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif TensorViewARM view; - Result result = static_cast( d.vkCreateTensorViewARM( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorViewARMUnique" ); + Result result_ = static_cast( d.vkCreateTensorViewARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createTensorViewARMUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( view, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroyTensorViewARM( TensorViewARM tensorView, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27791,7 +36829,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroyTensorViewARM( TensorViewARM tensorView, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27800,12 +36843,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyTensorViewARM && "Function requires " ); # endif - d.vkDestroyTensorViewARM( m_device, static_cast( tensorView ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyTensorViewARM( + static_cast( m_device ), static_cast( tensorView ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( TensorViewARM tensorView, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27815,7 +36864,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( TensorViewARM tensorView, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27824,13 +36878,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyTensorViewARM && "Function requires " ); # endif - d.vkDestroyTensorViewARM( m_device, static_cast( tensorView ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyTensorViewARM( + static_cast( m_device ), static_cast( tensorView ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetTensorMemoryRequirementsARM ) ) +#endif VULKAN_HPP_INLINE void Device::getTensorMemoryRequirementsARM( TensorMemoryRequirementsInfoARM const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27843,7 +36903,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getTensorMemoryRequirementsARM( TensorMemoryRequirementsInfoARM const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27853,15 +36918,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetTensorMemoryRequirementsARM( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetTensorMemoryRequirementsARM( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getTensorMemoryRequirementsARM( TensorMemoryRequirementsInfoARM const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27872,15 +36943,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetTensorMemoryRequirementsARM( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetTensorMemoryRequirementsARM( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindTensorMemoryARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindTensorMemoryARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindTensorMemoryARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindTensorMemoryARM( uint32_t bindInfoCount, BindTensorMemoryInfoARM const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27891,7 +36968,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindTensorMemoryARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindTensorMemoryARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindTensorMemoryARM ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindTensorMemoryARM( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -27900,17 +36982,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindTensorMemoryARM && "Function requires " ); # endif - Result result = - static_cast( d.vkBindTensorMemoryARM( m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindTensorMemoryARM" ); + Result result_ = static_cast( + d.vkBindTensorMemoryARM( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindTensorMemoryARM" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceTensorMemoryRequirementsARM ) ) +#endif VULKAN_HPP_INLINE void Device::getTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27923,7 +37010,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27933,19 +37025,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetDeviceTensorMemoryRequirementsARM( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceTensorMemoryRequirementsARM( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return memoryRequirements; } // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -27956,15 +37054,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetDeviceTensorMemoryRequirementsARM( - m_device, reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); + d.vkGetDeviceTensorMemoryRequirementsARM( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &memoryRequirements ) ); return structureChain; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyTensorARM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyTensorARM( CopyTensorInfoARM const * pCopyTensorInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27973,7 +37077,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyTensorARM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyTensorARM( CopyTensorInfoARM const & copyTensorInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -27981,13 +37090,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyTensorARM && "Function requires " ); # endif - d.vkCmdCopyTensorARM( m_commandBuffer, reinterpret_cast( ©TensorInfo ) ); + d.vkCmdCopyTensorARM( static_cast( m_commandBuffer ), reinterpret_cast( ©TensorInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceExternalTensorPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalTensorPropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalTensorPropertiesARM ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getExternalTensorPropertiesARM( PhysicalDeviceExternalTensorInfoARM const * pExternalTensorInfo, ExternalTensorPropertiesARM * pExternalTensorProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -28001,7 +37115,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalTensorPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalTensorPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalTensorPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ExternalTensorPropertiesARM PhysicalDevice::getExternalTensorPropertiesARM( PhysicalDeviceExternalTensorInfoARM const & externalTensorInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28012,7 +37131,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalTensorPropertiesARM externalTensorProperties; - d.vkGetPhysicalDeviceExternalTensorPropertiesARM( m_physicalDevice, + d.vkGetPhysicalDeviceExternalTensorPropertiesARM( static_cast( m_physicalDevice ), reinterpret_cast( &externalTensorInfo ), reinterpret_cast( &externalTensorProperties ) ); @@ -28022,7 +37141,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetTensorOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDescriptorDataARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetTensorOpaqueCaptureDescriptorDataARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getTensorOpaqueCaptureDescriptorDataARM( TensorCaptureDescriptorDataInfoARM const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28034,7 +37158,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetTensorOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDescriptorDataARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetTensorOpaqueCaptureDescriptorDataARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getTensorOpaqueCaptureDescriptorDataARM( TensorCaptureDescriptorDataInfoARM const & info, Dispatch const & d ) const { @@ -28044,17 +37173,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( - d.vkGetTensorOpaqueCaptureDescriptorDataARM( m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getTensorOpaqueCaptureDescriptorDataARM" ); + Result result_ = static_cast( d.vkGetTensorOpaqueCaptureDescriptorDataARM( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getTensorOpaqueCaptureDescriptorDataARM" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetTensorViewOpaqueCaptureDescriptorDataARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getTensorViewOpaqueCaptureDescriptorDataARM( TensorViewCaptureDescriptorDataInfoARM const * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28066,7 +37200,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetTensorViewOpaqueCaptureDescriptorDataARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getTensorViewOpaqueCaptureDescriptorDataARM( TensorViewCaptureDescriptorDataInfoARM const & info, Dispatch const & d ) const { @@ -28077,11 +37216,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataType data; - Result result = static_cast( - d.vkGetTensorViewOpaqueCaptureDescriptorDataARM( m_device, reinterpret_cast( &info ), &data ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getTensorViewOpaqueCaptureDescriptorDataARM" ); + Result result_ = static_cast( d.vkGetTensorViewOpaqueCaptureDescriptorDataARM( + static_cast( m_device ), reinterpret_cast( &info ), &data ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getTensorViewOpaqueCaptureDescriptorDataARM" ); - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -28089,7 +37228,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetShaderModuleIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetShaderModuleIdentifierEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getShaderModuleIdentifierEXT( ShaderModule shaderModule, ShaderModuleIdentifierEXT * pIdentifier, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28101,7 +37245,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderModuleIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetShaderModuleIdentifierEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ShaderModuleIdentifierEXT Device::getShaderModuleIdentifierEXT( ShaderModule shaderModule, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28111,7 +37260,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderModuleIdentifierEXT identifier; - d.vkGetShaderModuleIdentifierEXT( m_device, static_cast( shaderModule ), reinterpret_cast( &identifier ) ); + d.vkGetShaderModuleIdentifierEXT( + static_cast( m_device ), static_cast( shaderModule ), reinterpret_cast( &identifier ) ); return identifier; } @@ -28119,7 +37269,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetShaderModuleCreateInfoIdentifierEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getShaderModuleCreateInfoIdentifierEXT( ShaderModuleCreateInfo const * pCreateInfo, ShaderModuleIdentifierEXT * pIdentifier, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28132,7 +37287,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetShaderModuleCreateInfoIdentifierEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ShaderModuleIdentifierEXT Device::getShaderModuleCreateInfoIdentifierEXT( ShaderModuleCreateInfo const & createInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28143,8 +37303,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderModuleIdentifierEXT identifier; - d.vkGetShaderModuleCreateInfoIdentifierEXT( - m_device, reinterpret_cast( &createInfo ), reinterpret_cast( &identifier ) ); + d.vkGetShaderModuleCreateInfoIdentifierEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( &identifier ) ); return identifier; } @@ -28154,7 +37315,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceOpticalFlowImageFormatsNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getOpticalFlowImageFormatsNV( OpticalFlowImageFormatInfoNV const * pOpticalFlowImageFormatInfo, uint32_t * pFormatCount, OpticalFlowImageFormatPropertiesNV * pImageFormatProperties, @@ -28171,11 +37337,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template OpticalFlowImageFormatPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceOpticalFlowImageFormatsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getOpticalFlowImageFormatsNV( OpticalFlowImageFormatInfoNV const & opticalFlowImageFormatInfo, Dispatch const & d ) const @@ -28188,37 +37359,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector imageFormatProperties; uint32_t formatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( - m_physicalDevice, reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && formatCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast( m_physicalDevice ), + reinterpret_cast( &opticalFlowImageFormatInfo ), + &formatCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && formatCount ) { imageFormatProperties.resize( formatCount ); - result = static_cast( - d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( m_physicalDevice, + result_ = static_cast( + d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast( m_physicalDevice ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, reinterpret_cast( imageFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); if ( formatCount < imageFormatProperties.size() ) { imageFormatProperties.resize( formatCount ); } - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template OpticalFlowImageFormatPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceOpticalFlowImageFormatsNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getOpticalFlowImageFormatsNV( OpticalFlowImageFormatInfoNV const & opticalFlowImageFormatInfo, @@ -28234,33 +37413,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector imageFormatProperties( opticalFlowImageFormatPropertiesNVAllocator ); uint32_t formatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( - m_physicalDevice, reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && formatCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast( m_physicalDevice ), + reinterpret_cast( &opticalFlowImageFormatInfo ), + &formatCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && formatCount ) { imageFormatProperties.resize( formatCount ); - result = static_cast( - d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( m_physicalDevice, + result_ = static_cast( + d.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast( m_physicalDevice ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, reinterpret_cast( imageFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); if ( formatCount < imageFormatProperties.size() ) { imageFormatProperties.resize( formatCount ); } - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateOpticalFlowSessionNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createOpticalFlowSessionNV( OpticalFlowSessionCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, OpticalFlowSessionNV * pSession, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -28274,7 +37461,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateOpticalFlowSessionNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createOpticalFlowSessionNV( OpticalFlowSessionCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -28284,18 +37476,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif OpticalFlowSessionNV session; - Result result = static_cast( d.vkCreateOpticalFlowSessionNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &session ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createOpticalFlowSessionNV" ); + Result result_ = static_cast( d.vkCreateOpticalFlowSessionNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &session ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createOpticalFlowSessionNV" ); - return detail::createResultValueType( result, std::move( session ) ); + return detail::createResultValueType( result_, std::move( session ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateOpticalFlowSessionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateOpticalFlowSessionNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createOpticalFlowSessionNVUnique( OpticalFlowSessionCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -28305,21 +37502,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif OpticalFlowSessionNV session; - Result result = static_cast( d.vkCreateOpticalFlowSessionNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &session ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createOpticalFlowSessionNVUnique" ); + Result result_ = static_cast( d.vkCreateOpticalFlowSessionNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &session ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createOpticalFlowSessionNVUnique" ); return detail::createResultValueType( - result, UniqueHandle( session, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( session, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroyOpticalFlowSessionNV( OpticalFlowSessionNV session, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28331,7 +37533,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyOpticalFlowSessionNV( OpticalFlowSessionNV session, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28341,13 +37548,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif d.vkDestroyOpticalFlowSessionNV( - m_device, static_cast( session ), reinterpret_cast( allocator.get() ) ); + static_cast( m_device ), static_cast( session ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( OpticalFlowSessionNV session, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -28358,7 +37570,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( OpticalFlowSessionNV session, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28368,14 +37585,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif d.vkDestroyOpticalFlowSessionNV( - m_device, static_cast( session ), reinterpret_cast( allocator.get() ) ); + static_cast( m_device ), static_cast( session ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindOpticalFlowSessionImageNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindOpticalFlowSessionImageNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindOpticalFlowSessionImageNV( OpticalFlowSessionNV session, OpticalFlowSessionBindingPointNV bindingPoint, ImageView view, ImageLayout layout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -28390,7 +37612,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkBindOpticalFlowSessionImageNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindOpticalFlowSessionImageNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindOpticalFlowSessionImageNV( OpticalFlowSessionNV session, OpticalFlowSessionBindingPointNV bindingPoint, ImageView view, ImageLayout layout, Dispatch const & d ) const { @@ -28399,19 +37626,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindOpticalFlowSessionImageNV && "Function requires " ); # endif - Result result = static_cast( d.vkBindOpticalFlowSessionImageNV( m_device, - static_cast( session ), - static_cast( bindingPoint ), - static_cast( view ), - static_cast( layout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindOpticalFlowSessionImageNV" ); + Result result_ = static_cast( d.vkBindOpticalFlowSessionImageNV( static_cast( m_device ), + static_cast( session ), + static_cast( bindingPoint ), + static_cast( view ), + static_cast( layout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindOpticalFlowSessionImageNV" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdOpticalFlowExecuteNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::opticalFlowExecuteNV( OpticalFlowSessionNV session, OpticalFlowExecuteInfoNV const * pExecuteInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28423,7 +37655,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdOpticalFlowExecuteNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::opticalFlowExecuteNV( OpticalFlowSessionNV session, OpticalFlowExecuteInfoNV const & executeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28432,15 +37669,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdOpticalFlowExecuteNV && "Function requires " ); # endif - d.vkCmdOpticalFlowExecuteNV( - m_commandBuffer, static_cast( session ), reinterpret_cast( &executeInfo ) ); + d.vkCmdOpticalFlowExecuteNV( static_cast( m_commandBuffer ), + static_cast( session ), + reinterpret_cast( &executeInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_maintenance5 === // wrapper function for command vkCmdBindIndexBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer2KHR( Buffer buffer, DeviceSize offset, DeviceSize size, IndexType indexType, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28454,7 +37697,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRenderingAreaGranularityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularityKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getRenderingAreaGranularityKHR( RenderingAreaInfo const * pRenderingAreaInfo, Extent2D * pGranularity, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28466,7 +37714,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRenderingAreaGranularityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularityKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Extent2D Device::getRenderingAreaGranularityKHR( RenderingAreaInfo const & renderingAreaInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28477,7 +37730,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Extent2D granularity; d.vkGetRenderingAreaGranularityKHR( - m_device, reinterpret_cast( &renderingAreaInfo ), reinterpret_cast( &granularity ) ); + static_cast( m_device ), reinterpret_cast( &renderingAreaInfo ), reinterpret_cast( &granularity ) ); return granularity; } @@ -28485,7 +37738,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayoutKHR ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSubresourceLayoutKHR( DeviceImageSubresourceInfo const * pInfo, SubresourceLayout2 * pLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28497,7 +37755,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayoutKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Device::getImageSubresourceLayoutKHR( DeviceImageSubresourceInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28509,18 +37772,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE SubresourceLayout2 layout; d.vkGetDeviceImageSubresourceLayoutKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &layout ) ); + static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &layout ) ); return layout; } // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayoutKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageSubresourceLayoutKHR( DeviceImageSubresourceInfo const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28533,7 +37801,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SubresourceLayout2 & layout = structureChain.template get(); d.vkGetDeviceImageSubresourceLayoutKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( &layout ) ); + static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &layout ) ); return structureChain; } @@ -28541,7 +37809,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSubresourceLayout2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2KHR ) ) +#endif VULKAN_HPP_INLINE void Device::getImageSubresourceLayout2KHR( Image image, ImageSubresource2 const * pSubresource, SubresourceLayout2 * pLayout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28555,7 +37828,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE SubresourceLayout2 Device::getImageSubresourceLayout2KHR( Image image, ImageSubresource2 const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28567,7 +37845,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SubresourceLayout2 layout; - d.vkGetImageSubresourceLayout2KHR( m_device, + d.vkGetImageSubresourceLayout2KHR( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -28577,7 +37855,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSubresourceLayout2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getImageSubresourceLayout2KHR( Image image, ImageSubresource2 const & subresource, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28590,7 +37873,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SubresourceLayout2 & layout = structureChain.template get(); - d.vkGetImageSubresourceLayout2KHR( m_device, + d.vkGetImageSubresourceLayout2KHR( static_cast( m_device ), static_cast( image ), reinterpret_cast( &subresource ), reinterpret_cast( &layout ) ); @@ -28602,7 +37885,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_anti_lag === // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkAntiLagUpdateAMD ) ) +#endif VULKAN_HPP_INLINE void Device::antiLagUpdateAMD( AntiLagDataAMD const * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -28611,7 +37899,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkAntiLagUpdateAMD ) ) +# endif VULKAN_HPP_INLINE void Device::antiLagUpdateAMD( AntiLagDataAMD const & data, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -28619,14 +37912,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkAntiLagUpdateAMD && "Function requires " ); # endif - d.vkAntiLagUpdateAMD( m_device, reinterpret_cast( &data ) ); + d.vkAntiLagUpdateAMD( static_cast( m_device ), reinterpret_cast( &data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_present_wait2 === // wrapper function for command vkWaitForPresent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresent2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkWaitForPresent2KHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForPresent2KHR( SwapchainKHR swapchain, PresentWait2InfoKHR const * pPresentWait2Info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28637,7 +37935,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitForPresent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresent2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkWaitForPresent2KHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::waitForPresent2KHR( SwapchainKHR swapchain, PresentWait2InfoKHR const & presentWait2Info, Dispatch const & d ) const { @@ -28646,25 +37949,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkWaitForPresent2KHR && "Function requires " ); # endif - Result result = static_cast( - d.vkWaitForPresent2KHR( m_device, static_cast( swapchain ), reinterpret_cast( &presentWait2Info ) ) ); + Result result_ = static_cast( d.vkWaitForPresent2KHR( + static_cast( m_device ), static_cast( swapchain ), reinterpret_cast( &presentWait2Info ) ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresent2KHR", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresent2KHR", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresent2KHR", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_shader_object === // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createShadersEXT( uint32_t createInfoCount, ShaderCreateInfoEXT const * pCreateInfos, AllocationCallbacks const * pAllocator, ShaderEXT * pShaders, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -28679,10 +37987,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ShaderEXTAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createShadersEXT( ArrayProxy const & createInfos, Optional allocator, Dispatch const & d ) const { @@ -28692,21 +38005,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector shaders( createInfos.size() ); - Result result = static_cast( d.vkCreateShadersEXT( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( shaders.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + Result result_ = static_cast( d.vkCreateShadersEXT( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( shaders.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); - return { result, shaders }; + return { result_, shaders }; } // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ShaderEXTAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createShadersEXT( ArrayProxy const & createInfos, Optional allocator, @@ -28719,18 +38037,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector shaders( createInfos.size(), {}, shaderEXTAllocator ); - Result result = static_cast( d.vkCreateShadersEXT( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( shaders.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + Result result_ = static_cast( d.vkCreateShadersEXT( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( shaders.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); - return { result, shaders }; + return { result_, shaders }; } // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createShaderEXT( ShaderCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -28740,22 +38063,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderEXT shader; - Result result = static_cast( d.vkCreateShadersEXT( m_device, - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &shader ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + Result result_ = static_cast( d.vkCreateShadersEXT( static_cast( m_device ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &shader ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); - return { result, shader }; + return { result_, shader }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > ShaderEXTAllocator> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, ShaderEXTAllocator>> Device::createShadersEXTUnique( ArrayProxy const & createInfos, Optional allocator, Dispatch const & d ) const { @@ -28765,12 +38093,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector shaders( createInfos.size() ); - Result result = static_cast( d.vkCreateShadersEXT( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( shaders.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXTUnique", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + Result result_ = static_cast( d.vkCreateShadersEXT( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( shaders.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXTUnique", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); std::vector, ShaderEXTAllocator> uniqueShaders; uniqueShaders.reserve( createInfos.size() ); detail::ObjectDestroy deleter( *this, allocator, d ); @@ -28778,14 +38106,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueShaders.push_back( UniqueHandle( shader, deleter ) ); } - return ResultValue, ShaderEXTAllocator>>( result, std::move( uniqueShaders ) ); + return ResultValue, ShaderEXTAllocator>>( result_, std::move( uniqueShaders ) ); } // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > ShaderEXTAllocator> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, ShaderEXTAllocator>> Device::createShadersEXTUnique( ArrayProxy const & createInfos, Optional allocator, @@ -28798,12 +38131,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector shaders( createInfos.size() ); - Result result = static_cast( d.vkCreateShadersEXT( m_device, - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( shaders.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXTUnique", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + Result result_ = static_cast( d.vkCreateShadersEXT( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( shaders.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShadersEXTUnique", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); std::vector, ShaderEXTAllocator> uniqueShaders( shaderEXTAllocator ); uniqueShaders.reserve( createInfos.size() ); detail::ObjectDestroy deleter( *this, allocator, d ); @@ -28811,11 +38144,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniqueShaders.push_back( UniqueHandle( shader, deleter ) ); } - return ResultValue, ShaderEXTAllocator>>( result, std::move( uniqueShaders ) ); + return ResultValue, ShaderEXTAllocator>>( result_, std::move( uniqueShaders ) ); } // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createShaderEXTUnique( ShaderCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -28825,21 +38163,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderEXT shader; - Result result = static_cast( d.vkCreateShadersEXT( m_device, - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &shader ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXTUnique", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + Result result_ = static_cast( d.vkCreateShadersEXT( static_cast( m_device ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &shader ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderEXTUnique", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); return ResultValue>( - result, UniqueHandle( shader, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( shader, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroyShaderEXT( ShaderEXT shader, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -28849,7 +38192,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroyShaderEXT( ShaderEXT shader, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28858,12 +38206,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyShaderEXT && "Function requires " ); # endif - d.vkDestroyShaderEXT( m_device, static_cast( shader ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyShaderEXT( + static_cast( m_device ), static_cast( shader ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( ShaderEXT shader, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -28873,7 +38227,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( ShaderEXT shader, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -28881,12 +38240,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyShaderEXT && "Function requires " ); # endif - d.vkDestroyShaderEXT( m_device, static_cast( shader ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyShaderEXT( + static_cast( m_device ), static_cast( shader ), reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetShaderBinaryDataEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getShaderBinaryDataEXT( ShaderEXT shader, size_t * pDataSize, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28896,10 +38261,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetShaderBinaryDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getShaderBinaryDataEXT( ShaderEXT shader, Dispatch const & d ) const { @@ -28910,31 +38280,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetShaderBinaryDataEXT( m_device, static_cast( shader ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + result_ = static_cast( d.vkGetShaderBinaryDataEXT( static_cast( m_device ), static_cast( shader ), &dataSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = - static_cast( d.vkGetShaderBinaryDataEXT( m_device, static_cast( shader ), &dataSize, reinterpret_cast( data.data() ) ) ); + result_ = static_cast( d.vkGetShaderBinaryDataEXT( + static_cast( m_device ), static_cast( shader ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderBinaryDataEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderBinaryDataEXT" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetShaderBinaryDataEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getShaderBinaryDataEXT( ShaderEXT shader, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const { @@ -28945,29 +38320,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data( uint8_tAllocator ); size_t dataSize; - Result result; + Result result_; do { - result = static_cast( d.vkGetShaderBinaryDataEXT( m_device, static_cast( shader ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + result_ = static_cast( d.vkGetShaderBinaryDataEXT( static_cast( m_device ), static_cast( shader ), &dataSize, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = - static_cast( d.vkGetShaderBinaryDataEXT( m_device, static_cast( shader ), &dataSize, reinterpret_cast( data.data() ) ) ); + result_ = static_cast( d.vkGetShaderBinaryDataEXT( + static_cast( m_device ), static_cast( shader ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderBinaryDataEXT" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getShaderBinaryDataEXT" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return detail::createResultValueType( result, std::move( data ) ); + return detail::createResultValueType( result_, std::move( data ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindShadersEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindShadersEXT( uint32_t stageCount, ShaderStageFlagBits const * pStages, ShaderEXT const * pShaders, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -28980,7 +38360,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindShadersEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindShadersEXT( ArrayProxy const & stages, ArrayProxy const & shaders, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS @@ -28998,7 +38383,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - d.vkCmdBindShadersEXT( m_commandBuffer, + d.vkCmdBindShadersEXT( static_cast( m_commandBuffer ), stages.size(), reinterpret_cast( stages.data() ), reinterpret_cast( shaders.data() ) ); @@ -29006,7 +38391,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClampRangeEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, DepthClampRangeEXT const * pDepthClampRange, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29018,7 +38408,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetDepthClampRangeEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, Optional depthClampRange, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29028,15 +38423,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdSetDepthClampRangeEXT( - m_commandBuffer, static_cast( depthClampMode ), reinterpret_cast( depthClampRange.get() ) ); + d.vkCmdSetDepthClampRangeEXT( static_cast( m_commandBuffer ), + static_cast( depthClampMode ), + reinterpret_cast( depthClampRange.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_pipeline_binary === // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, PipelineBinaryHandlesInfoKHR * pBinaries, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -29050,10 +38451,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineBinaryKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -29064,47 +38470,53 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector pipelineBinaries; PipelineBinaryHandlesInfoKHR binaries; - Result result; + Result result_; if ( createInfo.pKeysAndDataInfo ) { VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } else { VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); - if ( result == Result::eSuccess ) + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaries.resize( binaries.pipelineBinaryCount ); binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } } - detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); + detail::resultCheck( result_, + VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", + { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); - return { result, pipelineBinaries }; + return { result_, pipelineBinaries }; } // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineBinaryKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator, @@ -29118,48 +38530,54 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector pipelineBinaries( pipelineBinaryKHRAllocator ); PipelineBinaryHandlesInfoKHR binaries; - Result result; + Result result_; if ( createInfo.pKeysAndDataInfo ) { VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } else { VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); - if ( result == Result::eSuccess ) + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaries.resize( binaries.pipelineBinaryCount ); binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } } - detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); + detail::resultCheck( result_, + VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", + { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); - return { result, pipelineBinaries }; + return { result_, pipelineBinaries }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineBinaryKHRAllocator> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineBinaryKHRAllocator>> Device::createPipelineBinariesKHRUnique( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator, Dispatch const & d ) const @@ -29171,37 +38589,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector pipelineBinaries; PipelineBinaryHandlesInfoKHR binaries; - Result result; + Result result_; if ( createInfo.pKeysAndDataInfo ) { VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } else { VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); - if ( result == Result::eSuccess ) + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaries.resize( binaries.pipelineBinaryCount ); binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } } - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHRUnique", { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); std::vector, PipelineBinaryKHRAllocator> uniquePipelineBinaries; @@ -29211,14 +38629,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelineBinaries.push_back( UniqueHandle( pipelineBinary, deleter ) ); } - return ResultValue, PipelineBinaryKHRAllocator>>( result, std::move( uniquePipelineBinaries ) ); + return ResultValue, PipelineBinaryKHRAllocator>>( result_, std::move( uniquePipelineBinaries ) ); } // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineBinaryKHRAllocator> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineBinaryKHRAllocator>> Device::createPipelineBinariesKHRUnique( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator, @@ -29232,37 +38655,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector pipelineBinaries; PipelineBinaryHandlesInfoKHR binaries; - Result result; + Result result_; if ( createInfo.pKeysAndDataInfo ) { VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } else { VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); - if ( result == Result::eSuccess ) + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaries.resize( binaries.pipelineBinaryCount ); binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( d.vkCreatePipelineBinariesKHR( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( d.vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } } - detail::resultCheck( result, + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createPipelineBinariesKHRUnique", { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); std::vector, PipelineBinaryKHRAllocator> uniquePipelineBinaries( pipelineBinaryKHRAllocator ); @@ -29272,13 +38695,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelineBinaries.push_back( UniqueHandle( pipelineBinary, deleter ) ); } - return ResultValue, PipelineBinaryKHRAllocator>>( result, std::move( uniquePipelineBinaries ) ); + return ResultValue, PipelineBinaryKHRAllocator>>( result_, std::move( uniquePipelineBinaries ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroyPipelineBinaryKHR( PipelineBinaryKHR pipelineBinary, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29289,7 +38717,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroyPipelineBinaryKHR( PipelineBinaryKHR pipelineBinary, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29298,13 +38731,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipelineBinaryKHR && "Function requires " ); # endif - d.vkDestroyPipelineBinaryKHR( - m_device, static_cast( pipelineBinary ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipelineBinaryKHR( static_cast( m_device ), + static_cast( pipelineBinary ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( PipelineBinaryKHR pipelineBinary, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29315,7 +38754,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( PipelineBinaryKHR pipelineBinary, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29324,13 +38768,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyPipelineBinaryKHR && "Function requires " ); # endif - d.vkDestroyPipelineBinaryKHR( - m_device, static_cast( pipelineBinary ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyPipelineBinaryKHR( static_cast( m_device ), + static_cast( pipelineBinary ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineKeyKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineKeyKHR( PipelineCreateInfoKHR const * pPipelineCreateInfo, PipelineBinaryKeyKHR * pPipelineKey, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29342,7 +38792,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPipelineKeyKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getPipelineKeyKHR( Optional pipelineCreateInfo, Dispatch const & d ) const { @@ -29352,16 +38807,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif PipelineBinaryKeyKHR pipelineKey; - Result result = static_cast( d.vkGetPipelineKeyKHR( - m_device, reinterpret_cast( pipelineCreateInfo.get() ), reinterpret_cast( &pipelineKey ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineKeyKHR" ); + Result result_ = static_cast( d.vkGetPipelineKeyKHR( static_cast( m_device ), + reinterpret_cast( pipelineCreateInfo.get() ), + reinterpret_cast( &pipelineKey ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineKeyKHR" ); - return detail::createResultValueType( result, std::move( pipelineKey ) ); + return detail::createResultValueType( result_, std::move( pipelineKey ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPipelineBinaryDataKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getPipelineBinaryDataKHR( PipelineBinaryDataInfoKHR const * pInfo, PipelineBinaryKeyKHR * pPipelineBinaryKey, size_t * pPipelineBinaryDataSize, @@ -29378,10 +38839,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineBinaryDataKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>>::type Device::getPipelineBinaryDataKHR( PipelineBinaryDataInfoKHR const & info, Dispatch const & d ) const { @@ -29394,31 +38860,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineBinaryKeyKHR & pipelineBinaryKey = data_.first; std::vector & pipelineBinaryData = data_.second; size_t pipelineBinaryDataSize; - Result result = static_cast( d.vkGetPipelineBinaryDataKHR( m_device, - reinterpret_cast( &info ), - reinterpret_cast( &pipelineBinaryKey ), - &pipelineBinaryDataSize, - nullptr ) ); - if ( result == Result::eSuccess ) + Result result_ = static_cast( d.vkGetPipelineBinaryDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &pipelineBinaryKey ), + &pipelineBinaryDataSize, + nullptr ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaryData.resize( pipelineBinaryDataSize ); - result = static_cast( d.vkGetPipelineBinaryDataKHR( m_device, - reinterpret_cast( &info ), - reinterpret_cast( &pipelineBinaryKey ), - &pipelineBinaryDataSize, - reinterpret_cast( pipelineBinaryData.data() ) ) ); + result_ = static_cast( d.vkGetPipelineBinaryDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &pipelineBinaryKey ), + &pipelineBinaryDataSize, + reinterpret_cast( pipelineBinaryData.data() ) ) ); } - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint8_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPipelineBinaryDataKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>>::type Device::getPipelineBinaryDataKHR( PipelineBinaryDataInfoKHR const & info, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d ) const { @@ -29432,30 +38903,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineBinaryKeyKHR & pipelineBinaryKey = data_.first; std::vector & pipelineBinaryData = data_.second; size_t pipelineBinaryDataSize; - Result result = static_cast( d.vkGetPipelineBinaryDataKHR( m_device, - reinterpret_cast( &info ), - reinterpret_cast( &pipelineBinaryKey ), - &pipelineBinaryDataSize, - nullptr ) ); - if ( result == Result::eSuccess ) + Result result_ = static_cast( d.vkGetPipelineBinaryDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &pipelineBinaryKey ), + &pipelineBinaryDataSize, + nullptr ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaryData.resize( pipelineBinaryDataSize ); - result = static_cast( d.vkGetPipelineBinaryDataKHR( m_device, - reinterpret_cast( &info ), - reinterpret_cast( &pipelineBinaryKey ), - &pipelineBinaryDataSize, - reinterpret_cast( pipelineBinaryData.data() ) ) ); + result_ = static_cast( d.vkGetPipelineBinaryDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &pipelineBinaryKey ), + &pipelineBinaryDataSize, + reinterpret_cast( pipelineBinaryData.data() ) ) ); } - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkReleaseCapturedPipelineDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkReleaseCapturedPipelineDataKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releaseCapturedPipelineDataKHR( ReleaseCapturedPipelineDataInfoKHR const * pInfo, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29468,7 +38944,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseCapturedPipelineDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseCapturedPipelineDataKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::releaseCapturedPipelineDataKHR( ReleaseCapturedPipelineDataInfoKHR const & info, Optional allocator, Dispatch const & d ) const { @@ -29477,11 +38958,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkReleaseCapturedPipelineDataKHR && "Function requires " ); # endif - Result result = static_cast( d.vkReleaseCapturedPipelineDataKHR( - m_device, reinterpret_cast( &info ), reinterpret_cast( allocator.get() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseCapturedPipelineDataKHR" ); + Result result_ = static_cast( d.vkReleaseCapturedPipelineDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( allocator.get() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseCapturedPipelineDataKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -29489,7 +38971,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFramebufferTilePropertiesQCOM( Framebuffer framebuffer, uint32_t * pPropertiesCount, TilePropertiesQCOM * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29503,10 +38990,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template TilePropertiesQCOMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getFramebufferTilePropertiesQCOM( Framebuffer framebuffer, Dispatch const & d ) const { @@ -29517,32 +39009,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertiesCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetFramebufferTilePropertiesQCOM( m_device, static_cast( framebuffer ), &propertiesCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertiesCount ) + result_ = static_cast( + d.vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), static_cast( framebuffer ), &propertiesCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertiesCount ) { properties.resize( propertiesCount ); - result = static_cast( d.vkGetFramebufferTilePropertiesQCOM( - m_device, static_cast( framebuffer ), &propertiesCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), + static_cast( framebuffer ), + &propertiesCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFramebufferTilePropertiesQCOM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFramebufferTilePropertiesQCOM" ); VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); if ( propertiesCount < properties.size() ) { properties.resize( propertiesCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template TilePropertiesQCOMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getFramebufferTilePropertiesQCOM( Framebuffer framebuffer, TilePropertiesQCOMAllocator const & tilePropertiesQCOMAllocator, Dispatch const & d ) const @@ -29554,30 +39054,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( tilePropertiesQCOMAllocator ); uint32_t propertiesCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetFramebufferTilePropertiesQCOM( m_device, static_cast( framebuffer ), &propertiesCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertiesCount ) + result_ = static_cast( + d.vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), static_cast( framebuffer ), &propertiesCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertiesCount ) { properties.resize( propertiesCount ); - result = static_cast( d.vkGetFramebufferTilePropertiesQCOM( - m_device, static_cast( framebuffer ), &propertiesCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), + static_cast( framebuffer ), + &propertiesCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFramebufferTilePropertiesQCOM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFramebufferTilePropertiesQCOM" ); VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); if ( propertiesCount < properties.size() ) { properties.resize( propertiesCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDynamicRenderingTilePropertiesQCOM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDynamicRenderingTilePropertiesQCOM( RenderingInfo const * pRenderingInfo, TilePropertiesQCOM * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29590,7 +39098,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDynamicRenderingTilePropertiesQCOM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getDynamicRenderingTilePropertiesQCOM( RenderingInfo const & renderingInfo, Dispatch const & d ) const { @@ -29600,18 +39113,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif TilePropertiesQCOM properties; - Result result = static_cast( d.vkGetDynamicRenderingTilePropertiesQCOM( - m_device, reinterpret_cast( &renderingInfo ), reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getDynamicRenderingTilePropertiesQCOM" ); + Result result_ = static_cast( d.vkGetDynamicRenderingTilePropertiesQCOM( static_cast( m_device ), + reinterpret_cast( &renderingInfo ), + reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getDynamicRenderingTilePropertiesQCOM" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_swapchain_maintenance1 === // wrapper function for command vkReleaseSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::releaseSwapchainImagesKHR( ReleaseSwapchainImagesInfoKHR const * pReleaseInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29622,7 +39141,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::releaseSwapchainImagesKHR( ReleaseSwapchainImagesInfoKHR const & releaseInfo, Dispatch const & d ) const { @@ -29632,10 +39156,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - Result result = static_cast( d.vkReleaseSwapchainImagesKHR( m_device, reinterpret_cast( &releaseInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseSwapchainImagesKHR" ); + Result result_ = static_cast( + d.vkReleaseSwapchainImagesKHR( static_cast( m_device ), reinterpret_cast( &releaseInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::releaseSwapchainImagesKHR" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -29643,7 +39168,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeVectorPropertiesNV( uint32_t * pPropertyCount, CooperativeVectorPropertiesNV * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29655,10 +39185,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CooperativeVectorPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeVectorPropertiesNV( Dispatch const & d ) const { @@ -29670,32 +39205,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CooperativeVectorPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeVectorPropertiesNV( CooperativeVectorPropertiesNVAllocator const & cooperativeVectorPropertiesNVAllocator, Dispatch const & d ) const @@ -29708,30 +39249,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( cooperativeVectorPropertiesNVAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeVectorPropertiesNV( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkConvertCooperativeVectorMatrixNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::convertCooperativeVectorMatrixNV( ConvertCooperativeVectorMatrixInfoNV const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29743,7 +39290,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkConvertCooperativeVectorMatrixNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::convertCooperativeVectorMatrixNV( ConvertCooperativeVectorMatrixInfoNV const & info, Dispatch const & d ) const { @@ -29752,17 +39304,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkConvertCooperativeVectorMatrixNV && "Function requires " ); # endif - Result result = - static_cast( d.vkConvertCooperativeVectorMatrixNV( m_device, reinterpret_cast( &info ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::convertCooperativeVectorMatrixNV", { Result::eSuccess, Result::eIncomplete } ); + Result result_ = static_cast( + d.vkConvertCooperativeVectorMatrixNV( static_cast( m_device ), reinterpret_cast( &info ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::convertCooperativeVectorMatrixNV", { Result::eSuccess, Result::eIncomplete } ); - return static_cast( result ); + return static_cast( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdConvertCooperativeVectorMatrixNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::convertCooperativeVectorMatrixNV( uint32_t infoCount, ConvertCooperativeVectorMatrixInfoNV const * pInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29774,7 +39331,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdConvertCooperativeVectorMatrixNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::convertCooperativeVectorMatrixNV( ArrayProxy const & infos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29783,14 +39345,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdConvertCooperativeVectorMatrixNV && "Function requires " ); # endif - d.vkCmdConvertCooperativeVectorMatrixNV( m_commandBuffer, infos.size(), reinterpret_cast( infos.data() ) ); + d.vkCmdConvertCooperativeVectorMatrixNV( + static_cast( m_commandBuffer ), infos.size(), reinterpret_cast( infos.data() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_NV_low_latency2 === // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetLatencySleepModeNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setLatencySleepModeNV( SwapchainKHR swapchain, LatencySleepModeInfoNV const * pSleepModeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29801,7 +39369,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetLatencySleepModeNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::setLatencySleepModeNV( SwapchainKHR swapchain, LatencySleepModeInfoNV const & sleepModeInfo, Dispatch const & d ) const { @@ -29810,16 +39383,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetLatencySleepModeNV && "Function requires " ); # endif - Result result = static_cast( - d.vkSetLatencySleepModeNV( m_device, static_cast( swapchain ), reinterpret_cast( &sleepModeInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setLatencySleepModeNV" ); + Result result_ = static_cast( d.vkSetLatencySleepModeNV( + static_cast( m_device ), static_cast( swapchain ), reinterpret_cast( &sleepModeInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::setLatencySleepModeNV" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkLatencySleepNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::latencySleepNV( SwapchainKHR swapchain, LatencySleepInfoNV const * pSleepInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29830,7 +39408,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkLatencySleepNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::latencySleepNV( SwapchainKHR swapchain, LatencySleepInfoNV const & sleepInfo, Dispatch const & d ) const { @@ -29839,16 +39422,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkLatencySleepNV && "Function requires " ); # endif - Result result = static_cast( - d.vkLatencySleepNV( m_device, static_cast( swapchain ), reinterpret_cast( &sleepInfo ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::latencySleepNV" ); + Result result_ = static_cast( d.vkLatencySleepNV( + static_cast( m_device ), static_cast( swapchain ), reinterpret_cast( &sleepInfo ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::latencySleepNV" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkSetLatencyMarkerNV ) ) +#endif VULKAN_HPP_INLINE void Device::setLatencyMarkerNV( SwapchainKHR swapchain, SetLatencyMarkerInfoNV const * pLatencyMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29859,7 +39447,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkSetLatencyMarkerNV ) ) +# endif VULKAN_HPP_INLINE void Device::setLatencyMarkerNV( SwapchainKHR swapchain, SetLatencyMarkerInfoNV const & latencyMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29868,12 +39461,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkSetLatencyMarkerNV && "Function requires " ); # endif - d.vkSetLatencyMarkerNV( m_device, static_cast( swapchain ), reinterpret_cast( &latencyMarkerInfo ) ); + d.vkSetLatencyMarkerNV( + static_cast( m_device ), static_cast( swapchain ), reinterpret_cast( &latencyMarkerInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetLatencyTimingsNV ) ) +#endif VULKAN_HPP_INLINE void Device::getLatencyTimingsNV( SwapchainKHR swapchain, GetLatencyMarkerInfoNV * pLatencyMarkerInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29883,7 +39482,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkQueueNotifyOutOfBandNV ) ) +#endif VULKAN_HPP_INLINE void Queue::notifyOutOfBandNV( OutOfBandQueueTypeInfoNV const * pQueueTypeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -29892,7 +39496,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkQueueNotifyOutOfBandNV ) ) +# endif VULKAN_HPP_INLINE void Queue::notifyOutOfBandNV( OutOfBandQueueTypeInfoNV const & queueTypeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -29900,7 +39509,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkQueueNotifyOutOfBandNV && "Function requires " ); # endif - d.vkQueueNotifyOutOfBandNV( m_queue, reinterpret_cast( &queueTypeInfo ) ); + d.vkQueueNotifyOutOfBandNV( static_cast( m_queue ), reinterpret_cast( &queueTypeInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -29908,7 +39517,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeMatrixPropertiesKHR( uint32_t * pPropertyCount, CooperativeMatrixPropertiesKHR * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -29920,11 +39534,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeMatrixPropertiesKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template CooperativeMatrixPropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeMatrixPropertiesKHR( Dispatch const & d ) const { @@ -29936,33 +39555,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeMatrixPropertiesKHRAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template CooperativeMatrixPropertiesKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeMatrixPropertiesKHR( CooperativeMatrixPropertiesKHRAllocator const & cooperativeMatrixPropertiesKHRAllocator, Dispatch const & d ) const @@ -29975,24 +39600,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( cooperativeMatrixPropertiesKHRAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( + static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -30000,7 +39626,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDataGraphPipelinesARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, uint32_t createInfoCount, @@ -30022,10 +39653,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createDataGraphPipelinesARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -30039,14 +39675,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateDataGraphPipelinesARM( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateDataGraphPipelinesARM( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelinesARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -30054,15 +39690,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PipelineAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createDataGraphPipelinesARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -30077,14 +39718,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size(), {}, pipelineAllocator ); - Result result = static_cast( d.vkCreateDataGraphPipelinesARM( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateDataGraphPipelinesARM( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelinesARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -30092,12 +39733,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE allocator.get(), d ); - return { result, pipelines }; + return { result_, pipelines }; } // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue Device::createDataGraphPipelineARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, DataGraphPipelineCreateInfoARM const & createInfo, @@ -30110,26 +39756,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateDataGraphPipelinesARM( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( d.vkCreateDataGraphPipelinesARM( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return { result, pipeline }; + return { result_, pipeline }; } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createDataGraphPipelinesARMUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -30143,14 +39794,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateDataGraphPipelinesARM( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateDataGraphPipelinesARM( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelinesARMUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -30164,15 +39815,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template >::value, int>::type, typename std::enable_if::type> +# else + template > PipelineAllocator> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue, PipelineAllocator>> Device::createDataGraphPipelinesARMUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -30187,14 +39843,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif std::vector pipelines( createInfos.size() ); - Result result = static_cast( d.vkCreateDataGraphPipelinesARM( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( pipelines.data() ) ) ); - detail::resultCheck( result, + Result result_ = static_cast( d.vkCreateDataGraphPipelinesARM( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( pipelines.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelinesARMUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT }, m_device, @@ -30208,12 +39864,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { uniquePipelines.push_back( UniqueHandle( pipeline, deleter ) ); } - return ResultValue, PipelineAllocator>>( result, std::move( uniquePipelines ) ); + return ResultValue, PipelineAllocator>>( result_, std::move( uniquePipelines ) ); } // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::createDataGraphPipelineARMUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -30227,25 +39888,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif Pipeline pipeline; - Result result = static_cast( d.vkCreateDataGraphPipelinesARM( m_device, - static_cast( deferredOperation ), - static_cast( pipelineCache ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( d.vkCreateDataGraphPipelinesARM( static_cast( m_device ), + static_cast( deferredOperation ), + static_cast( pipelineCache ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); detail::resultCheck( - result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineARMUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineARMUnique", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); return ResultValue>( - result, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( pipeline, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelineSessionARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createDataGraphPipelineSessionARM( DataGraphPipelineSessionCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, DataGraphPipelineSessionARM * pSession, @@ -30261,7 +39927,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelineSessionARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createDataGraphPipelineSessionARM( DataGraphPipelineSessionCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -30271,20 +39942,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataGraphPipelineSessionARM session; - Result result = - static_cast( d.vkCreateDataGraphPipelineSessionARM( m_device, + Result result_ = + static_cast( d.vkCreateDataGraphPipelineSessionARM( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &session ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARM" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARM" ); - return detail::createResultValueType( result, std::move( session ) ); + return detail::createResultValueType( result_, std::move( session ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelineSessionARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createDataGraphPipelineSessionARMUnique( DataGraphPipelineSessionCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const @@ -30295,22 +39971,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif DataGraphPipelineSessionARM session; - Result result = - static_cast( d.vkCreateDataGraphPipelineSessionARM( m_device, + Result result_ = + static_cast( d.vkCreateDataGraphPipelineSessionARM( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &session ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARMUnique" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARMUnique" ); return detail::createResultValueType( - result, UniqueHandle( session, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( session, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionBindPointRequirementsARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDataGraphPipelineSessionBindPointRequirementsARM( DataGraphPipelineSessionBindPointRequirementsInfoARM const * pInfo, uint32_t * pBindPointRequirementCount, @@ -30328,12 +40009,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataGraphPipelineSessionBindPointRequirementARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionBindPointRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getDataGraphPipelineSessionBindPointRequirementsARM( DataGraphPipelineSessionBindPointRequirementsInfoARM const & info, Dispatch const & d ) const @@ -30346,38 +40032,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector bindPointRequirements; uint32_t bindPointRequirementCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( - m_device, reinterpret_cast( &info ), &bindPointRequirementCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && bindPointRequirementCount ) + result_ = static_cast( + d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( static_cast( m_device ), + reinterpret_cast( &info ), + &bindPointRequirementCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && bindPointRequirementCount ) { bindPointRequirements.resize( bindPointRequirementCount ); - result = static_cast( d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( - m_device, + result_ = static_cast( d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( + static_cast( m_device ), reinterpret_cast( &info ), &bindPointRequirementCount, reinterpret_cast( bindPointRequirements.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); VULKAN_HPP_ASSERT( bindPointRequirementCount <= bindPointRequirements.size() ); if ( bindPointRequirementCount < bindPointRequirements.size() ) { bindPointRequirements.resize( bindPointRequirementCount ); } - return detail::createResultValueType( result, std::move( bindPointRequirements ) ); + return detail::createResultValueType( result_, std::move( bindPointRequirements ) ); } // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataGraphPipelineSessionBindPointRequirementARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionBindPointRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getDataGraphPipelineSessionBindPointRequirementsARM( @@ -30394,34 +40088,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector bindPointRequirements( dataGraphPipelineSessionBindPointRequirementARMAllocator ); uint32_t bindPointRequirementCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( - m_device, reinterpret_cast( &info ), &bindPointRequirementCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && bindPointRequirementCount ) + result_ = static_cast( + d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( static_cast( m_device ), + reinterpret_cast( &info ), + &bindPointRequirementCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && bindPointRequirementCount ) { bindPointRequirements.resize( bindPointRequirementCount ); - result = static_cast( d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( - m_device, + result_ = static_cast( d.vkGetDataGraphPipelineSessionBindPointRequirementsARM( + static_cast( m_device ), reinterpret_cast( &info ), &bindPointRequirementCount, reinterpret_cast( bindPointRequirements.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); VULKAN_HPP_ASSERT( bindPointRequirementCount <= bindPointRequirements.size() ); if ( bindPointRequirementCount < bindPointRequirements.size() ) { bindPointRequirements.resize( bindPointRequirementCount ); } - return detail::createResultValueType( result, std::move( bindPointRequirements ) ); + return detail::createResultValueType( result_, std::move( bindPointRequirements ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionMemoryRequirementsARM ) ) +#endif VULKAN_HPP_INLINE void Device::getDataGraphPipelineSessionMemoryRequirementsARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30434,7 +40136,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getDataGraphPipelineSessionMemoryRequirementsARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30445,7 +40152,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetDataGraphPipelineSessionMemoryRequirementsARM( m_device, + d.vkGetDataGraphPipelineSessionMemoryRequirementsARM( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -30454,11 +40161,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getDataGraphPipelineSessionMemoryRequirementsARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30470,7 +40182,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetDataGraphPipelineSessionMemoryRequirementsARM( m_device, + d.vkGetDataGraphPipelineSessionMemoryRequirementsARM( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -30480,7 +40192,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkBindDataGraphPipelineSessionMemoryARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindDataGraphPipelineSessionMemoryARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkBindDataGraphPipelineSessionMemoryARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::bindDataGraphPipelineSessionMemoryARM( uint32_t bindInfoCount, BindDataGraphPipelineSessionMemoryInfoARM const * pBindInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30492,7 +40209,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindDataGraphPipelineSessionMemoryARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindDataGraphPipelineSessionMemoryARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkBindDataGraphPipelineSessionMemoryARM ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType::type Device::bindDataGraphPipelineSessionMemoryARM( ArrayProxy const & bindInfos, Dispatch const & d ) const { @@ -30501,17 +40223,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkBindDataGraphPipelineSessionMemoryARM && "Function requires " ); # endif - Result result = static_cast( d.vkBindDataGraphPipelineSessionMemoryARM( - m_device, bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindDataGraphPipelineSessionMemoryARM" ); + Result result_ = static_cast( d.vkBindDataGraphPipelineSessionMemoryARM( + static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::bindDataGraphPipelineSessionMemoryARM" ); - return detail::createResultValueType( result ); + return detail::createResultValueType( result_ ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroyDataGraphPipelineSessionARM( DataGraphPipelineSessionARM session, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30523,7 +40250,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroyDataGraphPipelineSessionARM( DataGraphPipelineSessionARM session, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30532,14 +40264,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDataGraphPipelineSessionARM && "Function requires " ); # endif - d.vkDestroyDataGraphPipelineSessionARM( - m_device, static_cast( session ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDataGraphPipelineSessionARM( static_cast( m_device ), + static_cast( session ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( DataGraphPipelineSessionARM session, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30551,7 +40289,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( DataGraphPipelineSessionARM session, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30560,13 +40303,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyDataGraphPipelineSessionARM && "Function requires " ); # endif - d.vkDestroyDataGraphPipelineSessionARM( - m_device, static_cast( session ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyDataGraphPipelineSessionARM( static_cast( m_device ), + static_cast( session ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchDataGraphARM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::dispatchDataGraphARM( DataGraphPipelineSessionARM session, DataGraphPipelineDispatchInfoARM const * pInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30578,7 +40327,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchDataGraphARM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::dispatchDataGraphARM( DataGraphPipelineSessionARM session, Optional info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30587,14 +40341,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDispatchDataGraphARM && "Function requires " ); # endif - d.vkCmdDispatchDataGraphARM( - m_commandBuffer, static_cast( session ), reinterpret_cast( info.get() ) ); + d.vkCmdDispatchDataGraphARM( static_cast( m_commandBuffer ), + static_cast( session ), + reinterpret_cast( info.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineAvailablePropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDataGraphPipelineAvailablePropertiesARM( DataGraphPipelineInfoARM const * pPipelineInfo, uint32_t * pPropertiesCount, DataGraphPipelinePropertyARM * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -30609,10 +40369,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataGraphPipelinePropertyARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDataGraphPipelineAvailablePropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getDataGraphPipelineAvailablePropertiesARM( DataGraphPipelineInfoARM const & pipelineInfo, Dispatch const & d ) const { @@ -30624,36 +40389,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertiesCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( - m_device, reinterpret_cast( &pipelineInfo ), &propertiesCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertiesCount ) + result_ = static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( + static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &propertiesCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertiesCount ) { properties.resize( propertiesCount ); - result = - static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( m_device, + result_ = + static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &propertiesCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); if ( propertiesCount < properties.size() ) { properties.resize( propertiesCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataGraphPipelinePropertyARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDataGraphPipelineAvailablePropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getDataGraphPipelineAvailablePropertiesARM( DataGraphPipelineInfoARM const & pipelineInfo, DataGraphPipelinePropertyARMAllocator const & dataGraphPipelinePropertyARMAllocator, Dispatch const & d ) @@ -30667,34 +40437,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( dataGraphPipelinePropertyARMAllocator ); uint32_t propertiesCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( - m_device, reinterpret_cast( &pipelineInfo ), &propertiesCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertiesCount ) + result_ = static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( + static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &propertiesCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertiesCount ) { properties.resize( propertiesCount ); - result = - static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( m_device, + result_ = + static_cast( d.vkGetDataGraphPipelineAvailablePropertiesARM( static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &propertiesCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); if ( propertiesCount < properties.size() ) { properties.resize( propertiesCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDataGraphPipelinePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelinePropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelinePropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getDataGraphPipelinePropertiesARM( DataGraphPipelineInfoARM const * pPipelineInfo, uint32_t propertiesCount, DataGraphPipelinePropertyQueryResultARM * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -30708,7 +40483,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex, uint32_t * pQueueFamilyDataGraphPropertyCount, @@ -30726,11 +40506,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename QueueFamilyDataGraphPropertiesARMAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyDataGraphPropertiesARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex, Dispatch const & d ) const @@ -30743,37 +40528,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyDataGraphProperties; uint32_t queueFamilyDataGraphPropertyCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( m_physicalDevice, queueFamilyIndex, &queueFamilyDataGraphPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) { queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); - result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( - m_physicalDevice, + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, reinterpret_cast( queueFamilyDataGraphProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); VULKAN_HPP_ASSERT( queueFamilyDataGraphPropertyCount <= queueFamilyDataGraphProperties.size() ); if ( queueFamilyDataGraphPropertyCount < queueFamilyDataGraphProperties.size() ) { queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); } - return detail::createResultValueType( result, std::move( queueFamilyDataGraphProperties ) ); + return detail::createResultValueType( result_, std::move( queueFamilyDataGraphProperties ) ); } // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename QueueFamilyDataGraphPropertiesARMAllocator, typename Dispatch, typename std::enable_if::value, int>::type, typename std::enable_if::type> +# else + template QueueFamilyDataGraphPropertiesARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getQueueFamilyDataGraphPropertiesARM( @@ -30788,34 +40578,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyDataGraphProperties( queueFamilyDataGraphPropertiesARMAllocator ); uint32_t queueFamilyDataGraphPropertyCount; - Result result; + Result result_; do { - result = static_cast( - d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( m_physicalDevice, queueFamilyIndex, &queueFamilyDataGraphPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) { queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); - result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( - m_physicalDevice, + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, reinterpret_cast( queueFamilyDataGraphProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); VULKAN_HPP_ASSERT( queueFamilyDataGraphPropertyCount <= queueFamilyDataGraphProperties.size() ); if ( queueFamilyDataGraphPropertyCount < queueFamilyDataGraphProperties.size() ) { queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); } - return detail::createResultValueType( result, std::move( queueFamilyDataGraphProperties ) ); + return detail::createResultValueType( result_, std::move( queueFamilyDataGraphProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM ) ) +#endif VULKAN_HPP_INLINE void PhysicalDevice::getQueueFamilyDataGraphProcessingEnginePropertiesARM( PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM const * pQueueFamilyDataGraphProcessingEngineInfo, QueueFamilyDataGraphProcessingEnginePropertiesARM * pQueueFamilyDataGraphProcessingEngineProperties, @@ -30831,7 +40626,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE QueueFamilyDataGraphProcessingEnginePropertiesARM PhysicalDevice::getQueueFamilyDataGraphProcessingEnginePropertiesARM( PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM const & queueFamilyDataGraphProcessingEngineInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30843,7 +40643,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE QueueFamilyDataGraphProcessingEnginePropertiesARM queueFamilyDataGraphProcessingEngineProperties; d.vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM( - m_physicalDevice, + static_cast( m_physicalDevice ), reinterpret_cast( &queueFamilyDataGraphProcessingEngineInfo ), reinterpret_cast( &queueFamilyDataGraphProcessingEngineProperties ) ); @@ -30855,7 +40655,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getQueueFamilyDataGraphEngineOperationPropertiesARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARM const * pQueueFamilyDataGraphProperties, BaseOutStructure * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -30871,7 +40676,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type PhysicalDevice::getQueueFamilyDataGraphEngineOperationPropertiesARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARM const & queueFamilyDataGraphProperties, Dispatch const & d ) const { @@ -30883,14 +40693,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif BaseOutStructure properties; - Result result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM( - m_physicalDevice, + Result result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM( + static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphEngineOperationPropertiesARM" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphEngineOperationPropertiesARM" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -30898,7 +40708,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetAttachmentFeedbackLoopEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAttachmentFeedbackLoopEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetAttachmentFeedbackLoopEnableEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setAttachmentFeedbackLoopEnableEXT( ImageAspectFlags aspectMask, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -30910,7 +40725,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetScreenBufferPropertiesQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetScreenBufferPropertiesQNX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getScreenBufferPropertiesQNX( struct _screen_buffer const * buffer, ScreenBufferPropertiesQNX * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30922,7 +40742,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetScreenBufferPropertiesQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetScreenBufferPropertiesQNX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getScreenBufferPropertiesQNX( struct _screen_buffer const & buffer, Dispatch const & d ) const { @@ -30932,16 +40757,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ScreenBufferPropertiesQNX properties; - Result result = - static_cast( d.vkGetScreenBufferPropertiesQNX( m_device, &buffer, reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); + Result result_ = static_cast( + d.vkGetScreenBufferPropertiesQNX( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetScreenBufferPropertiesQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetScreenBufferPropertiesQNX ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getScreenBufferPropertiesQNX( struct _screen_buffer const & buffer, Dispatch const & d ) const { @@ -30952,11 +40782,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; ScreenBufferPropertiesQNX & properties = structureChain.template get(); - Result result = - static_cast( d.vkGetScreenBufferPropertiesQNX( m_device, &buffer, reinterpret_cast( &properties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); + Result result_ = static_cast( + d.vkGetScreenBufferPropertiesQNX( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); - return detail::createResultValueType( result, std::move( structureChain ) ); + return detail::createResultValueType( result_, std::move( structureChain ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_SCREEN_QNX*/ @@ -30964,7 +40794,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_line_rasterization === // wrapper function for command vkCmdSetLineStippleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStippleKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setLineStippleKHR( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30976,7 +40811,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCalibrateableTimeDomainsKHR( uint32_t * pTimeDomainCount, TimeDomainKHR * pTimeDomains, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -30988,10 +40828,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template TimeDomainKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCalibrateableTimeDomainsKHR( Dispatch const & d ) const { @@ -31003,32 +40848,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector timeDomains; uint32_t timeDomainCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && timeDomainCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( static_cast( m_physicalDevice ), &timeDomainCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && timeDomainCount ) { timeDomains.resize( timeDomainCount ); - result = static_cast( - d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( + static_cast( m_physicalDevice ), &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); if ( timeDomainCount < timeDomains.size() ) { timeDomains.resize( timeDomainCount ); } - return detail::createResultValueType( result, std::move( timeDomains ) ); + return detail::createResultValueType( result_, std::move( timeDomains ) ); } // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template TimeDomainKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCalibrateableTimeDomainsKHR( TimeDomainKHRAllocator const & timeDomainKHRAllocator, Dispatch const & d ) const { @@ -31040,29 +40891,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector timeDomains( timeDomainKHRAllocator ); uint32_t timeDomainCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && timeDomainCount ) + result_ = + static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( static_cast( m_physicalDevice ), &timeDomainCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && timeDomainCount ) { timeDomains.resize( timeDomainCount ); - result = static_cast( - d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( m_physicalDevice, &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( + static_cast( m_physicalDevice ), &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); if ( timeDomainCount < timeDomains.size() ) { timeDomains.resize( timeDomainCount ); } - return detail::createResultValueType( result, std::move( timeDomains ) ); + return detail::createResultValueType( result_, std::move( timeDomains ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getCalibratedTimestampsKHR( uint32_t timestampCount, CalibratedTimestampInfoKHR const * pTimestampInfos, uint64_t * pTimestamps, uint64_t * pMaxDeviation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -31077,10 +40934,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint64_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, uint64_t>>::type Device::getCalibratedTimestampsKHR( ArrayProxy const & timestampInfos, Dispatch const & d ) const { @@ -31094,18 +40956,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); std::vector & timestamps = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( d.vkGetCalibratedTimestampsKHR( - m_device, timestampInfos.size(), reinterpret_cast( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); + Result result_ = static_cast( d.vkGetCalibratedTimestampsKHR( static_cast( m_device ), + timestampInfos.size(), + reinterpret_cast( timestampInfos.data() ), + timestamps.data(), + &maxDeviation ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template Uint64_tAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, uint64_t>>::type Device::getCalibratedTimestampsKHR( ArrayProxy const & timestampInfos, Uint64_tAllocator const & uint64_tAllocator, Dispatch const & d ) const @@ -31120,15 +40990,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::piecewise_construct, std::forward_as_tuple( timestampInfos.size(), uint64_tAllocator ), std::forward_as_tuple( 0 ) ); std::vector & timestamps = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( d.vkGetCalibratedTimestampsKHR( - m_device, timestampInfos.size(), reinterpret_cast( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); + Result result_ = static_cast( d.vkGetCalibratedTimestampsKHR( static_cast( m_device ), + timestampInfos.size(), + reinterpret_cast( timestampInfos.data() ), + timestamps.data(), + &maxDeviation ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetCalibratedTimestampsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::getCalibratedTimestampKHR( CalibratedTimestampInfoKHR const & timestampInfo, Dispatch const & d ) const { @@ -31141,18 +41019,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; uint64_t & timestamp = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( - d.vkGetCalibratedTimestampsKHR( m_device, 1, reinterpret_cast( ×tampInfo ), ×tamp, &maxDeviation ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampKHR" ); + Result result_ = static_cast( d.vkGetCalibratedTimestampsKHR( + static_cast( m_device ), 1, reinterpret_cast( ×tampInfo ), ×tamp, &maxDeviation ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampKHR" ); - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_maintenance6 === // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2KHR( BindDescriptorSetsInfo const * pBindDescriptorSetsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31163,7 +41046,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets2KHR( BindDescriptorSetsInfo const & bindDescriptorSetsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31172,12 +41060,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindDescriptorSets2KHR && "Function requires or " ); # endif - d.vkCmdBindDescriptorSets2KHR( m_commandBuffer, reinterpret_cast( &bindDescriptorSetsInfo ) ); + d.vkCmdBindDescriptorSets2KHR( static_cast( m_commandBuffer ), + reinterpret_cast( &bindDescriptorSetsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushConstants2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushConstants2KHR( PushConstantsInfo const * pPushConstantsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -31186,7 +41080,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushConstants2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushConstants2KHR( PushConstantsInfo const & pushConstantsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -31194,12 +41093,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushConstants2KHR && "Function requires or " ); # endif - d.vkCmdPushConstants2KHR( m_commandBuffer, reinterpret_cast( &pushConstantsInfo ) ); + d.vkCmdPushConstants2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &pushConstantsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2KHR( PushDescriptorSetInfo const * pPushDescriptorSetInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31210,7 +41114,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSet2KHR( PushDescriptorSetInfo const & pushDescriptorSetInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31219,13 +41128,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPushDescriptorSet2KHR && "Function requires or " ); # endif - d.vkCmdPushDescriptorSet2KHR( m_commandBuffer, reinterpret_cast( &pushDescriptorSetInfo ) ); + d.vkCmdPushDescriptorSet2KHR( static_cast( m_commandBuffer ), + reinterpret_cast( &pushDescriptorSetInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate2KHR( PushDescriptorSetWithTemplateInfo const * pPushDescriptorSetWithTemplateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31237,7 +41152,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplate2KHR( PushDescriptorSetWithTemplateInfo const & pushDescriptorSetWithTemplateInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31247,14 +41167,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); # endif - d.vkCmdPushDescriptorSetWithTemplate2KHR( m_commandBuffer, + d.vkCmdPushDescriptorSetWithTemplate2KHR( static_cast( m_commandBuffer ), reinterpret_cast( &pushDescriptorSetWithTemplateInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsets2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsets2EXT( SetDescriptorBufferOffsetsInfoEXT const * pSetDescriptorBufferOffsetsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31266,7 +41191,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsets2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsets2EXT( SetDescriptorBufferOffsetsInfoEXT const & setDescriptorBufferOffsetsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31275,13 +41205,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetDescriptorBufferOffsets2EXT && "Function requires " ); # endif - d.vkCmdSetDescriptorBufferOffsets2EXT( m_commandBuffer, reinterpret_cast( &setDescriptorBufferOffsetsInfo ) ); + d.vkCmdSetDescriptorBufferOffsets2EXT( static_cast( m_commandBuffer ), + reinterpret_cast( &setDescriptorBufferOffsetsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBufferEmbeddedSamplers2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplers2EXT( BindDescriptorBufferEmbeddedSamplersInfoEXT const * pBindDescriptorBufferEmbeddedSamplersInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31294,7 +41230,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBufferEmbeddedSamplers2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplers2EXT( BindDescriptorBufferEmbeddedSamplersInfoEXT const & bindDescriptorBufferEmbeddedSamplersInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31305,14 +41246,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif d.vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( - m_commandBuffer, reinterpret_cast( &bindDescriptorBufferEmbeddedSamplersInfo ) ); + static_cast( m_commandBuffer ), + reinterpret_cast( &bindDescriptorBufferEmbeddedSamplersInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_QCOM_tile_memory_heap === // wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBindTileMemoryQCOM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::bindTileMemoryQCOM( TileMemoryBindInfoQCOM const * pTileMemoryBindInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -31321,7 +41268,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBindTileMemoryQCOM ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::bindTileMemoryQCOM( Optional tileMemoryBindInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31330,14 +41282,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBindTileMemoryQCOM && "Function requires " ); # endif - d.vkCmdBindTileMemoryQCOM( m_commandBuffer, reinterpret_cast( tileMemoryBindInfo.get() ) ); + d.vkCmdBindTileMemoryQCOM( static_cast( m_commandBuffer ), + reinterpret_cast( tileMemoryBindInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_copy_memory_indirect === // wrapper function for command vkCmdCopyMemoryIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryIndirectKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryIndirectKHR( CopyMemoryIndirectInfoKHR const * pCopyMemoryIndirectInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31348,7 +41306,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryIndirectKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryIndirectKHR( CopyMemoryIndirectInfoKHR const & copyMemoryIndirectInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31357,13 +41320,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryIndirectKHR && "Function requires " ); # endif - d.vkCmdCopyMemoryIndirectKHR( m_commandBuffer, reinterpret_cast( ©MemoryIndirectInfo ) ); + d.vkCmdCopyMemoryIndirectKHR( static_cast( m_commandBuffer ), + reinterpret_cast( ©MemoryIndirectInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToImageIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectKHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageIndirectKHR( CopyMemoryToImageIndirectInfoKHR const * pCopyMemoryToImageIndirectInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31375,7 +41344,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToImageIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectKHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToImageIndirectKHR( CopyMemoryToImageIndirectInfoKHR const & copyMemoryToImageIndirectInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31384,14 +41358,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdCopyMemoryToImageIndirectKHR && "Function requires " ); # endif - d.vkCmdCopyMemoryToImageIndirectKHR( m_commandBuffer, reinterpret_cast( ©MemoryToImageIndirectInfo ) ); + d.vkCmdCopyMemoryToImageIndirectKHR( static_cast( m_commandBuffer ), + reinterpret_cast( ©MemoryToImageIndirectInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_memory_decompression === // wrapper function for command vkCmdDecompressMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryEXT( DecompressMemoryInfoEXT const * pDecompressMemoryInfoEXT, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31402,7 +41382,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDecompressMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryEXT( DecompressMemoryInfoEXT const & decompressMemoryInfoEXT, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31411,13 +41396,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdDecompressMemoryEXT && "Function requires " ); # endif - d.vkCmdDecompressMemoryEXT( m_commandBuffer, reinterpret_cast( &decompressMemoryInfoEXT ) ); + d.vkCmdDecompressMemoryEXT( static_cast( m_commandBuffer ), + reinterpret_cast( &decompressMemoryInfoEXT ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDecompressMemoryIndirectCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryIndirectCountEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::decompressMemoryIndirectCountEXT( MemoryDecompressionMethodFlagsEXT decompressionMethod, DeviceAddress indirectCommandsAddress, DeviceAddress indirectCommandsCountAddress, @@ -31438,7 +41429,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateExternalComputeQueueNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createExternalComputeQueueNV( ExternalComputeQueueCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, ExternalComputeQueueNV * pExternalQueue, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -31453,7 +41449,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateExternalComputeQueueNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createExternalComputeQueueNV( ExternalComputeQueueCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -31463,19 +41464,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalComputeQueueNV externalQueue; - Result result = static_cast( d.vkCreateExternalComputeQueueNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &externalQueue ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createExternalComputeQueueNV" ); + Result result_ = static_cast( d.vkCreateExternalComputeQueueNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &externalQueue ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExternalComputeQueueNV" ); - return detail::createResultValueType( result, std::move( externalQueue ) ); + return detail::createResultValueType( result_, std::move( externalQueue ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateExternalComputeQueueNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createExternalComputeQueueNVUnique( ExternalComputeQueueCreateInfoNV const & createInfo, Optional allocator, Dispatch const & d ) const @@ -31486,21 +41492,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ExternalComputeQueueNV externalQueue; - Result result = static_cast( d.vkCreateExternalComputeQueueNV( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &externalQueue ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createExternalComputeQueueNVUnique" ); + Result result_ = static_cast( d.vkCreateExternalComputeQueueNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &externalQueue ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createExternalComputeQueueNVUnique" ); return detail::createResultValueType( - result, UniqueHandle( externalQueue, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( externalQueue, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroyExternalComputeQueueNV( ExternalComputeQueueNV externalQueue, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31513,7 +41524,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroyExternalComputeQueueNV( ExternalComputeQueueNV externalQueue, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31522,14 +41538,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyExternalComputeQueueNV && "Function requires " ); # endif - d.vkDestroyExternalComputeQueueNV( - m_device, static_cast( externalQueue ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyExternalComputeQueueNV( static_cast( m_device ), + static_cast( externalQueue ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( ExternalComputeQueueNV externalQueue, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31542,7 +41564,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( ExternalComputeQueueNV externalQueue, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31551,14 +41578,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyExternalComputeQueueNV && "Function requires " ); # endif - d.vkDestroyExternalComputeQueueNV( - m_device, static_cast( externalQueue ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyExternalComputeQueueNV( static_cast( m_device ), + static_cast( externalQueue ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetExternalComputeQueueDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetExternalComputeQueueDataNV ) ) +#endif VULKAN_HPP_INLINE void ExternalComputeQueueNV::getData( ExternalComputeQueueDataParamsNV * params, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31570,7 +41603,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetExternalComputeQueueDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetExternalComputeQueueDataNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair ExternalComputeQueueNV::getData( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31582,7 +41620,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; ExternalComputeQueueDataParamsNV & arams = data_.first; DataType & data = data_.second; - d.vkGetExternalComputeQueueDataNV( m_externalComputeQueueNV, reinterpret_cast( &arams ), &data ); + d.vkGetExternalComputeQueueDataNV( + static_cast( m_externalComputeQueueNV ), reinterpret_cast( &arams ), &data ); return data_; } @@ -31592,7 +41631,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetClusterAccelerationStructureBuildSizesNV ) ) +#endif VULKAN_HPP_INLINE void Device::getClusterAccelerationStructureBuildSizesNV( ClusterAccelerationStructureInputInfoNV const * pInfo, AccelerationStructureBuildSizesInfoKHR * pSizeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31605,7 +41649,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetClusterAccelerationStructureBuildSizesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureBuildSizesInfoKHR Device::getClusterAccelerationStructureBuildSizesNV( ClusterAccelerationStructureInputInfoNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31616,7 +41665,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureBuildSizesInfoKHR sizeInfo; - d.vkGetClusterAccelerationStructureBuildSizesNV( m_device, + d.vkGetClusterAccelerationStructureBuildSizesNV( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &sizeInfo ) ); @@ -31626,7 +41675,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBuildClusterAccelerationStructureIndirectNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::buildClusterAccelerationStructureIndirectNV( ClusterAccelerationStructureCommandsInfoNV const * pCommandInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31638,7 +41692,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBuildClusterAccelerationStructureIndirectNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::buildClusterAccelerationStructureIndirectNV( ClusterAccelerationStructureCommandsInfoNV const & commandInfos, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31648,7 +41707,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdBuildClusterAccelerationStructureIndirectNV( m_commandBuffer, + d.vkCmdBuildClusterAccelerationStructureIndirectNV( static_cast( m_commandBuffer ), reinterpret_cast( &commandInfos ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -31657,7 +41716,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPartitionedAccelerationStructuresBuildSizesNV ) ) +#endif VULKAN_HPP_INLINE void Device::getPartitionedAccelerationStructuresBuildSizesNV( PartitionedAccelerationStructureInstancesInputNV const * pInfo, AccelerationStructureBuildSizesInfoKHR * pSizeInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -31671,7 +41735,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPartitionedAccelerationStructuresBuildSizesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE AccelerationStructureBuildSizesInfoKHR Device::getPartitionedAccelerationStructuresBuildSizesNV( PartitionedAccelerationStructureInstancesInputNV const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31682,7 +41751,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif AccelerationStructureBuildSizesInfoKHR sizeInfo; - d.vkGetPartitionedAccelerationStructuresBuildSizesNV( m_device, + d.vkGetPartitionedAccelerationStructuresBuildSizesNV( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &sizeInfo ) ); @@ -31692,7 +41761,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBuildPartitionedAccelerationStructuresNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::buildPartitionedAccelerationStructuresNV( BuildPartitionedAccelerationStructureInfoNV const * pBuildInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31704,7 +41778,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBuildPartitionedAccelerationStructuresNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::buildPartitionedAccelerationStructuresNV( BuildPartitionedAccelerationStructureInfoNV const & buildInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31714,7 +41793,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkCmdBuildPartitionedAccelerationStructuresNV( m_commandBuffer, reinterpret_cast( &buildInfo ) ); + d.vkCmdBuildPartitionedAccelerationStructuresNV( static_cast( m_commandBuffer ), + reinterpret_cast( &buildInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -31722,7 +41802,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) ) +#endif VULKAN_HPP_INLINE void Device::getGeneratedCommandsMemoryRequirementsEXT( GeneratedCommandsMemoryRequirementsInfoEXT const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31735,7 +41820,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE MemoryRequirements2 Device::getGeneratedCommandsMemoryRequirementsEXT( GeneratedCommandsMemoryRequirementsInfoEXT const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31746,7 +41836,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryRequirements2 memoryRequirements; - d.vkGetGeneratedCommandsMemoryRequirementsEXT( m_device, + d.vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -31755,11 +41845,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain Device::getGeneratedCommandsMemoryRequirementsEXT( GeneratedCommandsMemoryRequirementsInfoEXT const & info, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31771,7 +41866,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; MemoryRequirements2 & memoryRequirements = structureChain.template get(); - d.vkGetGeneratedCommandsMemoryRequirementsEXT( m_device, + d.vkGetGeneratedCommandsMemoryRequirementsEXT( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( &memoryRequirements ) ); @@ -31781,7 +41876,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsEXT( GeneratedCommandsInfoEXT const * pGeneratedCommandsInfo, CommandBuffer stateCommandBuffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31794,7 +41894,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::preprocessGeneratedCommandsEXT( GeneratedCommandsInfoEXT const & generatedCommandsInfo, CommandBuffer stateCommandBuffer, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31803,14 +41908,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdPreprocessGeneratedCommandsEXT && "Function requires " ); # endif - d.vkCmdPreprocessGeneratedCommandsEXT( - m_commandBuffer, reinterpret_cast( &generatedCommandsInfo ), static_cast( stateCommandBuffer ) ); + d.vkCmdPreprocessGeneratedCommandsEXT( static_cast( m_commandBuffer ), + reinterpret_cast( &generatedCommandsInfo ), + static_cast( stateCommandBuffer ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsEXT( Bool32 isPreprocessed, GeneratedCommandsInfoEXT const * pGeneratedCommandsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31823,7 +41934,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::executeGeneratedCommandsEXT( Bool32 isPreprocessed, GeneratedCommandsInfoEXT const & generatedCommandsInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31832,14 +41948,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdExecuteGeneratedCommandsEXT && "Function requires " ); # endif - d.vkCmdExecuteGeneratedCommandsEXT( - m_commandBuffer, static_cast( isPreprocessed ), reinterpret_cast( &generatedCommandsInfo ) ); + d.vkCmdExecuteGeneratedCommandsEXT( static_cast( m_commandBuffer ), + static_cast( isPreprocessed ), + reinterpret_cast( &generatedCommandsInfo ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createIndirectCommandsLayoutEXT( IndirectCommandsLayoutCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, IndirectCommandsLayoutEXT * pIndirectCommandsLayout, @@ -31855,7 +41977,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createIndirectCommandsLayoutEXT( IndirectCommandsLayoutCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -31865,19 +41992,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif IndirectCommandsLayoutEXT indirectCommandsLayout; - Result result = static_cast( d.vkCreateIndirectCommandsLayoutEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &indirectCommandsLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXT" ); + Result result_ = static_cast( d.vkCreateIndirectCommandsLayoutEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &indirectCommandsLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXT" ); - return detail::createResultValueType( result, std::move( indirectCommandsLayout ) ); + return detail::createResultValueType( result_, std::move( indirectCommandsLayout ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createIndirectCommandsLayoutEXTUnique( IndirectCommandsLayoutCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const @@ -31888,21 +42020,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif IndirectCommandsLayoutEXT indirectCommandsLayout; - Result result = static_cast( d.vkCreateIndirectCommandsLayoutEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &indirectCommandsLayout ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXTUnique" ); + Result result_ = static_cast( d.vkCreateIndirectCommandsLayoutEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &indirectCommandsLayout ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXTUnique" ); return detail::createResultValueType( - result, UniqueHandle( indirectCommandsLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( indirectCommandsLayout, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31915,7 +42052,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroyIndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT indirectCommandsLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31924,14 +42066,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutEXT && "Function requires " ); # endif - d.vkDestroyIndirectCommandsLayoutEXT( - m_device, static_cast( indirectCommandsLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyIndirectCommandsLayoutEXT( static_cast( m_device ), + static_cast( indirectCommandsLayout ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( IndirectCommandsLayoutEXT indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31944,7 +42092,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( IndirectCommandsLayoutEXT indirectCommandsLayout, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -31953,14 +42106,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyIndirectCommandsLayoutEXT && "Function requires " ); # endif - d.vkDestroyIndirectCommandsLayoutEXT( - m_device, static_cast( indirectCommandsLayout ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyIndirectCommandsLayoutEXT( static_cast( m_device ), + static_cast( indirectCommandsLayout ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateIndirectExecutionSetEXT ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createIndirectExecutionSetEXT( IndirectExecutionSetCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, IndirectExecutionSetEXT * pIndirectExecutionSet, @@ -31976,7 +42135,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectExecutionSetEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createIndirectExecutionSetEXT( IndirectExecutionSetCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -31986,19 +42150,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif IndirectExecutionSetEXT indirectExecutionSet; - Result result = static_cast( d.vkCreateIndirectExecutionSetEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &indirectExecutionSet ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXT" ); + Result result_ = static_cast( d.vkCreateIndirectExecutionSetEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &indirectExecutionSet ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXT" ); - return detail::createResultValueType( result, std::move( indirectExecutionSet ) ); + return detail::createResultValueType( result_, std::move( indirectExecutionSet ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectExecutionSetEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createIndirectExecutionSetEXTUnique( IndirectExecutionSetCreateInfoEXT const & createInfo, Optional allocator, Dispatch const & d ) const @@ -32009,21 +42178,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif IndirectExecutionSetEXT indirectExecutionSet; - Result result = static_cast( d.vkCreateIndirectExecutionSetEXT( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &indirectExecutionSet ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXTUnique" ); + Result result_ = static_cast( d.vkCreateIndirectExecutionSetEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &indirectExecutionSet ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXTUnique" ); return detail::createResultValueType( - result, UniqueHandle( indirectExecutionSet, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( indirectExecutionSet, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroyIndirectExecutionSetEXT( IndirectExecutionSetEXT indirectExecutionSet, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32036,7 +42210,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroyIndirectExecutionSetEXT( IndirectExecutionSetEXT indirectExecutionSet, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32045,14 +42224,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyIndirectExecutionSetEXT && "Function requires " ); # endif - d.vkDestroyIndirectExecutionSetEXT( - m_device, static_cast( indirectExecutionSet ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyIndirectExecutionSetEXT( static_cast( m_device ), + static_cast( indirectExecutionSet ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( IndirectExecutionSetEXT indirectExecutionSet, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32065,7 +42250,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( IndirectExecutionSetEXT indirectExecutionSet, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32074,14 +42264,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyIndirectExecutionSetEXT && "Function requires " ); # endif - d.vkDestroyIndirectExecutionSetEXT( - m_device, static_cast( indirectExecutionSet ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyIndirectExecutionSetEXT( static_cast( m_device ), + static_cast( indirectExecutionSet ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetPipelineEXT ) ) +#endif VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetPipelineEXT( IndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, WriteIndirectExecutionSetPipelineEXT const * pExecutionSetWrites, @@ -32097,7 +42293,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetPipelineEXT ) ) +# endif VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetPipelineEXT( IndirectExecutionSetEXT indirectExecutionSet, ArrayProxy const & executionSetWrites, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -32108,7 +42309,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkUpdateIndirectExecutionSetPipelineEXT( m_device, + d.vkUpdateIndirectExecutionSetPipelineEXT( static_cast( m_device ), static_cast( indirectExecutionSet ), executionSetWrites.size(), reinterpret_cast( executionSetWrites.data() ) ); @@ -32117,7 +42318,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetShaderEXT ) ) +#endif VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetShaderEXT( IndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, WriteIndirectExecutionSetShaderEXT const * pExecutionSetWrites, @@ -32133,7 +42339,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetShaderEXT ) ) +# endif VULKAN_HPP_INLINE void Device::updateIndirectExecutionSetShaderEXT( IndirectExecutionSetEXT indirectExecutionSet, ArrayProxy const & executionSetWrites, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -32144,7 +42355,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); # endif - d.vkUpdateIndirectExecutionSetShaderEXT( m_device, + d.vkUpdateIndirectExecutionSetShaderEXT( static_cast( m_device ), static_cast( indirectExecutionSet ), executionSetWrites.size(), reinterpret_cast( executionSetWrites.data() ) ); @@ -32154,7 +42365,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_device_fault === // wrapper function for command vkGetDeviceFaultReportsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultReportsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceFaultReportsKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultReportsKHR( uint64_t timeout, uint32_t * pFaultCounts, DeviceFaultInfoKHR * pFaultInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32165,10 +42381,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceFaultReportsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultReportsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DeviceFaultInfoKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDeviceFaultReportsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::getFaultReportsKHR( uint64_t timeout, Dispatch const & d ) const { @@ -32179,31 +42400,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector faultInfo; uint32_t faultCounts; - Result result; + Result result_; do { - result = static_cast( d.vkGetDeviceFaultReportsKHR( m_device, timeout, &faultCounts, nullptr ) ); - if ( ( result == Result::eSuccess ) && faultCounts ) + result_ = static_cast( d.vkGetDeviceFaultReportsKHR( static_cast( m_device ), timeout, &faultCounts, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && faultCounts ) { faultInfo.resize( faultCounts ); - result = - static_cast( d.vkGetDeviceFaultReportsKHR( m_device, timeout, &faultCounts, reinterpret_cast( faultInfo.data() ) ) ); + result_ = static_cast( d.vkGetDeviceFaultReportsKHR( + static_cast( m_device ), timeout, &faultCounts, reinterpret_cast( faultInfo.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFaultReportsKHR", { Result::eSuccess, Result::eIncomplete, Result::eTimeout } ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFaultReportsKHR", { Result::eSuccess, Result::eIncomplete, Result::eTimeout } ); VULKAN_HPP_ASSERT( faultCounts <= faultInfo.size() ); if ( faultCounts < faultInfo.size() ) { faultInfo.resize( faultCounts ); } - return { result, faultInfo }; + return { result_, faultInfo }; } // wrapper function for command vkGetDeviceFaultReportsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultReportsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DeviceFaultInfoKHRAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetDeviceFaultReportsKHR ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue> Device::getFaultReportsKHR( uint64_t timeout, DeviceFaultInfoKHRAllocator const & deviceFaultInfoKHRAllocator, Dispatch const & d ) const { @@ -32214,29 +42440,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector faultInfo( deviceFaultInfoKHRAllocator ); uint32_t faultCounts; - Result result; + Result result_; do { - result = static_cast( d.vkGetDeviceFaultReportsKHR( m_device, timeout, &faultCounts, nullptr ) ); - if ( ( result == Result::eSuccess ) && faultCounts ) + result_ = static_cast( d.vkGetDeviceFaultReportsKHR( static_cast( m_device ), timeout, &faultCounts, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && faultCounts ) { faultInfo.resize( faultCounts ); - result = - static_cast( d.vkGetDeviceFaultReportsKHR( m_device, timeout, &faultCounts, reinterpret_cast( faultInfo.data() ) ) ); + result_ = static_cast( d.vkGetDeviceFaultReportsKHR( + static_cast( m_device ), timeout, &faultCounts, reinterpret_cast( faultInfo.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFaultReportsKHR", { Result::eSuccess, Result::eIncomplete, Result::eTimeout } ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getFaultReportsKHR", { Result::eSuccess, Result::eIncomplete, Result::eTimeout } ); VULKAN_HPP_ASSERT( faultCounts <= faultInfo.size() ); if ( faultCounts < faultInfo.size() ) { faultInfo.resize( faultCounts ); } - return { result, faultInfo }; + return { result_, faultInfo }; } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceFaultDebugInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultDebugInfoKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetDeviceFaultDebugInfoKHR ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFaultDebugInfoKHR( DeviceFaultDebugInfoKHR * pDebugInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32249,7 +42480,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_OHOS_surface === // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSurfaceOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createSurfaceOHOS( SurfaceCreateInfoOHOS const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32262,7 +42498,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSurfaceOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createSurfaceOHOS( SurfaceCreateInfoOHOS const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -32272,18 +42513,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateSurfaceOHOS( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createSurfaceOHOS" ); + Result result_ = static_cast( d.vkCreateSurfaceOHOS( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createSurfaceOHOS" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateSurfaceOHOS ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createSurfaceOHOSUnique( SurfaceCreateInfoOHOS const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -32293,13 +42539,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateSurfaceOHOS( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createSurfaceOHOSUnique" ); + Result result_ = static_cast( d.vkCreateSurfaceOHOS( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createSurfaceOHOSUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -32310,7 +42556,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV( uint32_t * pPropertyCount, CooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32324,12 +42575,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV( Dispatch const & d ) const @@ -32342,34 +42598,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( + static_cast( m_physicalDevice ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV( @@ -32384,24 +42648,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties( cooperativeMatrixFlexibleDimensionsPropertiesNVAllocator ); uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( m_physicalDevice, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( - m_physicalDevice, &propertyCount, reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( d.vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( + static_cast( m_physicalDevice ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return detail::createResultValueType( result, std::move( properties ) ); + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -32409,7 +42676,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_external_memory_metal === // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandleEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryMetalHandleEXT( MemoryGetMetalHandleInfoEXT const * pGetMetalHandleInfo, void ** pHandle, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32420,7 +42692,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandleEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryMetalHandleEXT( MemoryGetMetalHandleInfoEXT const & getMetalHandleInfo, Dispatch const & d ) const { @@ -32430,17 +42707,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif void * handle; - Result result = - static_cast( d.vkGetMemoryMetalHandleEXT( m_device, reinterpret_cast( &getMetalHandleInfo ), &handle ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryMetalHandleEXT" ); + Result result_ = static_cast( d.vkGetMemoryMetalHandleEXT( + static_cast( m_device ), reinterpret_cast( &getMetalHandleInfo ), &handle ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryMetalHandleEXT" ); - return detail::createResultValueType( result, std::move( handle ) ); + return detail::createResultValueType( result_, std::move( handle ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandlePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getMemoryMetalHandlePropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, void const * pHandle, MemoryMetalHandlePropertiesEXT * pMemoryMetalHandleProperties, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT @@ -32455,7 +42737,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandlePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getMemoryMetalHandlePropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, HandleType const & handle, Dispatch const & d ) const { @@ -32465,14 +42752,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif MemoryMetalHandlePropertiesEXT memoryMetalHandleProperties; - Result result = - static_cast( d.vkGetMemoryMetalHandlePropertiesEXT( m_device, + Result result_ = + static_cast( d.vkGetMemoryMetalHandlePropertiesEXT( static_cast( m_device ), static_cast( handleType ), reinterpret_cast( &handle ), reinterpret_cast( &memoryMetalHandleProperties ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryMetalHandlePropertiesEXT" ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryMetalHandlePropertiesEXT" ); - return detail::createResultValueType( result, std::move( memoryMetalHandleProperties ) ); + return detail::createResultValueType( result_, std::move( memoryMetalHandleProperties ) ); } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_METAL_EXT*/ @@ -32481,7 +42768,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM( uint32_t queueFamilyIndex, uint32_t * pCounterCount, @@ -32501,6 +42793,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PerformanceCounterARMAllocator, + IsAllocator PerformanceCounterDescriptionARMAllocator, + typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, std::vector>>::type @@ -32525,35 +42824,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector & counters = data_.first; std::vector & counterDescriptions = data_.second; uint32_t counterCount; - Result result; + Result result_; do { - result = static_cast( - d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( m_physicalDevice, queueFamilyIndex, &counterCount, nullptr, nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && counterCount ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( - m_physicalDevice, + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, reinterpret_cast( counters.data() ), reinterpret_cast( counterDescriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM" ); VULKAN_HPP_ASSERT( counterCount <= counters.size() ); if ( counterCount < counters.size() ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); } - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template PerformanceCounterARMAllocator, + IsAllocator PerformanceCounterDescriptionARMAllocator, + typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType, std::vector>>::type @@ -32583,31 +42889,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector & counters = data_.first; std::vector & counterDescriptions = data_.second; uint32_t counterCount; - Result result; + Result result_; do { - result = static_cast( - d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( m_physicalDevice, queueFamilyIndex, &counterCount, nullptr, nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && counterCount ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( - m_physicalDevice, + result_ = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( + static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, reinterpret_cast( counters.data() ), reinterpret_cast( counterDescriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM" ); VULKAN_HPP_ASSERT( counterCount <= counters.size() ); if ( counterCount < counters.size() ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); } - return detail::createResultValueType( result, std::move( data_ ) ); + return detail::createResultValueType( result_, std::move( data_ ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -32615,7 +42921,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::enumerateShaderInstrumentationMetricsARM( uint32_t * pDescriptionCount, ShaderInstrumentationMetricDescriptionARM * pDescriptions, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32629,12 +42940,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ShaderInstrumentationMetricDescriptionARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::enumerateShaderInstrumentationMetricsARM( Dispatch const & d ) const @@ -32647,34 +42963,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector descriptions; uint32_t descriptionCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( m_physicalDevice, &descriptionCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && descriptionCount ) + result_ = static_cast( + d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( static_cast( m_physicalDevice ), &descriptionCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && descriptionCount ) { descriptions.resize( descriptionCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( - m_physicalDevice, &descriptionCount, reinterpret_cast( descriptions.data() ) ) ); + result_ = static_cast( d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( + static_cast( m_physicalDevice ), + &descriptionCount, + reinterpret_cast( descriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateShaderInstrumentationMetricsARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateShaderInstrumentationMetricsARM" ); VULKAN_HPP_ASSERT( descriptionCount <= descriptions.size() ); if ( descriptionCount < descriptions.size() ) { descriptions.resize( descriptionCount ); } - return detail::createResultValueType( result, std::move( descriptions ) ); + return detail::createResultValueType( result_, std::move( descriptions ) ); } // wrapper function for command vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template ShaderInstrumentationMetricDescriptionARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::enumerateShaderInstrumentationMetricsARM( @@ -32689,30 +43013,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector descriptions( shaderInstrumentationMetricDescriptionARMAllocator ); uint32_t descriptionCount; - Result result; + Result result_; do { - result = static_cast( d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( m_physicalDevice, &descriptionCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && descriptionCount ) + result_ = static_cast( + d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( static_cast( m_physicalDevice ), &descriptionCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && descriptionCount ) { descriptions.resize( descriptionCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( - m_physicalDevice, &descriptionCount, reinterpret_cast( descriptions.data() ) ) ); + result_ = static_cast( d.vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( + static_cast( m_physicalDevice ), + &descriptionCount, + reinterpret_cast( descriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateShaderInstrumentationMetricsARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateShaderInstrumentationMetricsARM" ); VULKAN_HPP_ASSERT( descriptionCount <= descriptions.size() ); if ( descriptionCount < descriptions.size() ) { descriptions.resize( descriptionCount ); } - return detail::createResultValueType( result, std::move( descriptions ) ); + return detail::createResultValueType( result_, std::move( descriptions ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCreateShaderInstrumentationARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createShaderInstrumentationARM( ShaderInstrumentationCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, ShaderInstrumentationARM * pInstrumentation, @@ -32728,7 +43060,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateShaderInstrumentationARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::createShaderInstrumentationARM( ShaderInstrumentationCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -32738,19 +43075,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderInstrumentationARM instrumentation; - Result result = static_cast( d.vkCreateShaderInstrumentationARM( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &instrumentation ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderInstrumentationARM" ); + Result result_ = static_cast( d.vkCreateShaderInstrumentationARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &instrumentation ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderInstrumentationARM" ); - return detail::createResultValueType( result, std::move( instrumentation ) ); + return detail::createResultValueType( result_, std::move( instrumentation ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateShaderInstrumentationARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Device::createShaderInstrumentationARMUnique( ShaderInstrumentationCreateInfoARM const & createInfo, Optional allocator, Dispatch const & d ) const @@ -32761,21 +43103,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif ShaderInstrumentationARM instrumentation; - Result result = static_cast( d.vkCreateShaderInstrumentationARM( m_device, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &instrumentation ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderInstrumentationARMUnique" ); + Result result_ = static_cast( d.vkCreateShaderInstrumentationARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &instrumentation ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Device::createShaderInstrumentationARMUnique" ); return detail::createResultValueType( - result, UniqueHandle( instrumentation, detail::ObjectDestroy( *this, allocator, d ) ) ); + result_, UniqueHandle( instrumentation, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroyShaderInstrumentationARM( ShaderInstrumentationARM instrumentation, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32788,7 +43135,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroyShaderInstrumentationARM( ShaderInstrumentationARM instrumentation, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32797,14 +43149,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyShaderInstrumentationARM && "Function requires " ); # endif - d.vkDestroyShaderInstrumentationARM( - m_device, static_cast( instrumentation ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyShaderInstrumentationARM( static_cast( m_device ), + static_cast( instrumentation ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +#endif VULKAN_HPP_INLINE void Device::destroy( ShaderInstrumentationARM instrumentation, AllocationCallbacks const * pAllocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32817,7 +43175,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +# endif VULKAN_HPP_INLINE void Device::destroy( ShaderInstrumentationARM instrumentation, Optional allocator, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32826,14 +43189,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkDestroyShaderInstrumentationARM && "Function requires " ); # endif - d.vkDestroyShaderInstrumentationARM( - m_device, static_cast( instrumentation ), reinterpret_cast( allocator.get() ) ); + d.vkDestroyShaderInstrumentationARM( static_cast( m_device ), + static_cast( instrumentation ), + reinterpret_cast( allocator.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginShaderInstrumentationARM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginShaderInstrumentationARM( ShaderInstrumentationARM instrumentation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32842,7 +43211,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdEndShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndShaderInstrumentationARM ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endShaderInstrumentationARM( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32851,7 +43225,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetShaderInstrumentationValuesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInstrumentationValuesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetShaderInstrumentationValuesARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getShaderInstrumentationValuesARM( ShaderInstrumentationARM instrumentation, uint32_t * pMetricBlockCount, void * pMetricValues, @@ -32868,7 +43247,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkClearShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkClearShaderInstrumentationMetricsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkClearShaderInstrumentationMetricsARM ) ) +#endif VULKAN_HPP_INLINE void Device::clearShaderInstrumentationMetricsARM( ShaderInstrumentationARM instrumentation, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32878,7 +43262,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_fragment_density_map_offset === // wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRendering2EXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRendering2EXT( RenderingEndInfoKHR const * pRenderingEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32887,7 +43276,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndRendering2EXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endRendering2EXT( Optional renderingEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32895,14 +43289,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndRendering2EXT && "Function requires or " ); # endif - d.vkCmdEndRendering2EXT( m_commandBuffer, reinterpret_cast( renderingEndInfo.get() ) ); + d.vkCmdEndRendering2EXT( static_cast( m_commandBuffer ), reinterpret_cast( renderingEndInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_custom_resolve === // wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdBeginCustomResolveEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( BeginCustomResolveInfoEXT const * pBeginCustomResolveInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32913,7 +43312,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdBeginCustomResolveEXT ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( Optional beginCustomResolveInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -32922,14 +43326,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdBeginCustomResolveEXT && "Function requires " ); # endif - d.vkCmdBeginCustomResolveEXT( m_commandBuffer, reinterpret_cast( beginCustomResolveInfo.get() ) ); + d.vkCmdBeginCustomResolveEXT( static_cast( m_commandBuffer ), + reinterpret_cast( beginCustomResolveInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_maintenance10 === // wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdEndRendering2KHR ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::endRendering2KHR( RenderingEndInfoKHR const * pRenderingEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32938,7 +43348,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdEndRendering2KHR ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::endRendering2KHR( Optional renderingEndInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); @@ -32946,7 +43361,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdEndRendering2KHR && "Function requires or " ); # endif - d.vkCmdEndRendering2KHR( m_commandBuffer, reinterpret_cast( renderingEndInfo.get() ) ); + d.vkCmdEndRendering2KHR( static_cast( m_commandBuffer ), reinterpret_cast( renderingEndInfo.get() ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -32954,7 +43369,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM ) ) +#endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARM const * pQueueFamilyDataGraphProperties, @@ -32976,12 +43396,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataGraphOpticalFlowImageFormatPropertiesARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM( uint32_t queueFamilyIndex, @@ -32997,45 +43422,50 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector imageFormatProperties; uint32_t formatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( - m_physicalDevice, + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( + static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && formatCount ) + if ( ( result_ == Result::eSuccess ) && formatCount ) { imageFormatProperties.resize( formatCount ); - result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( - m_physicalDevice, + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( + static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, reinterpret_cast( imageFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM" ); VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); if ( formatCount < imageFormatProperties.size() ) { imageFormatProperties.resize( formatCount ); } - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type, typename std::enable_if::type> +# else + template DataGraphOpticalFlowImageFormatPropertiesARMAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM( @@ -33054,35 +43484,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector imageFormatProperties( dataGraphOpticalFlowImageFormatPropertiesARMAllocator ); uint32_t formatCount; - Result result; + Result result_; do { - result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( - m_physicalDevice, + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( + static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && formatCount ) + if ( ( result_ == Result::eSuccess ) && formatCount ) { imageFormatProperties.resize( formatCount ); - result = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( - m_physicalDevice, + result_ = static_cast( d.vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( + static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, reinterpret_cast( imageFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM" ); + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM" ); VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); if ( formatCount < imageFormatProperties.size() ) { imageFormatProperties.resize( formatCount ); } - return detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -33090,7 +43520,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetComputeOccupancyPriorityNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetComputeOccupancyPriorityNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetComputeOccupancyPriorityNV ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setComputeOccupancyPriorityNV( ComputeOccupancyPriorityParametersNV const * pParameters, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -33102,7 +43537,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetComputeOccupancyPriorityNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetComputeOccupancyPriorityNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCmdSetComputeOccupancyPriorityNV ) ) +# endif VULKAN_HPP_INLINE void CommandBuffer::setComputeOccupancyPriorityNV( ComputeOccupancyPriorityParametersNV const & parameters, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -33111,7 +43551,136 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( d.vkCmdSetComputeOccupancyPriorityNV && "Function requires " ); # endif - d.vkCmdSetComputeOccupancyPriorityNV( m_commandBuffer, reinterpret_cast( ¶meters ) ); + d.vkCmdSetComputeOccupancyPriorityNV( static_cast( m_commandBuffer ), + reinterpret_cast( ¶meters ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + //=== VK_EXT_cooperative_matrix_maintenance1 === + + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) ) +#endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getCooperativeMatrixProperties2EXT( + PhysicalDeviceCooperativeMatrixInfo2EXT const * pCooperativeMatrixInfo, + uint32_t * pPropertyCount, + CooperativeMatrixProperties2EXT * pProperties, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( pCooperativeMatrixInfo ), + pPropertyCount, + reinterpret_cast( pProperties ) ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 + template < + typename CooperativeMatrixProperties2EXTAllocator, + typename Dispatch, + typename std::enable_if::value, int>::type, + typename std::enable_if::type> +# else + template CooperativeMatrixProperties2EXTAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type + PhysicalDevice::getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & cooperativeMatrixInfo, Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT && + "Function requires " ); +# endif + + std::vector properties; + uint32_t propertyCount; + Result result_; + do + { + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &cooperativeMatrixInfo ), + &propertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) + { + properties.resize( propertyCount ); + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &cooperativeMatrixInfo ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); + } + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixProperties2EXT" ); + VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + if ( propertyCount < properties.size() ) + { + properties.resize( propertyCount ); + } + return detail::createResultValueType( result_, std::move( properties ) ); + } + + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 + template < + typename CooperativeMatrixProperties2EXTAllocator, + typename Dispatch, + typename std::enable_if::value, int>::type, + typename std::enable_if::type> +# else + template CooperativeMatrixProperties2EXTAllocator, typename Dispatch> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) ) +# endif + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type + PhysicalDevice::getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & cooperativeMatrixInfo, + CooperativeMatrixProperties2EXTAllocator const & cooperativeMatrixProperties2EXTAllocator, + Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); +# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 ) + VULKAN_HPP_ASSERT( d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT && + "Function requires " ); +# endif + + std::vector properties( cooperativeMatrixProperties2EXTAllocator ); + uint32_t propertyCount; + Result result_; + do + { + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &cooperativeMatrixInfo ), + &propertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) + { + properties.resize( propertyCount ); + result_ = static_cast( + d.vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( static_cast( m_physicalDevice ), + reinterpret_cast( &cooperativeMatrixInfo ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); + } + } while ( result_ == Result::eIncomplete ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixProperties2EXT" ); + VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + if ( propertyCount < properties.size() ) + { + properties.resize( propertyCount ); + } + return detail::createResultValueType( result_, std::move( properties ) ); } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -33119,7 +43688,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_SEC_ubm_surface === // wrapper function for command vkCreateUbmSurfaceSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateUbmSurfaceSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateUbmSurfaceSEC ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Instance::createUbmSurfaceSEC( UbmSurfaceCreateInfoSEC const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -33132,7 +43706,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateUbmSurfaceSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateUbmSurfaceSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateUbmSurfaceSEC ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Instance::createUbmSurfaceSEC( UbmSurfaceCreateInfoSEC const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -33142,18 +43721,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateUbmSurfaceSEC( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createUbmSurfaceSEC" ); + Result result_ = static_cast( d.vkCreateUbmSurfaceSEC( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createUbmSurfaceSEC" ); - return detail::createResultValueType( result, std::move( surface ) ); + return detail::createResultValueType( result_, std::move( surface ) ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateUbmSurfaceSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateUbmSurfaceSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkCreateUbmSurfaceSEC ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type Instance::createUbmSurfaceSECUnique( UbmSurfaceCreateInfoSEC const & createInfo, Optional allocator, Dispatch const & d ) const { @@ -33163,13 +43747,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif SurfaceKHR surface; - Result result = static_cast( d.vkCreateUbmSurfaceSEC( m_instance, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - detail::resultCheck( result, VULKAN_HPP_NAMESPACE_STRING "::Instance::createUbmSurfaceSECUnique" ); + Result result_ = static_cast( d.vkCreateUbmSurfaceSEC( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + detail::resultCheck( result_, VULKAN_HPP_NAMESPACE_STRING "::Instance::createUbmSurfaceSECUnique" ); - return detail::createResultValueType( result, + return detail::createResultValueType( result_, UniqueHandle( surface, detail::ObjectDestroy( *this, allocator, d ) ) ); } # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -33177,7 +43761,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceUbmPresentationSupportSEC, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceUbmPresentationSupportSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceUbmPresentationSupportSEC ) ) +# endif VULKAN_HPP_INLINE Bool32 PhysicalDevice::getUbmPresentationSupportSEC( uint32_t queueFamilyIndex, struct ubm_device * device, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -33188,7 +43777,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceUbmPresentationSupportSEC, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceUbmPresentationSupportSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceUbmPresentationSupportSEC ) ) +# endif VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair PhysicalDevice::getUbmPresentationSupportSEC( uint32_t queueFamilyIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { @@ -33199,9 +43793,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif struct ubm_device device; - VkBool32 result = d.vkGetPhysicalDeviceUbmPresentationSupportSEC( m_physicalDevice, queueFamilyIndex, &device ); + VkBool32 result_ = d.vkGetPhysicalDeviceUbmPresentationSupportSEC( static_cast( m_physicalDevice ), queueFamilyIndex, &device ); - return { result, device }; + return { result_, device }; } # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_UBM_SEC*/ @@ -33210,7 +43804,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPrimitiveRestartIndexEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartIndexEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveRestartIndexEXT ) ) +#endif VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartIndexEXT( uint32_t primitiveRestartIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); diff --git a/third_party/vulkan/include/vulkan/vulkan_ggp.h b/third_party/vulkan/include/vulkan/vulkan_ggp.h index f8a48ec87..b8961089b 100644 --- a/third_party/vulkan/include/vulkan/vulkan_ggp.h +++ b/third_party/vulkan/include/vulkan/vulkan_ggp.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_handles.hpp b/third_party/vulkan/include/vulkan/vulkan_handles.hpp index b5f6a88cd..1bd20f50c 100644 --- a/third_party/vulkan/include/vulkan/vulkan_handles.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_handles.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -932,6 +931,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct AndroidHardwareBufferFormatProperties2ANDROID; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + struct GpaPerfBlockPropertiesAMD; + struct PhysicalDeviceGpaFeaturesAMD; + struct PhysicalDeviceGpaPropertiesAMD; + struct PhysicalDeviceGpaProperties2AMD; + struct GpaPerfCounterAMD; + struct GpaSampleBeginInfoAMD; + struct GpaDeviceClockModeInfoAMD; + struct GpaDeviceGetClockInfoAMD; + struct GpaSessionCreateInfoAMD; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === struct PhysicalDeviceShaderEnqueueFeaturesAMDX; @@ -1098,6 +1108,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QCOM_cooperative_matrix_conversion === struct PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM; + //=== VK_QCOM_elapsed_timer_query === + struct PhysicalDeviceElapsedTimerQueryFeaturesQCOM; + //=== VK_EXT_external_memory_host === struct ImportMemoryHostPointerInfoEXT; struct MemoryHostPointerPropertiesEXT; @@ -1384,6 +1397,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceQueuePerfHintFeaturesQCOM; struct PhysicalDeviceQueuePerfHintPropertiesQCOM; + //=== VK_QCOM_image_processing3 === + struct PhysicalDeviceImageProcessing3FeaturesQCOM; + + //=== VK_QCOM_shader_multiple_wait_queues === + struct PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + struct PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + + //=== VK_EXT_shader_split_barrier === + struct PhysicalDeviceShaderSplitBarrierFeaturesEXT; + struct PhysicalDeviceShaderSplitBarrierPropertiesEXT; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_cuda_kernel_launch === struct CudaModuleCreateInfoNV; @@ -1658,7 +1682,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct CopyMicromapInfoEXT; struct MicromapBuildSizesInfoEXT; struct AccelerationStructureTrianglesOpacityMicromapEXT; - struct MicromapTriangleEXT; #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_displacement_micromap === @@ -1938,9 +1961,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM; struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM; - //=== VK_EXT_pipeline_library_group_handles === - struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; - //=== VK_EXT_dynamic_rendering_unused_attachments === struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; @@ -2159,6 +2179,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_shader_replicated_composites === struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT; + //=== VK_ARM_tensor_controls === + struct TensorRollingBackingCreateInfoARM; + struct TensorExplicitTilingFormatPropertiesARM; + //=== VK_EXT_shader_float8 === struct PhysicalDeviceShaderFloat8FeaturesEXT; @@ -2287,6 +2311,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_ARM_pipeline_opacity_micromap === struct PhysicalDevicePipelineOpacityMicromapFeaturesARM; + //=== VK_KHR_video_encode_feedback2 === + struct PhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + struct VideoEncodeFeedback2CapabilitiesKHR; + struct QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_external_memory_metal === struct ImportMemoryMetalHandleInfoEXT; @@ -2333,6 +2362,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct SetPresentConfigNV; struct PhysicalDevicePresentMeteringFeaturesNV; + //=== VK_EXT_multisampled_render_to_swapchain === + struct PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + struct SwapchainFlagsSurfaceCapabilitiesEXT; + //=== VK_EXT_fragment_density_map_offset === struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT; using PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT; @@ -2348,6 +2381,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR; using PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR; + //=== VK_KHR_opacity_micromap === + struct AccelerationStructureGeometryMicromapDataKHR; + struct MicromapUsageKHR; + struct PhysicalDeviceOpacityMicromapFeaturesKHR; + struct PhysicalDeviceOpacityMicromapPropertiesKHR; + struct MicromapTriangleKHR; + using MicromapTriangleEXT = MicromapTriangleKHR; + struct AccelerationStructureTrianglesOpacityMicromapKHR; + //=== VK_EXT_shader_64bit_indexing === struct PhysicalDeviceShader64BitIndexingFeaturesEXT; @@ -2394,10 +2436,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct ComputeOccupancyPriorityParametersNV; struct PhysicalDeviceComputeOccupancyPriorityFeaturesNV; + //=== VK_KHR_pipeline_library_group_handles === + struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; + using PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; + //=== VK_KHR_maintenance11 === struct PhysicalDeviceMaintenance11FeaturesKHR; struct QueueFamilyOptimalImageTransferGranularityPropertiesKHR; + //=== VK_EXT_cooperative_matrix_maintenance1 === + struct CooperativeMatrixProperties2EXT; + struct PhysicalDeviceCooperativeMatrixInfo2EXT; + struct PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + //=== VK_EXT_shader_subgroup_partitioned === struct PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT; @@ -2406,6 +2457,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE struct UbmSurfaceCreateInfoSEC; #endif /*VK_USE_PLATFORM_UBM_SEC*/ + //=== VK_KHR_extended_flags === + struct FormatProperties4KHR; + struct ImageUsageFlags2CreateInfoKHR; + struct ImageCreateFlags2CreateInfoKHR; + struct ImageViewUsage2CreateInfoKHR; + struct PhysicalDeviceExtendedFlagsFeaturesKHR; + struct ImageStencilUsage2CreateInfoKHR; + struct SharedPresentSurfaceCapabilities2KHR; + + //=== VK_EXT_shader_ocp_microscaling_types === + struct PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT; + //=== VK_VALVE_shader_mixed_float_dot_product === struct PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE; @@ -2421,6 +2484,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_primitive_restart_index === struct PhysicalDevicePrimitiveRestartIndexFeaturesEXT; + //=== VK_EXT_image_tiling_control === + struct PhysicalDeviceImageTilingControlFeaturesEXT; + struct ImageTilingControlCreateInfoEXT; + + //=== VK_NV_cooperative_matrix_decode_vector === + struct PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + + //=== VK_NV_private_data_base_handle === + struct PhysicalDevicePrivateDataBaseHandleFeaturesNV; + + //=== VK_INTEL_device_info === + struct PhysicalDeviceInfoPropertiesINTEL; + + //=== VK_VALVE_buffer_device_address_allocation_alignment === + struct PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + struct PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + struct BufferDeviceAddressAlignmentAllocateInfoVALVE; + //=================================== //=== HANDLE forward declarations === //=================================== @@ -2483,6 +2564,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_debug_utils === class DebugUtilsMessengerEXT; + //=== VK_AMD_gpa_interface === + class GpaSessionAMD; + //=== VK_EXT_descriptor_heap === class TensorARM; @@ -2906,6 +2990,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using UniqueDebugUtilsMessengerEXT = UniqueHandle; + //=== VK_AMD_gpa_interface === + template + class UniqueHandleTraits + { + public: + using deleter = detail::ObjectDestroy; + }; + + using UniqueGpaSessionAMD = UniqueHandle; + //=== VK_EXT_descriptor_heap === template class UniqueHandleTraits @@ -3119,6 +3213,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false; }; +#if 20 <= VULKAN_HPP_CPP_VERSION + template + concept VulkanHandleType = isVulkanHandleType::value; +#endif + // wrapper class for handle VkSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceKHR.html class SurfaceKHR { @@ -3856,6 +3955,92 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; }; + // wrapper class for handle VkGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSessionAMD.html + class GpaSessionAMD + { + public: + using CType = VkGpaSessionAMD; + using NativeType = VkGpaSessionAMD; + + static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eGpaSessionAMD; + static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; + + public: + GpaSessionAMD() VULKAN_HPP_NOEXCEPT {} // = default; - try to workaround a compiler issue + + GpaSessionAMD( GpaSessionAMD const & rhs ) = default; + GpaSessionAMD & operator=( GpaSessionAMD const & rhs ) = default; + +#if !defined( VULKAN_HPP_HANDLES_MOVE_EXCHANGE ) + GpaSessionAMD( GpaSessionAMD && rhs ) = default; + GpaSessionAMD & operator=( GpaSessionAMD && rhs ) = default; +#else + GpaSessionAMD( GpaSessionAMD && rhs ) VULKAN_HPP_NOEXCEPT : m_gpaSessionAMD( exchange( rhs.m_gpaSessionAMD, {} ) ) {} + + GpaSessionAMD & operator=( GpaSessionAMD && rhs ) VULKAN_HPP_NOEXCEPT + { + m_gpaSessionAMD = exchange( rhs.m_gpaSessionAMD, {} ); + return *this; + } +#endif + + VULKAN_HPP_CONSTEXPR GpaSessionAMD( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {} + + VULKAN_HPP_TYPESAFE_EXPLICIT GpaSessionAMD( VkGpaSessionAMD gpaSessionAMD ) VULKAN_HPP_NOEXCEPT : m_gpaSessionAMD( gpaSessionAMD ) {} + +#if ( VULKAN_HPP_TYPESAFE_CONVERSION == 1 ) + GpaSessionAMD & operator=( VkGpaSessionAMD gpaSessionAMD ) VULKAN_HPP_NOEXCEPT + { + m_gpaSessionAMD = gpaSessionAMD; + return *this; + } +#endif + + GpaSessionAMD & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT + { + m_gpaSessionAMD = {}; + return *this; + } + + VULKAN_HPP_TYPESAFE_EXPLICIT operator VkGpaSessionAMD() const VULKAN_HPP_NOEXCEPT + { + return m_gpaSessionAMD; + } + + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_gpaSessionAMD != VK_NULL_HANDLE; + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_gpaSessionAMD == VK_NULL_HANDLE; + } + + private: + VkGpaSessionAMD m_gpaSessionAMD = {}; + }; + + template <> + struct CppType + { + using Type = GpaSessionAMD; + }; + +#if ( VK_USE_64_BIT_PTR_DEFINES == 1 ) + template <> + struct CppType + { + using Type = GpaSessionAMD; + }; +#endif + + template <> + struct isVulkanHandleType + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; + }; + // wrapper class for handle VkQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPool.html class QueryPool { @@ -5380,39 +5565,74 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBeginCommandBuffer ) ) +#endif VULKAN_HPP_NODISCARD Result begin( CommandBufferBeginInfo const * pBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBeginCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type begin( CommandBufferBeginInfo const & beginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkEndCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD Result end( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkEndCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type end( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD Result reset( CommandBufferResetFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetCommandBuffer ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type reset( CommandBufferResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer ) ) +#endif void copyBuffer( Buffer srcBuffer, Buffer dstBuffer, uint32_t regionCount, @@ -5420,7 +5640,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer ) ) +# endif void copyBuffer( Buffer srcBuffer, Buffer dstBuffer, ArrayProxy const & regions, @@ -5428,7 +5653,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImage ) ) +#endif void copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5438,7 +5668,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImage ) ) +# endif void copyImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5448,7 +5683,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage ) ) +#endif void copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, @@ -5457,7 +5697,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBufferToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage ) ) +# endif void copyBufferToImage( Buffer srcBuffer, Image dstImage, ImageLayout dstImageLayout, @@ -5466,7 +5711,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer ) ) +#endif void copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, @@ -5475,7 +5725,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer ) ) +# endif void copyImageToBuffer( Image srcImage, ImageLayout srcImageLayout, Buffer dstBuffer, @@ -5484,7 +5739,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdUpdateBuffer ) ) +#endif void updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize dataSize, @@ -5492,9 +5752,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdUpdateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdUpdateBuffer ) ) +# endif void updateBuffer( Buffer dstBuffer, DeviceSize dstOffset, ArrayProxy const & data, @@ -5502,12 +5767,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdFillBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdFillBuffer ) ) +#endif void fillBuffer( Buffer dstBuffer, DeviceSize dstOffset, DeviceSize size, uint32_t data, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier ) ) +#endif void pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, @@ -5520,7 +5795,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPipelineBarrier, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier ) ) +# endif void pipelineBarrier( PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, DependencyFlags dependencyFlags, @@ -5531,32 +5811,57 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQuery.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginQuery ) ) +#endif void beginQuery( QueryPool queryPool, uint32_t query, QueryControlFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdEndQuery, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQuery.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndQuery ) ) +#endif void endQuery( QueryPool queryPool, uint32_t query, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResetQueryPool ) ) +#endif void resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdWriteTimestamp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteTimestamp ) ) +#endif void writeTimestamp( PipelineStageFlagBits pipelineStage, QueryPool queryPool, uint32_t query, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdCopyQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResults.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyQueryPoolResults ) ) +#endif void copyQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -5567,25 +5872,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdExecuteCommands ) ) +#endif void executeCommands( uint32_t commandBufferCount, CommandBuffer const * pCommandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdExecuteCommands, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteCommands.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdExecuteCommands ) ) +# endif void executeCommands( ArrayProxy const & commandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipeline.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindPipeline ) ) +#endif void bindPipeline( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets ) ) +#endif void bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -5596,7 +5921,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets ) ) +# endif void bindDescriptorSets( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -5606,7 +5936,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdClearColorImage ) ) +#endif void clearColorImage( Image image, ImageLayout imageLayout, ClearColorValue const * pColor, @@ -5615,7 +5950,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdClearColorImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearColorImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdClearColorImage ) ) +# endif void clearColorImage( Image image, ImageLayout imageLayout, ClearColorValue const & color, @@ -5624,26 +5964,51 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDispatch, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatch.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatch ) ) +#endif void dispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDispatchIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchIndirect ) ) +#endif void dispatchIndirect( Buffer buffer, DeviceSize offset, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetEvent ) ) +#endif void setEvent( Event event, PipelineStageFlags stageMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResetEvent ) ) +#endif void resetEvent( Event event, PipelineStageFlags stageMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWaitEvents ) ) +#endif void waitEvents( uint32_t eventCount, Event const * pEvents, PipelineStageFlags srcStageMask, @@ -5657,7 +6022,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWaitEvents, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWaitEvents ) ) +# endif void waitEvents( ArrayProxy const & events, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, @@ -5668,7 +6038,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushConstants ) ) +#endif void pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, @@ -5677,9 +6052,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushConstants ) ) +# endif void pushConstants( PipelineLayout layout, ShaderStageFlags stageFlags, uint32_t offset, @@ -5688,79 +6068,155 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewport ) ) +#endif void setViewport( uint32_t firstViewport, uint32_t viewportCount, Viewport const * pViewports, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewport, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewport.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewport ) ) +# endif void setViewport( uint32_t firstViewport, ArrayProxy const & viewports, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetScissor ) ) +#endif void setScissor( uint32_t firstScissor, uint32_t scissorCount, Rect2D const * pScissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetScissor, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissor.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetScissor ) ) +# endif void setScissor( uint32_t firstScissor, ArrayProxy const & scissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetLineWidth, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineWidth.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineWidth ) ) +#endif void setLineWidth( float lineWidth, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthBias, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBias ) ) +#endif void setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetBlendConstants ) ) +#endif void setBlendConstants( float const blendConstants[4], Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetBlendConstants ) ) +# endif + void setBlendConstants( std::array const & blendConstants, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBounds ) ) +#endif void setDepthBounds( float minDepthBounds, float maxDepthBounds, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilCompareMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilCompareMask.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilCompareMask ) ) +#endif void setStencilCompareMask( StencilFaceFlags faceMask, uint32_t compareMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilWriteMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilWriteMask.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilWriteMask ) ) +#endif void setStencilWriteMask( StencilFaceFlags faceMask, uint32_t writeMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilReference, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilReference.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilReference ) ) +#endif void setStencilReference( StencilFaceFlags faceMask, uint32_t reference, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdBindIndexBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer ) ) +#endif void bindIndexBuffer( Buffer buffer, DeviceSize offset, IndexType indexType, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers ) ) +#endif void bindVertexBuffers( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, @@ -5768,7 +6224,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers ) ) +# endif void bindVertexBuffers( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -5776,7 +6237,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDraw, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDraw.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDraw ) ) +#endif void draw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, @@ -5784,7 +6250,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDrawIndexed, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexed.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexed ) ) +#endif void drawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, @@ -5793,12 +6264,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDrawIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirect ) ) +#endif void drawIndirect( Buffer buffer, DeviceSize offset, uint32_t drawCount, uint32_t stride, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDrawIndexedIndirect, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirect ) ) +#endif void drawIndexedIndirect( Buffer buffer, DeviceSize offset, uint32_t drawCount, @@ -5806,7 +6287,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBlitImage ) ) +#endif void blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5817,7 +6303,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBlitImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBlitImage ) ) +# endif void blitImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5828,7 +6319,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdClearDepthStencilImage ) ) +#endif void clearDepthStencilImage( Image image, ImageLayout imageLayout, ClearDepthStencilValue const * pDepthStencil, @@ -5837,7 +6333,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdClearDepthStencilImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearDepthStencilImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdClearDepthStencilImage ) ) +# endif void clearDepthStencilImage( Image image, ImageLayout imageLayout, ClearDepthStencilValue const & depthStencil, @@ -5846,7 +6347,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdClearAttachments ) ) +#endif void clearAttachments( uint32_t attachmentCount, ClearAttachment const * pAttachments, uint32_t rectCount, @@ -5854,14 +6360,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdClearAttachments, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdClearAttachments.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdClearAttachments ) ) +# endif void clearAttachments( ArrayProxy const & attachments, ArrayProxy const & rects, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResolveImage ) ) +#endif void resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5871,7 +6387,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdResolveImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdResolveImage ) ) +# endif void resolveImage( Image srcImage, ImageLayout srcImageLayout, Image dstImage, @@ -5881,34 +6402,64 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass ) ) +#endif void beginRenderPass( RenderPassBeginInfo const * pRenderPassBegin, SubpassContents contents, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass ) ) +# endif void beginRenderPass( RenderPassBeginInfo const & renderPassBegin, SubpassContents contents, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdNextSubpass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdNextSubpass ) ) +#endif void nextSubpass( SubpassContents contents, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdEndRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass ) ) +#endif void endRenderPass( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_VERSION_1_1 === // wrapper function for command vkCmdSetDeviceMask, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMask.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDeviceMask ) ) +#endif void setDeviceMask( uint32_t deviceMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDispatchBase, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBase.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchBase ) ) +#endif void dispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, @@ -5920,7 +6471,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_2 === // wrapper function for command vkCmdDrawIndirectCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCount ) ) +#endif void drawIndirectCount( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -5931,8 +6487,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndexedIndirectCount, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCount ) ) +#endif void drawIndexedIndirectCount( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -5942,195 +6503,380 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2 ) ) +#endif void beginRenderPass2( RenderPassBeginInfo const * pRenderPassBegin, SubpassBeginInfo const * pSubpassBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2 ) ) +# endif void beginRenderPass2( RenderPassBeginInfo const & renderPassBegin, SubpassBeginInfo const & subpassBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2 ) ) +#endif void nextSubpass2( SubpassBeginInfo const * pSubpassBeginInfo, SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdNextSubpass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2 ) ) +# endif void nextSubpass2( SubpassBeginInfo const & subpassBeginInfo, SubpassEndInfo const & subpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2 ) ) +#endif void endRenderPass2( SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2 ) ) +# endif void endRenderPass2( SubpassEndInfo const & subpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_VERSION_1_3 === // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2 ) ) +#endif void pipelineBarrier2( DependencyInfo const * pDependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPipelineBarrier2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2 ) ) +# endif void pipelineBarrier2( DependencyInfo const & dependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteTimestamp2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteTimestamp2 ) ) +#endif void writeTimestamp2( PipelineStageFlags2 stage, QueryPool queryPool, uint32_t query, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2 ) ) +#endif void copyBuffer2( CopyBufferInfo2 const * pCopyBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2 ) ) +# endif void copyBuffer2( CopyBufferInfo2 const & copyBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImage2 ) ) +#endif void copyImage2( CopyImageInfo2 const * pCopyImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImage2 ) ) +# endif void copyImage2( CopyImageInfo2 const & copyImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2 ) ) +#endif void copyBufferToImage2( CopyBufferToImageInfo2 const * pCopyBufferToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBufferToImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2 ) ) +# endif void copyBufferToImage2( CopyBufferToImageInfo2 const & copyBufferToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2 ) ) +#endif void copyImageToBuffer2( CopyImageToBufferInfo2 const * pCopyImageToBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2 ) ) +# endif void copyImageToBuffer2( CopyImageToBufferInfo2 const & copyImageToBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetEvent2 ) ) +#endif void setEvent2( Event event, DependencyInfo const * pDependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetEvent2 ) ) +# endif void setEvent2( Event event, DependencyInfo const & dependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResetEvent2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResetEvent2 ) ) +#endif void resetEvent2( Event event, PipelineStageFlags2 stageMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2 ) ) +#endif void waitEvents2( uint32_t eventCount, Event const * pEvents, DependencyInfo const * pDependencyInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWaitEvents2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2 ) ) +# endif void waitEvents2( ArrayProxy const & events, ArrayProxy const & dependencyInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBlitImage2 ) ) +#endif void blitImage2( BlitImageInfo2 const * pBlitImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBlitImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBlitImage2 ) ) +# endif void blitImage2( BlitImageInfo2 const & blitImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResolveImage2 ) ) +#endif void resolveImage2( ResolveImageInfo2 const * pResolveImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdResolveImage2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdResolveImage2 ) ) +# endif void resolveImage2( ResolveImageInfo2 const & resolveImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRendering ) ) +#endif void beginRendering( RenderingInfo const * pRenderingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRendering.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRendering ) ) +# endif void beginRendering( RenderingInfo const & renderingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRendering, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRendering ) ) +#endif void endRendering( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetCullMode, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullMode.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCullMode ) ) +#endif void setCullMode( CullModeFlags cullMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetFrontFace, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFace.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetFrontFace ) ) +#endif void setFrontFace( FrontFace frontFace, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetPrimitiveTopology, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopology.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveTopology ) ) +#endif void setPrimitiveTopology( PrimitiveTopology primitiveTopology, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCount ) ) +#endif void setViewportWithCount( uint32_t viewportCount, Viewport const * pViewports, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCount.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCount ) ) +# endif void setViewportWithCount( ArrayProxy const & viewports, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCount ) ) +#endif void setScissorWithCount( uint32_t scissorCount, Rect2D const * pScissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetScissorWithCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCount.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCount ) ) +# endif void setScissorWithCount( ArrayProxy const & scissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2 ) ) +#endif void bindVertexBuffers2( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, @@ -6140,7 +6886,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2 ) ) +# endif void bindVertexBuffers2( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -6150,29 +6901,59 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthTestEnable ) ) +#endif void setDepthTestEnable( Bool32 depthTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthWriteEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthWriteEnable ) ) +#endif void setDepthWriteEnable( Bool32 depthWriteEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthCompareOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOp.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthCompareOp ) ) +#endif void setDepthCompareOp( CompareOp depthCompareOp, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthBoundsTestEnable, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBoundsTestEnable ) ) +#endif void setDepthBoundsTestEnable( Bool32 depthBoundsTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilTestEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilTestEnable ) ) +#endif void setStencilTestEnable( Bool32 stencilTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilOp, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOp.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilOp ) ) +#endif void setStencilOp( StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, @@ -6182,24 +6963,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRasterizerDiscardEnable, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizerDiscardEnable ) ) +#endif void setRasterizerDiscardEnable( Bool32 rasterizerDiscardEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthBiasEnable, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBiasEnable ) ) +#endif void setDepthBiasEnable( Bool32 depthBiasEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetPrimitiveRestartEnable, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnable.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveRestartEnable ) ) +#endif void setPrimitiveRestartEnable( Bool32 primitiveRestartEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_VERSION_1_4 === // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet ) ) +#endif void pushDescriptorSet( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -6208,7 +7009,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet ) ) +# endif void pushDescriptorSet( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -6218,8 +7024,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate ) ) +#endif void pushDescriptorSetWithTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, @@ -6228,9 +7039,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate ) ) +# endif void pushDescriptorSetWithTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, @@ -6239,88 +7055,158 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2 ) ) +#endif void bindDescriptorSets2( BindDescriptorSetsInfo const * pBindDescriptorSetsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorSets2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2 ) ) +# endif void bindDescriptorSets2( BindDescriptorSetsInfo const & bindDescriptorSetsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushConstants2 ) ) +#endif void pushConstants2( PushConstantsInfo const * pPushConstantsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushConstants2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushConstants2 ) ) +# endif void pushConstants2( PushConstantsInfo const & pushConstantsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2 ) ) +#endif void pushDescriptorSet2( PushDescriptorSetInfo const * pPushDescriptorSetInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSet2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2 ) ) +# endif void pushDescriptorSet2( PushDescriptorSetInfo const & pushDescriptorSetInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2 ) ) +#endif void pushDescriptorSetWithTemplate2( PushDescriptorSetWithTemplateInfo const * pPushDescriptorSetWithTemplateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplate2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2 ) ) +# endif void pushDescriptorSetWithTemplate2( PushDescriptorSetWithTemplateInfo const & pushDescriptorSetWithTemplateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetLineStipple, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStipple.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStipple ) ) +#endif void setLineStipple( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdBindIndexBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer2 ) ) +#endif void bindIndexBuffer2( Buffer buffer, DeviceSize offset, DeviceSize size, IndexType indexType, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetRenderingAttachmentLocations, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocations ) ) +#endif void setRenderingAttachmentLocations( RenderingAttachmentLocationInfo const * pLocationInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingAttachmentLocations, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocations.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocations ) ) +# endif void setRenderingAttachmentLocations( RenderingAttachmentLocationInfo const & locationInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndices ) ) +#endif void setRenderingInputAttachmentIndices( RenderingInputAttachmentIndexInfo const * pInputAttachmentIndexInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingInputAttachmentIndices, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndices.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndices ) ) +# endif void setRenderingInputAttachmentIndices( RenderingInputAttachmentIndexInfo const & inputAttachmentIndexInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -6328,27 +7214,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_debug_marker === // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerBeginEXT ) ) +#endif void debugMarkerBeginEXT( DebugMarkerMarkerInfoEXT const * pMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerBeginEXT ) ) +# endif void debugMarkerBeginEXT( DebugMarkerMarkerInfoEXT const & markerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDebugMarkerEndEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerEndEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerEndEXT ) ) +#endif void debugMarkerEndEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerInsertEXT ) ) +#endif void debugMarkerInsertEXT( DebugMarkerMarkerInfoEXT const * pMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDebugMarkerInsertEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerInsertEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDebugMarkerInsertEXT ) ) +# endif void debugMarkerInsertEXT( DebugMarkerMarkerInfoEXT const & markerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -6356,34 +7267,64 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_video_queue === // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginVideoCodingKHR ) ) +#endif void beginVideoCodingKHR( VideoBeginCodingInfoKHR const * pBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginVideoCodingKHR ) ) +# endif void beginVideoCodingKHR( VideoBeginCodingInfoKHR const & beginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndVideoCodingKHR ) ) +#endif void endVideoCodingKHR( VideoEndCodingInfoKHR const * pEndCodingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndVideoCodingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndVideoCodingKHR ) ) +# endif void endVideoCodingKHR( VideoEndCodingInfoKHR const & endCodingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdControlVideoCodingKHR ) ) +#endif void controlVideoCodingKHR( VideoCodingControlInfoKHR const * pCodingControlInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdControlVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdControlVideoCodingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdControlVideoCodingKHR ) ) +# endif void controlVideoCodingKHR( VideoCodingControlInfoKHR const & codingControlInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -6391,11 +7332,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_video_decode_queue === // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDecodeVideoKHR ) ) +#endif void decodeVideoKHR( VideoDecodeInfoKHR const * pDecodeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDecodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecodeVideoKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDecodeVideoKHR ) ) +# endif void decodeVideoKHR( VideoDecodeInfoKHR const & decodeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -6403,8 +7354,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffersEXT ) ) +#endif void bindTransformFeedbackBuffersEXT( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, @@ -6414,8 +7370,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindTransformFeedbackBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffersEXT ) ) +# endif void bindTransformFeedbackBuffersEXT( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -6425,8 +7386,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginTransformFeedbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedbackEXT ) ) +#endif void beginTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, Buffer const * pCounterBuffers, @@ -6435,8 +7401,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginTransformFeedbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedbackEXT ) ) +# endif void beginTransformFeedbackEXT( uint32_t firstCounterBuffer, ArrayProxy const & counterBuffers, ArrayProxy const & counterBufferOffsets VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -6445,7 +7416,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdEndTransformFeedbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedbackEXT ) ) +#endif void endTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, Buffer const * pCounterBuffers, @@ -6454,7 +7430,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndTransformFeedbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedbackEXT ) ) +# endif void endTransformFeedbackEXT( uint32_t firstCounterBuffer, ArrayProxy const & counterBuffers, ArrayProxy const & counterBufferOffsets VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -6462,7 +7443,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginQueryIndexedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginQueryIndexedEXT ) ) +#endif void beginQueryIndexedEXT( QueryPool queryPool, uint32_t query, QueryControlFlags flags, @@ -6470,7 +7456,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdEndQueryIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndQueryIndexedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndQueryIndexedEXT ) ) +#endif void endQueryIndexedEXT( QueryPool queryPool, uint32_t query, uint32_t index, @@ -6478,8 +7469,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndirectByteCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectByteCountEXT ) ) +#endif void drawIndirectByteCountEXT( uint32_t instanceCount, uint32_t firstInstance, Buffer counterBuffer, @@ -6491,18 +7487,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NVX_binary_import === // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCuLaunchKernelNVX ) ) +#endif void cuLaunchKernelNVX( CuLaunchInfoNVX const * pLaunchInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCuLaunchKernelNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCuLaunchKernelNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCuLaunchKernelNVX ) ) +# endif void cuLaunchKernelNVX( CuLaunchInfoNVX const & launchInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_AMD_draw_indirect_count === // wrapper function for command vkCmdDrawIndirectCountAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCountAMD ) ) +#endif void drawIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -6513,8 +7524,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndexedIndirectCountAMD, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCountAMD ) ) +#endif void drawIndexedIndirectCountAMD( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -6526,26 +7542,51 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_dynamic_rendering === // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderingKHR ) ) +#endif void beginRenderingKHR( RenderingInfo const * pRenderingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderingKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderingKHR ) ) +# endif void beginRenderingKHR( RenderingInfo const & renderingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRenderingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderingKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderingKHR ) ) +#endif void endRenderingKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_KHR_device_group === // wrapper function for command vkCmdSetDeviceMaskKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDeviceMaskKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDeviceMaskKHR ) ) +#endif void setDeviceMaskKHR( uint32_t deviceMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDispatchBaseKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchBaseKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchBaseKHR ) ) +#endif void dispatchBaseKHR( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, @@ -6557,7 +7598,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_push_descriptor === // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetKHR ) ) +#endif void pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -6566,7 +7612,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetKHR ) ) +# endif void pushDescriptorSetKHR( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -6576,8 +7627,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplateKHR ) ) +#endif void pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, @@ -6586,9 +7642,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplateKHR ) ) +# endif void pushDescriptorSetWithTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, PipelineLayout layout, uint32_t set, @@ -6600,36 +7661,61 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginConditionalRenderingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRenderingEXT ) ) +#endif void beginConditionalRenderingEXT( ConditionalRenderingBeginInfoEXT const * pConditionalRenderingBegin, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginConditionalRenderingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRenderingEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRenderingEXT ) ) +# endif void beginConditionalRenderingEXT( ConditionalRenderingBeginInfoEXT const & conditionalRenderingBegin, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndConditionalRenderingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndConditionalRenderingEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndConditionalRenderingEXT ) ) +#endif void endConditionalRenderingEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_NV_clip_space_w_scaling === // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWScalingNV ) ) +#endif void setViewportWScalingNV( uint32_t firstViewport, uint32_t viewportCount, ViewportWScalingNV const * pViewportWScalings, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportWScalingNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportWScalingNV ) ) +# endif void setViewportWScalingNV( uint32_t firstViewport, ArrayProxy const & viewportWScalings, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -6638,14 +7724,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_discard_rectangles === // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleEXT ) ) +#endif void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, Rect2D const * pDiscardRectangles, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDiscardRectangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleEXT ) ) +# endif void setDiscardRectangleEXT( uint32_t firstDiscardRectangle, ArrayProxy const & discardRectangles, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -6653,51 +7749,91 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetDiscardRectangleEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleEnableEXT ) ) +#endif void setDiscardRectangleEnableEXT( Bool32 discardRectangleEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDiscardRectangleModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDiscardRectangleModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDiscardRectangleModeEXT ) ) +#endif void setDiscardRectangleModeEXT( DiscardRectangleModeEXT discardRectangleMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_KHR_create_renderpass2 === // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2KHR ) ) +#endif void beginRenderPass2KHR( RenderPassBeginInfo const * pRenderPassBegin, SubpassBeginInfo const * pSubpassBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginRenderPass2KHR ) ) +# endif void beginRenderPass2KHR( RenderPassBeginInfo const & renderPassBegin, SubpassBeginInfo const & subpassBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2KHR ) ) +#endif void nextSubpass2KHR( SubpassBeginInfo const * pSubpassBeginInfo, SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdNextSubpass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdNextSubpass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdNextSubpass2KHR ) ) +# endif void nextSubpass2KHR( SubpassBeginInfo const & subpassBeginInfo, SubpassEndInfo const & subpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2KHR ) ) +#endif void endRenderPass2KHR( SubpassEndInfo const * pSubpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndRenderPass2KHR ) ) +# endif void endRenderPass2KHR( SubpassEndInfo const & subpassEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -6705,56 +7841,186 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginDebugUtilsLabelEXT ) ) +#endif void beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginDebugUtilsLabelEXT ) ) +# endif void beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndDebugUtilsLabelEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndDebugUtilsLabelEXT ) ) +#endif void endDebugUtilsLabelEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdInsertDebugUtilsLabelEXT ) ) +#endif void insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdInsertDebugUtilsLabelEXT ) ) +# endif void insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_AMD_gpa_interface === + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdBeginGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD Result beginGpaSessionAMD( GpaSessionAMD gpaSession, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#else + // wrapper function for command vkCmdBeginGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type + beginGpaSessionAMD( GpaSessionAMD gpaSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdEndGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD Result endGpaSessionAMD( GpaSessionAMD gpaSession, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#else + // wrapper function for command vkCmdEndGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type + endGpaSessionAMD( GpaSessionAMD gpaSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + // wrapper function for command vkCmdBeginGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSampleAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSampleAMD ) ) +#endif + VULKAN_HPP_NODISCARD Result beginGpaSampleAMD( GpaSessionAMD gpaSession, + GpaSampleBeginInfoAMD const * pGpaSampleBeginInfo, + uint32_t * pSampleID, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdBeginGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSampleAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginGpaSampleAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType::type beginGpaSampleAMD( GpaSessionAMD gpaSession, + GpaSampleBeginInfoAMD const & gpaSampleBeginInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkCmdEndGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSampleAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndGpaSampleAMD ) ) +#endif + void endGpaSampleAMD( GpaSessionAMD gpaSession, uint32_t sampleID, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkCmdCopyGpaSessionResultsAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyGpaSessionResultsAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyGpaSessionResultsAMD ) ) +#endif + void copyGpaSessionResultsAMD( GpaSessionAMD gpaSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === // wrapper function for command vkCmdInitializeGraphScratchMemoryAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInitializeGraphScratchMemoryAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdInitializeGraphScratchMemoryAMDX ) ) +# endif void initializeGraphScratchMemoryAMDX( Pipeline executionGraph, DeviceAddress scratch, DeviceSize scratchSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphAMDX ) ) +# endif void dispatchGraphAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const * pCountInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchGraphAMDX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphAMDX ) ) +# endif void dispatchGraphAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const & countInfo, @@ -6763,8 +8029,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphIndirectAMDX ) ) +# endif void dispatchGraphIndirectAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const * pCountInfo, @@ -6772,8 +8043,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchGraphIndirectAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphIndirectAMDX ) ) +# endif void dispatchGraphIndirectAMDX( DeviceAddress scratch, DeviceSize scratchSize, DispatchGraphCountInfoAMDX const & countInfo, @@ -6782,8 +8058,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDispatchGraphIndirectCountAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchGraphIndirectCountAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchGraphIndirectCountAMDX ) ) +# endif void dispatchGraphIndirectCountAMDX( DeviceAddress scratch, DeviceSize scratchSize, DeviceAddress countInfo, @@ -6793,41 +8074,81 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_descriptor_heap === // wrapper function for command vkCmdBindSamplerHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindSamplerHeapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindSamplerHeapEXT ) ) +#endif void bindSamplerHeapEXT( BindHeapInfoEXT const * pBindInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindSamplerHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindSamplerHeapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindSamplerHeapEXT ) ) +# endif void bindSamplerHeapEXT( BindHeapInfoEXT const & bindInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindResourceHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindResourceHeapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindResourceHeapEXT ) ) +#endif void bindResourceHeapEXT( BindHeapInfoEXT const * pBindInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindResourceHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindResourceHeapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindResourceHeapEXT ) ) +# endif void bindResourceHeapEXT( BindHeapInfoEXT const & bindInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDataEXT ) ) +#endif void pushDataEXT( PushDataInfoEXT const * pPushDataInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDataEXT ) ) +# endif void pushDataEXT( PushDataInfoEXT const & pushDataInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_sample_locations === // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetSampleLocationsEXT ) ) +#endif void setSampleLocationsEXT( SampleLocationsInfoEXT const * pSampleLocationsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetSampleLocationsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetSampleLocationsEXT ) ) +# endif void setSampleLocationsEXT( SampleLocationsInfoEXT const & sampleLocationsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -6836,8 +8157,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresKHR ) ) +#endif void buildAccelerationStructuresKHR( uint32_t infoCount, AccelerationStructureBuildGeometryInfoKHR const * pInfos, AccelerationStructureBuildRangeInfoKHR const * const * ppBuildRangeInfos, @@ -6845,8 +8171,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresKHR ) ) +# endif void buildAccelerationStructuresKHR( ArrayProxy const & infos, ArrayProxy const & pBuildRangeInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; @@ -6854,8 +8185,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresIndirectKHR ) ) +#endif void buildAccelerationStructuresIndirectKHR( uint32_t infoCount, AccelerationStructureBuildGeometryInfoKHR const * pInfos, DeviceAddress const * pIndirectDeviceAddresses, @@ -6865,8 +8201,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildAccelerationStructuresIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructuresIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructuresIndirectKHR ) ) +# endif void buildAccelerationStructuresIndirectKHR( ArrayProxy const & infos, ArrayProxy const & indirectDeviceAddresses, ArrayProxy const & indirectStrides, @@ -6876,53 +8217,88 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureKHR ) ) +#endif void copyAccelerationStructureKHR( CopyAccelerationStructureInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureKHR ) ) +# endif void copyAccelerationStructureKHR( CopyAccelerationStructureInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureToMemoryKHR ) ) +#endif void copyAccelerationStructureToMemoryKHR( CopyAccelerationStructureToMemoryInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureToMemoryKHR ) ) +# endif void copyAccelerationStructureToMemoryKHR( CopyAccelerationStructureToMemoryInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToAccelerationStructureKHR ) ) +#endif void copyMemoryToAccelerationStructureKHR( CopyMemoryToAccelerationStructureInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToAccelerationStructureKHR ) ) +# endif void copyMemoryToAccelerationStructureKHR( CopyMemoryToAccelerationStructureInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesKHR ) ) +#endif void writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, AccelerationStructureKHR const * pAccelerationStructures, QueryType queryType, @@ -6932,8 +8308,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesKHR ) ) +# endif void writeAccelerationStructuresPropertiesKHR( ArrayProxy const & accelerationStructures, QueryType queryType, QueryPool queryPool, @@ -6944,7 +8325,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_ray_tracing_pipeline === // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysKHR ) ) +#endif void traceRaysKHR( StridedDeviceAddressRegionKHR const * pRaygenShaderBindingTable, StridedDeviceAddressRegionKHR const * pMissShaderBindingTable, StridedDeviceAddressRegionKHR const * pHitShaderBindingTable, @@ -6955,7 +8341,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdTraceRaysKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdTraceRaysKHR ) ) +# endif void traceRaysKHR( StridedDeviceAddressRegionKHR const & raygenShaderBindingTable, StridedDeviceAddressRegionKHR const & missShaderBindingTable, StridedDeviceAddressRegionKHR const & hitShaderBindingTable, @@ -6967,7 +8358,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysIndirectKHR ) ) +#endif void traceRaysIndirectKHR( StridedDeviceAddressRegionKHR const * pRaygenShaderBindingTable, StridedDeviceAddressRegionKHR const * pMissShaderBindingTable, StridedDeviceAddressRegionKHR const * pHitShaderBindingTable, @@ -6976,7 +8372,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdTraceRaysIndirectKHR ) ) +# endif void traceRaysIndirectKHR( StridedDeviceAddressRegionKHR const & raygenShaderBindingTable, StridedDeviceAddressRegionKHR const & missShaderBindingTable, StridedDeviceAddressRegionKHR const & hitShaderBindingTable, @@ -6987,22 +8388,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetRayTracingPipelineStackSizeKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRayTracingPipelineStackSizeKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRayTracingPipelineStackSizeKHR ) ) +#endif void setRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_NV_shading_rate_image === // wrapper function for command vkCmdBindShadingRateImageNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadingRateImageNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindShadingRateImageNV ) ) +#endif void bindShadingRateImageNV( ImageView imageView, ImageLayout imageLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportShadingRatePaletteNV ) ) +#endif void setViewportShadingRatePaletteNV( uint32_t firstViewport, uint32_t viewportCount, ShadingRatePaletteNV const * pShadingRatePalettes, @@ -7010,22 +8426,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportShadingRatePaletteNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportShadingRatePaletteNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportShadingRatePaletteNV ) ) +# endif void setViewportShadingRatePaletteNV( uint32_t firstViewport, ArrayProxy const & shadingRatePalettes, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoarseSampleOrderNV ) ) +#endif void setCoarseSampleOrderNV( CoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, CoarseSampleOrderCustomNV const * pCustomSampleOrders, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetCoarseSampleOrderNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoarseSampleOrderNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetCoarseSampleOrderNV ) ) +# endif void setCoarseSampleOrderNV( CoarseSampleOrderTypeNV sampleOrderType, ArrayProxy const & customSampleOrders, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7035,8 +8466,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructureNV ) ) +#endif void buildAccelerationStructureNV( AccelerationStructureInfoNV const * pInfo, Buffer instanceData, DeviceSize instanceOffset, @@ -7049,8 +8485,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBuildAccelerationStructureNV ) ) +# endif void buildAccelerationStructureNV( AccelerationStructureInfoNV const & info, Buffer instanceData, DeviceSize instanceOffset, @@ -7064,15 +8505,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdCopyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyAccelerationStructureNV ) ) +#endif void copyAccelerationStructureNV( AccelerationStructureNV dst, AccelerationStructureNV src, CopyAccelerationStructureModeKHR mode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdTraceRaysNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysNV ) ) +#endif void traceRaysNV( Buffer raygenShaderBindingTableBuffer, DeviceSize raygenShaderBindingOffset, Buffer missShaderBindingTableBuffer, @@ -7091,8 +8542,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesNV ) ) +#endif void writeAccelerationStructuresPropertiesNV( uint32_t accelerationStructureCount, AccelerationStructureNV const * pAccelerationStructures, QueryType queryType, @@ -7102,8 +8558,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteAccelerationStructuresPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWriteAccelerationStructuresPropertiesNV ) ) +# endif void writeAccelerationStructuresPropertiesNV( ArrayProxy const & accelerationStructures, QueryType queryType, QueryPool queryPool, @@ -7114,7 +8575,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_draw_indirect_count === // wrapper function for command vkCmdDrawIndirectCountKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCountKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCountKHR ) ) +#endif void drawIndirectCountKHR( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -7125,8 +8591,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndexedIndirectCountKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCountKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCountKHR ) ) +#endif void drawIndexedIndirectCountKHR( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -7138,7 +8609,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_buffer_marker === // wrapper function for command vkCmdWriteBufferMarkerAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarkerAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteBufferMarkerAMD ) ) +#endif void writeBufferMarkerAMD( PipelineStageFlagBits pipelineStage, Buffer dstBuffer, DeviceSize dstOffset, @@ -7146,7 +8622,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdWriteBufferMarker2AMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteBufferMarker2AMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteBufferMarker2AMD ) ) +#endif void writeBufferMarker2AMD( PipelineStageFlags2 stage, Buffer dstBuffer, DeviceSize dstOffset, @@ -7156,12 +8637,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_mesh_shader === // wrapper function for command vkCmdDrawMeshTasksNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksNV ) ) +#endif void drawMeshTasksNV( uint32_t taskCount, uint32_t firstTask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdDrawMeshTasksIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectNV ) ) +#endif void drawMeshTasksIndirectNV( Buffer buffer, DeviceSize offset, uint32_t drawCount, @@ -7170,8 +8661,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirectCountNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCountNV ) ) +#endif void drawMeshTasksIndirectCountNV( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -7184,8 +8680,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorEnableNV ) ) +#endif void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, Bool32 const * pExclusiveScissorEnables, @@ -7193,22 +8694,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetExclusiveScissorEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorEnableNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorEnableNV ) ) +# endif void setExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, ArrayProxy const & exclusiveScissorEnables, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorNV ) ) +#endif void setExclusiveScissorNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, Rect2D const * pExclusiveScissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetExclusiveScissorNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExclusiveScissorNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetExclusiveScissorNV ) ) +# endif void setExclusiveScissorNV( uint32_t firstExclusiveScissor, ArrayProxy const & exclusiveScissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7217,13 +8733,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_device_diagnostic_checkpoints === // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCheckpointNV ) ) +#endif void setCheckpointNV( void const * pCheckpointMarker, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetCheckpointNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCheckpointNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetCheckpointNV ) ) +# endif void setCheckpointNV( CheckpointMarkerType const & checkpointMarker, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7232,45 +8758,75 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceMarkerINTEL ) ) +#endif VULKAN_HPP_NODISCARD Result setPerformanceMarkerINTEL( PerformanceMarkerInfoINTEL const * pMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetPerformanceMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceMarkerINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceMarkerINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPerformanceMarkerINTEL( PerformanceMarkerInfoINTEL const & markerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceStreamMarkerINTEL ) ) +#endif VULKAN_HPP_NODISCARD Result setPerformanceStreamMarkerINTEL( PerformanceStreamMarkerInfoINTEL const * pMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceStreamMarkerINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceStreamMarkerINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPerformanceStreamMarkerINTEL( PerformanceStreamMarkerInfoINTEL const & markerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceOverrideINTEL ) ) +#endif VULKAN_HPP_NODISCARD Result setPerformanceOverrideINTEL( PerformanceOverrideInfoINTEL const * pOverrideInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPerformanceOverrideINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetPerformanceOverrideINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPerformanceOverrideINTEL( PerformanceOverrideInfoINTEL const & overrideInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7279,49 +8835,79 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetFragmentShadingRateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateKHR ) ) +#endif void setFragmentShadingRateKHR( Extent2D const * pFragmentSize, FragmentShadingRateCombinerOpKHR const combinerOps[2], Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetFragmentShadingRateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> - void setFragmentShadingRateKHR( Extent2D const & fragmentSize, - FragmentShadingRateCombinerOpKHR const combinerOps[2], - Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +# else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateKHR ) ) +# endif + void setFragmentShadingRateKHR( Extent2D const & fragmentSize, + std::array const & combinerOps, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_dynamic_rendering_local_read === // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocationsKHR ) ) +#endif void setRenderingAttachmentLocationsKHR( RenderingAttachmentLocationInfo const * pLocationInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingAttachmentLocationsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingAttachmentLocationsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingAttachmentLocationsKHR ) ) +# endif void setRenderingAttachmentLocationsKHR( RenderingAttachmentLocationInfo const & locationInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndicesKHR ) ) +#endif void setRenderingInputAttachmentIndicesKHR( RenderingInputAttachmentIndexInfo const * pInputAttachmentIndexInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetRenderingInputAttachmentIndicesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRenderingInputAttachmentIndicesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetRenderingInputAttachmentIndicesKHR ) ) +# endif void setRenderingInputAttachmentIndicesKHR( RenderingInputAttachmentIndexInfo const & inputAttachmentIndexInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7329,7 +8915,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_line_rasterization === // wrapper function for command vkCmdSetLineStippleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStippleEXT ) ) +#endif void setLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7337,46 +8928,86 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_extended_dynamic_state === // wrapper function for command vkCmdSetCullModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCullModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCullModeEXT ) ) +#endif void setCullModeEXT( CullModeFlags cullMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetFrontFaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFrontFaceEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetFrontFaceEXT ) ) +#endif void setFrontFaceEXT( FrontFace frontFace, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetPrimitiveTopologyEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveTopologyEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveTopologyEXT ) ) +#endif void setPrimitiveTopologyEXT( PrimitiveTopology primitiveTopology, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetViewportWithCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCountEXT ) ) +#endif void setViewportWithCountEXT( uint32_t viewportCount, Viewport const * pViewports, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportWithCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWithCountEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportWithCountEXT ) ) +# endif void setViewportWithCountEXT( ArrayProxy const & viewports, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCountEXT ) ) +#endif void setScissorWithCountEXT( uint32_t scissorCount, Rect2D const * pScissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetScissorWithCountEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetScissorWithCountEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetScissorWithCountEXT ) ) +# endif void setScissorWithCountEXT( ArrayProxy const & scissors, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2EXT ) ) +#endif void bindVertexBuffers2EXT( uint32_t firstBinding, uint32_t bindingCount, Buffer const * pBuffers, @@ -7386,7 +9017,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers2EXT ) ) +# endif void bindVertexBuffers2EXT( uint32_t firstBinding, ArrayProxy const & buffers, ArrayProxy const & offsets, @@ -7396,30 +9032,60 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthTestEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthTestEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthTestEnableEXT ) ) +#endif void setDepthTestEnableEXT( Bool32 depthTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthWriteEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthWriteEnableEXT ) ) +#endif void setDepthWriteEnableEXT( Bool32 depthWriteEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthCompareOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthCompareOpEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthCompareOpEXT ) ) +#endif void setDepthCompareOpEXT( CompareOp depthCompareOp, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthBoundsTestEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBoundsTestEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBoundsTestEnableEXT ) ) +#endif void setDepthBoundsTestEnableEXT( Bool32 depthBoundsTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilTestEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilTestEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilTestEnableEXT ) ) +#endif void setStencilTestEnableEXT( Bool32 stencilTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetStencilOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetStencilOpEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetStencilOpEXT ) ) +#endif void setStencilOpEXT( StencilFaceFlags faceMask, StencilOp failOp, StencilOp passOp, @@ -7431,31 +9097,51 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsNV ) ) +#endif void preprocessGeneratedCommandsNV( GeneratedCommandsInfoNV const * pGeneratedCommandsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPreprocessGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsNV ) ) +# endif void preprocessGeneratedCommandsNV( GeneratedCommandsInfoNV const & generatedCommandsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsNV ) ) +#endif void executeGeneratedCommandsNV( Bool32 isPreprocessed, GeneratedCommandsInfoNV const * pGeneratedCommandsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdExecuteGeneratedCommandsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsNV ) ) +# endif void executeGeneratedCommandsNV( Bool32 isPreprocessed, GeneratedCommandsInfoNV const & generatedCommandsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7463,8 +9149,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindPipelineShaderGroupNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindPipelineShaderGroupNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindPipelineShaderGroupNV ) ) +#endif void bindPipelineShaderGroupNV( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, uint32_t groupIndex, @@ -7473,22 +9164,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_depth_bias_control === // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBias2EXT ) ) +#endif void setDepthBias2EXT( DepthBiasInfoEXT const * pDepthBiasInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDepthBias2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBias2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetDepthBias2EXT ) ) +# endif void setDepthBias2EXT( DepthBiasInfoEXT const & depthBiasInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_video_encode_queue === // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEncodeVideoKHR ) ) +#endif void encodeVideoKHR( VideoEncodeInfoKHR const * pEncodeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEncodeVideoKHR ) ) +# endif void encodeVideoKHR( VideoEncodeInfoKHR const & encodeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7496,11 +9207,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_cuda_kernel_launch === // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCudaLaunchKernelNV ) ) +# endif void cudaLaunchKernelNV( CudaLaunchInfoNV const * pLaunchInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCudaLaunchKernelNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCudaLaunchKernelNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCudaLaunchKernelNV ) ) +# endif void cudaLaunchKernelNV( CudaLaunchInfoNV const & launchInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -7508,40 +9229,70 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QCOM_tile_shading === // wrapper function for command vkCmdDispatchTileQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchTileQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchTileQCOM ) ) +#endif void dispatchTileQCOM( DispatchTileInfoQCOM const * pDispatchTileInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchTileQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchTileQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchTileQCOM ) ) +# endif void dispatchTileQCOM( DispatchTileInfoQCOM const & dispatchTileInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginPerTileExecutionQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginPerTileExecutionQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginPerTileExecutionQCOM ) ) +#endif void beginPerTileExecutionQCOM( PerTileBeginInfoQCOM const * pPerTileBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginPerTileExecutionQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginPerTileExecutionQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginPerTileExecutionQCOM ) ) +# endif void beginPerTileExecutionQCOM( PerTileBeginInfoQCOM const & perTileBeginInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdEndPerTileExecutionQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndPerTileExecutionQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndPerTileExecutionQCOM ) ) +#endif void endPerTileExecutionQCOM( PerTileEndInfoQCOM const * pPerTileEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndPerTileExecutionQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndPerTileExecutionQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndPerTileExecutionQCOM ) ) +# endif void endPerTileExecutionQCOM( PerTileEndInfoQCOM const & perTileEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7549,46 +9300,86 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_synchronization2 === // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetEvent2KHR ) ) +#endif void setEvent2KHR( Event event, DependencyInfo const * pDependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetEvent2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetEvent2KHR ) ) +# endif void setEvent2KHR( Event event, DependencyInfo const & dependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResetEvent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResetEvent2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResetEvent2KHR ) ) +#endif void resetEvent2KHR( Event event, PipelineStageFlags2 stageMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2KHR ) ) +#endif void waitEvents2KHR( uint32_t eventCount, Event const * pEvents, DependencyInfo const * pDependencyInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWaitEvents2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWaitEvents2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWaitEvents2KHR ) ) +# endif void waitEvents2KHR( ArrayProxy const & events, ArrayProxy const & dependencyInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2KHR ) ) +#endif void pipelineBarrier2KHR( DependencyInfo const * pDependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPipelineBarrier2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPipelineBarrier2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPipelineBarrier2KHR ) ) +# endif void pipelineBarrier2KHR( DependencyInfo const & dependencyInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteTimestamp2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteTimestamp2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteTimestamp2KHR ) ) +#endif void writeTimestamp2KHR( PipelineStageFlags2 stage, QueryPool queryPool, uint32_t query, @@ -7598,24 +9389,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindDescriptorBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBuffersEXT ) ) +#endif void bindDescriptorBuffersEXT( uint32_t bufferCount, DescriptorBufferBindingInfoEXT const * pBindingInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorBuffersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBuffersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBuffersEXT ) ) +# endif void bindDescriptorBuffersEXT( ArrayProxy const & bindingInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsetsEXT ) ) +#endif void setDescriptorBufferOffsetsEXT( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -7626,8 +9432,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDescriptorBufferOffsetsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsetsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsetsEXT ) ) +# endif void setDescriptorBufferOffsetsEXT( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t firstSet, @@ -7638,8 +9449,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplersEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBufferEmbeddedSamplersEXT ) ) +#endif void bindDescriptorBufferEmbeddedSamplersEXT( PipelineBindPoint pipelineBindPoint, PipelineLayout layout, uint32_t set, @@ -7648,92 +9464,177 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_device_address_commands === // wrapper function for command vkCmdBindIndexBuffer3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer3KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer3KHR ) ) +#endif void bindIndexBuffer3KHR( BindIndexBuffer3InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindIndexBuffer3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer3KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer3KHR ) ) +# endif void bindIndexBuffer3KHR( BindIndexBuffer3InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindVertexBuffers3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers3KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers3KHR ) ) +#endif void bindVertexBuffers3KHR( uint32_t firstBinding, uint32_t bindingCount, BindVertexBuffer3InfoKHR const * pBindingInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindVertexBuffers3KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindVertexBuffers3KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindVertexBuffers3KHR ) ) +# endif void bindVertexBuffers3KHR( uint32_t firstBinding, ArrayProxy const & bindingInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirect2KHR ) ) +#endif void drawIndirect2KHR( DrawIndirect2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirect2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndirect2KHR ) ) +# endif void drawIndirect2KHR( DrawIndirect2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndexedIndirect2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirect2KHR ) ) +#endif void drawIndexedIndirect2KHR( DrawIndirect2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndexedIndirect2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirect2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirect2KHR ) ) +# endif void drawIndexedIndirect2KHR( DrawIndirect2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDispatchIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchIndirect2KHR ) ) +#endif void dispatchIndirect2KHR( DispatchIndirect2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchIndirect2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchIndirect2KHR ) ) +# endif void dispatchIndirect2KHR( DispatchIndirect2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryKHR ) ) +#endif void copyMemoryKHR( CopyDeviceMemoryInfoKHR const * pCopyMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryKHR ) ) +# endif void copyMemoryKHR( Optional copyMemoryInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageKHR ) ) +#endif void copyMemoryToImageKHR( CopyDeviceMemoryImageInfoKHR const * pCopyMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageKHR ) ) +# endif void copyMemoryToImageKHR( Optional copyMemoryInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToMemoryKHR ) ) +#endif void copyImageToMemoryKHR( CopyDeviceMemoryImageInfoKHR const * pCopyMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToMemoryKHR ) ) +# endif void copyImageToMemoryKHR( Optional copyMemoryInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdUpdateMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdUpdateMemoryKHR ) ) +#endif void updateMemoryKHR( DeviceAddressRangeKHR const * pDstRange, AddressCommandFlagsKHR dstFlags, DeviceSize dataSize, @@ -7741,9 +9642,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdUpdateMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdateMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdUpdateMemoryKHR ) ) +# endif void updateMemoryKHR( DeviceAddressRangeKHR const & dstRange, AddressCommandFlagsKHR dstFlags, ArrayProxy const & data, @@ -7751,14 +9657,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdFillMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdFillMemoryKHR ) ) +#endif void fillMemoryKHR( DeviceAddressRangeKHR const * pDstRange, AddressCommandFlagsKHR dstFlags, uint32_t data, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdFillMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdFillMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdFillMemoryKHR ) ) +# endif void fillMemoryKHR( DeviceAddressRangeKHR const & dstRange, AddressCommandFlagsKHR dstFlags, uint32_t data, @@ -7767,8 +9683,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdCopyQueryPoolResultsToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResultsToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyQueryPoolResultsToMemoryKHR ) ) +#endif void copyQueryPoolResultsToMemoryKHR( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -7779,8 +9700,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyQueryPoolResultsToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyQueryPoolResultsToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyQueryPoolResultsToMemoryKHR ) ) +# endif void copyQueryPoolResultsToMemoryKHR( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -7791,49 +9717,84 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndirectCount2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCount2KHR ) ) +#endif void drawIndirectCount2KHR( DrawIndirectCount2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndirectCount2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectCount2KHR ) ) +# endif void drawIndirectCount2KHR( DrawIndirectCount2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawIndexedIndirectCount2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCount2KHR ) ) +#endif void drawIndexedIndirectCount2KHR( DrawIndirectCount2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndexedIndirectCount2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndexedIndirectCount2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndexedIndirectCount2KHR ) ) +# endif void drawIndexedIndirectCount2KHR( DrawIndirectCount2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBeginConditionalRendering2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRendering2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRendering2EXT ) ) +#endif void beginConditionalRendering2EXT( ConditionalRenderingBeginInfo2EXT const * pConditionalRenderingBegin, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginConditionalRendering2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginConditionalRendering2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginConditionalRendering2EXT ) ) +# endif void beginConditionalRendering2EXT( ConditionalRenderingBeginInfo2EXT const & conditionalRenderingBegin, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindTransformFeedbackBuffers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffers2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffers2EXT ) ) +#endif void bindTransformFeedbackBuffers2EXT( uint32_t firstBinding, uint32_t bindingCount, BindTransformFeedbackBuffer2InfoEXT const * pBindingInfos, @@ -7841,8 +9802,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindTransformFeedbackBuffers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTransformFeedbackBuffers2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindTransformFeedbackBuffers2EXT ) ) +# endif void bindTransformFeedbackBuffers2EXT( uint32_t firstBinding, ArrayProxy const & bindingInfos VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7850,8 +9816,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedback2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedback2EXT ) ) +#endif void beginTransformFeedback2EXT( uint32_t firstCounterRange, uint32_t counterRangeCount, BindTransformFeedbackBuffer2InfoEXT const * pCounterInfos, @@ -7859,8 +9830,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginTransformFeedback2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginTransformFeedback2EXT ) ) +# endif void beginTransformFeedback2EXT( uint32_t firstCounterRange, ArrayProxy const & counterInfos VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7868,8 +9844,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdEndTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedback2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedback2EXT ) ) +#endif void endTransformFeedback2EXT( uint32_t firstCounterRange, uint32_t counterRangeCount, BindTransformFeedbackBuffer2InfoEXT const * pCounterInfos, @@ -7877,8 +9858,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndTransformFeedback2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndTransformFeedback2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndTransformFeedback2EXT ) ) +# endif void endTransformFeedback2EXT( uint32_t firstCounterRange, ArrayProxy const & counterInfos VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -7886,8 +9872,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawIndirectByteCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCount2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectByteCount2EXT ) ) +#endif void drawIndirectByteCount2EXT( uint32_t instanceCount, uint32_t firstInstance, BindTransformFeedbackBuffer2InfoEXT const * pCounterInfo, @@ -7897,8 +9888,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawIndirectByteCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectByteCount2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawIndirectByteCount2EXT ) ) +# endif void drawIndirectByteCount2EXT( uint32_t instanceCount, uint32_t firstInstance, BindTransformFeedbackBuffer2InfoEXT const & counterInfo, @@ -7909,38 +9905,68 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirect2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirect2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirect2EXT ) ) +#endif void drawMeshTasksIndirect2EXT( DrawIndirect2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMeshTasksIndirect2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirect2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirect2EXT ) ) +# endif void drawMeshTasksIndirect2EXT( DrawIndirect2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawMeshTasksIndirectCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCount2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCount2EXT ) ) +#endif void drawMeshTasksIndirectCount2EXT( DrawIndirectCount2InfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMeshTasksIndirectCount2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCount2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCount2EXT ) ) +# endif void drawMeshTasksIndirectCount2EXT( DrawIndirectCount2InfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteMarkerToMemoryAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMarkerToMemoryAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteMarkerToMemoryAMD ) ) +#endif void writeMarkerToMemoryAMD( MemoryMarkerInfoAMD const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteMarkerToMemoryAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMarkerToMemoryAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWriteMarkerToMemoryAMD ) ) +# endif void writeMarkerToMemoryAMD( MemoryMarkerInfoAMD const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -7948,16 +9974,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateEnumNV ) ) +#endif void setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, FragmentShadingRateCombinerOpKHR const combinerOps[2], Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetFragmentShadingRateEnumNV ) ) +# endif + void setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, + std::array const & combinerOps, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_mesh_shader === // wrapper function for command vkCmdDrawMeshTasksEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksEXT ) ) +#endif void drawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, @@ -7965,8 +10015,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirectEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectEXT ) ) +#endif void drawMeshTasksIndirectEXT( Buffer buffer, DeviceSize offset, uint32_t drawCount, @@ -7975,8 +10030,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawMeshTasksIndirectCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMeshTasksIndirectCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMeshTasksIndirectCountEXT ) ) +#endif void drawMeshTasksIndirectCountEXT( Buffer buffer, DeviceSize offset, Buffer countBuffer, @@ -7988,67 +10048,132 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_copy_commands2 === // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2KHR ) ) +#endif void copyBuffer2KHR( CopyBufferInfo2 const * pCopyBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBuffer2KHR ) ) +# endif void copyBuffer2KHR( CopyBufferInfo2 const & copyBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImage2KHR ) ) +#endif void copyImage2KHR( CopyImageInfo2 const * pCopyImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImage2KHR ) ) +# endif void copyImage2KHR( CopyImageInfo2 const & copyImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2KHR ) ) +#endif void copyBufferToImage2KHR( CopyBufferToImageInfo2 const * pCopyBufferToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyBufferToImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBufferToImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyBufferToImage2KHR ) ) +# endif void copyBufferToImage2KHR( CopyBufferToImageInfo2 const & copyBufferToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2KHR ) ) +#endif void copyImageToBuffer2KHR( CopyImageToBufferInfo2 const * pCopyImageToBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyImageToBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyImageToBuffer2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyImageToBuffer2KHR ) ) +# endif void copyImageToBuffer2KHR( CopyImageToBufferInfo2 const & copyImageToBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBlitImage2KHR ) ) +#endif void blitImage2KHR( BlitImageInfo2 const * pBlitImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBlitImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBlitImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBlitImage2KHR ) ) +# endif void blitImage2KHR( BlitImageInfo2 const & blitImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdResolveImage2KHR ) ) +#endif void resolveImage2KHR( ResolveImageInfo2 const * pResolveImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdResolveImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdResolveImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdResolveImage2KHR ) ) +# endif void resolveImage2KHR( ResolveImageInfo2 const & resolveImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_EXT_vertex_input_dynamic_state === // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetVertexInputEXT ) ) +#endif void setVertexInputEXT( uint32_t vertexBindingDescriptionCount, VertexInputBindingDescription2EXT const * pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, @@ -8056,7 +10181,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetVertexInputEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetVertexInputEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetVertexInputEXT ) ) +# endif void setVertexInputEXT( ArrayProxy const & vertexBindingDescriptions, ArrayProxy const & vertexAttributeDescriptions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8065,15 +10195,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_HUAWEI_subpass_shading === // wrapper function for command vkCmdSubpassShadingHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSubpassShadingHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSubpassShadingHUAWEI ) ) +#endif void subpassShadingHUAWEI( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_HUAWEI_invocation_mask === // wrapper function for command vkCmdBindInvocationMaskHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindInvocationMaskHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindInvocationMaskHUAWEI ) ) +#endif void bindInvocationMaskHUAWEI( ImageView imageView, ImageLayout imageLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8082,40 +10222,75 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPatchControlPointsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPatchControlPointsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPatchControlPointsEXT ) ) +#endif void setPatchControlPointsEXT( uint32_t patchControlPoints, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetRasterizerDiscardEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizerDiscardEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizerDiscardEnableEXT ) ) +#endif void setRasterizerDiscardEnableEXT( Bool32 rasterizerDiscardEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthBiasEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBiasEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthBiasEnableEXT ) ) +#endif void setDepthBiasEnableEXT( Bool32 depthBiasEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetLogicOpEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLogicOpEXT ) ) +#endif void setLogicOpEXT( LogicOp logicOp, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetPrimitiveRestartEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveRestartEnableEXT ) ) +#endif void setPrimitiveRestartEnableEXT( Bool32 primitiveRestartEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_EXT_color_write_enable === // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteEnableEXT ) ) +#endif void setColorWriteEnableEXT( uint32_t attachmentCount, Bool32 const * pColorWriteEnables, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorWriteEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteEnableEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteEnableEXT ) ) +# endif void setColorWriteEnableEXT( ArrayProxy const & colorWriteEnables, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8123,13 +10298,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_ray_tracing_maintenance1 === // wrapper function for command vkCmdTraceRaysIndirect2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirect2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdTraceRaysIndirect2KHR ) ) +#endif void traceRaysIndirect2KHR( DeviceAddress indirectDeviceAddress, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_EXT_multi_draw === // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMultiEXT ) ) +#endif void drawMultiEXT( uint32_t drawCount, MultiDrawInfoEXT const * pVertexInfo, uint32_t instanceCount, @@ -8138,7 +10323,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMultiEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMultiEXT ) ) +# endif void drawMultiEXT( StridedArrayProxy const & vertexInfo, uint32_t instanceCount, uint32_t firstInstance, @@ -8146,7 +10336,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawMultiIndexedEXT ) ) +#endif void drawMultiIndexedEXT( uint32_t drawCount, MultiDrawIndexedInfoEXT const * pIndexInfo, uint32_t instanceCount, @@ -8156,7 +10351,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDrawMultiIndexedEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawMultiIndexedEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDrawMultiIndexedEXT ) ) +# endif void drawMultiIndexedEXT( StridedArrayProxy const & indexInfo, uint32_t instanceCount, uint32_t firstInstance, @@ -8167,56 +10367,101 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_opacity_micromap === // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBuildMicromapsEXT ) ) +#endif void buildMicromapsEXT( uint32_t infoCount, MicromapBuildInfoEXT const * pInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBuildMicromapsEXT ) ) +# endif void buildMicromapsEXT( ArrayProxy const & infos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapEXT ) ) +#endif void copyMicromapEXT( CopyMicromapInfoEXT const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapEXT ) ) +# endif void copyMicromapEXT( CopyMicromapInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapToMemoryEXT ) ) +#endif void copyMicromapToMemoryEXT( CopyMicromapToMemoryInfoEXT const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMicromapToMemoryEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapToMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMicromapToMemoryEXT ) ) +# endif void copyMicromapToMemoryEXT( CopyMicromapToMemoryInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToMicromapEXT ) ) +#endif void copyMemoryToMicromapEXT( CopyMemoryToMicromapInfoEXT const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToMicromapEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToMicromapEXT ) ) +# endif void copyMemoryToMicromapEXT( CopyMemoryToMicromapInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdWriteMicromapsPropertiesEXT ) ) +#endif void writeMicromapsPropertiesEXT( uint32_t micromapCount, MicromapEXT const * pMicromaps, QueryType queryType, @@ -8226,8 +10471,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdWriteMicromapsPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdWriteMicromapsPropertiesEXT ) ) +# endif void writeMicromapsPropertiesEXT( ArrayProxy const & micromaps, QueryType queryType, QueryPool queryPool, @@ -8238,7 +10488,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_HUAWEI_cluster_culling_shader === // wrapper function for command vkCmdDrawClusterHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawClusterHUAWEI ) ) +#endif void drawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ, @@ -8246,23 +10501,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdDrawClusterIndirectHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawClusterIndirectHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDrawClusterIndirectHUAWEI ) ) +#endif void drawClusterIndirectHUAWEI( Buffer buffer, DeviceSize offset, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_ARM_scheduling_controls === // wrapper function for command vkCmdSetDispatchParametersARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDispatchParametersARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDispatchParametersARM ) ) +#endif void setDispatchParametersARM( DispatchParametersARM const * pDispatchParameters, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDispatchParametersARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDispatchParametersARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetDispatchParametersARM ) ) +# endif void setDispatchParametersARM( DispatchParametersARM const & dispatchParameters, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8270,7 +10540,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_copy_memory_indirect === // wrapper function for command vkCmdCopyMemoryIndirectNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryIndirectNV ) ) +#endif void copyMemoryIndirectNV( DeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, @@ -8278,8 +10553,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectNV ) ) +#endif void copyMemoryToImageIndirectNV( DeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, @@ -8290,8 +10570,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToImageIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectNV ) ) +# endif void copyMemoryToImageIndirectNV( DeviceAddress copyBufferAddress, uint32_t stride, Image dstImage, @@ -8303,21 +10588,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_memory_decompression === // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryNV ) ) +#endif void decompressMemoryNV( uint32_t decompressRegionCount, DecompressMemoryRegionNV const * pDecompressMemoryRegions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDecompressMemoryNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryNV ) ) +# endif void decompressMemoryNV( ArrayProxy const & decompressMemoryRegions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDecompressMemoryIndirectCountNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryIndirectCountNV ) ) +#endif void decompressMemoryIndirectCountNV( DeviceAddress indirectCommandsAddress, DeviceAddress indirectCommandsCountAddress, uint32_t stride, @@ -8327,8 +10627,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdUpdatePipelineIndirectBufferNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdUpdatePipelineIndirectBufferNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdUpdatePipelineIndirectBufferNV ) ) +#endif void updatePipelineIndirectBufferNV( PipelineBindPoint pipelineBindPoint, Pipeline pipeline, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8336,28 +10641,53 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_extended_dynamic_state3 === // wrapper function for command vkCmdSetDepthClampEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClampEnableEXT ) ) +#endif void setDepthClampEnableEXT( Bool32 depthClampEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetPolygonModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPolygonModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPolygonModeEXT ) ) +#endif void setPolygonModeEXT( PolygonMode polygonMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetRasterizationSamplesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationSamplesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizationSamplesEXT ) ) +#endif void setRasterizationSamplesEXT( SampleCountFlagBits rasterizationSamples, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetSampleMaskEXT ) ) +#endif void setSampleMaskEXT( SampleCountFlagBits samples, SampleMask const * pSampleMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetSampleMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleMaskEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetSampleMaskEXT ) ) +# endif void setSampleMaskEXT( SampleCountFlagBits samples, ArrayProxy const & sampleMask VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; @@ -8365,27 +10695,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetAlphaToCoverageEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToCoverageEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetAlphaToCoverageEnableEXT ) ) +#endif void setAlphaToCoverageEnableEXT( Bool32 alphaToCoverageEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetAlphaToOneEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAlphaToOneEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetAlphaToOneEnableEXT ) ) +#endif void setAlphaToOneEnableEXT( Bool32 alphaToOneEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetLogicOpEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLogicOpEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLogicOpEnableEXT ) ) +#endif void setLogicOpEnableEXT( Bool32 logicOpEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEnableEXT ) ) +#endif void setColorBlendEnableEXT( uint32_t firstAttachment, uint32_t attachmentCount, Bool32 const * pColorBlendEnables, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorBlendEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEnableEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEnableEXT ) ) +# endif void setColorBlendEnableEXT( uint32_t firstAttachment, ArrayProxy const & colorBlendEnables, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8393,8 +10748,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetColorBlendEquationEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEquationEXT ) ) +#endif void setColorBlendEquationEXT( uint32_t firstAttachment, uint32_t attachmentCount, ColorBlendEquationEXT const * pColorBlendEquations, @@ -8402,22 +10762,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorBlendEquationEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendEquationEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendEquationEXT ) ) +# endif void setColorBlendEquationEXT( uint32_t firstAttachment, ArrayProxy const & colorBlendEquations, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteMaskEXT ) ) +#endif void setColorWriteMaskEXT( uint32_t firstAttachment, uint32_t attachmentCount, ColorComponentFlags const * pColorWriteMasks, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorWriteMaskEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorWriteMaskEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorWriteMaskEXT ) ) +# endif void setColorWriteMaskEXT( uint32_t firstAttachment, ArrayProxy const & colorWriteMasks, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8425,45 +10800,80 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetTessellationDomainOriginEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetTessellationDomainOriginEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetTessellationDomainOriginEXT ) ) +#endif void setTessellationDomainOriginEXT( TessellationDomainOrigin domainOrigin, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetRasterizationStreamEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRasterizationStreamEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRasterizationStreamEXT ) ) +#endif void setRasterizationStreamEXT( uint32_t rasterizationStream, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetConservativeRasterizationModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetConservativeRasterizationModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetConservativeRasterizationModeEXT ) ) +#endif void setConservativeRasterizationModeEXT( ConservativeRasterizationModeEXT conservativeRasterizationMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetExtraPrimitiveOverestimationSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetExtraPrimitiveOverestimationSizeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetExtraPrimitiveOverestimationSizeEXT ) ) +#endif void setExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthClipEnableEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClipEnableEXT ) ) +#endif void setDepthClipEnableEXT( Bool32 depthClipEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetSampleLocationsEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetSampleLocationsEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetSampleLocationsEnableEXT ) ) +#endif void setSampleLocationsEnableEXT( Bool32 sampleLocationsEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendAdvancedEXT ) ) +#endif void setColorBlendAdvancedEXT( uint32_t firstAttachment, uint32_t attachmentCount, ColorBlendAdvancedEXT const * pColorBlendAdvanced, @@ -8471,8 +10881,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetColorBlendAdvancedEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetColorBlendAdvancedEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetColorBlendAdvancedEXT ) ) +# endif void setColorBlendAdvancedEXT( uint32_t firstAttachment, ArrayProxy const & colorBlendAdvanced, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8480,44 +10895,79 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetProvokingVertexModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetProvokingVertexModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetProvokingVertexModeEXT ) ) +#endif void setProvokingVertexModeEXT( ProvokingVertexModeEXT provokingVertexMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetLineRasterizationModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineRasterizationModeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineRasterizationModeEXT ) ) +#endif void setLineRasterizationModeEXT( LineRasterizationModeEXT lineRasterizationMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetLineStippleEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStippleEnableEXT ) ) +#endif void setLineStippleEnableEXT( Bool32 stippledLineEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthClipNegativeOneToOneEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClipNegativeOneToOneEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClipNegativeOneToOneEXT ) ) +#endif void setDepthClipNegativeOneToOneEXT( Bool32 negativeOneToOne, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetViewportWScalingEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportWScalingEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportWScalingEnableNV ) ) +#endif void setViewportWScalingEnableNV( Bool32 viewportWScalingEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetViewportSwizzleNV ) ) +#endif void setViewportSwizzleNV( uint32_t firstViewport, uint32_t viewportCount, ViewportSwizzleNV const * pViewportSwizzles, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetViewportSwizzleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetViewportSwizzleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetViewportSwizzleNV ) ) +# endif void setViewportSwizzleNV( uint32_t firstViewport, ArrayProxy const & viewportSwizzles, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8525,88 +10975,153 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetCoverageToColorEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageToColorEnableNV ) ) +#endif void setCoverageToColorEnableNV( Bool32 coverageToColorEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetCoverageToColorLocationNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageToColorLocationNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageToColorLocationNV ) ) +#endif void setCoverageToColorLocationNV( uint32_t coverageToColorLocation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetCoverageModulationModeNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationModeNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationModeNV ) ) +#endif void setCoverageModulationModeNV( CoverageModulationModeNV coverageModulationMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetCoverageModulationTableEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationTableEnableNV ) ) +#endif void setCoverageModulationTableEnableNV( Bool32 coverageModulationTableEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetCoverageModulationTableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationTableNV ) ) +#endif void setCoverageModulationTableNV( uint32_t coverageModulationTableCount, float const * pCoverageModulationTable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetCoverageModulationTableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageModulationTableNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetCoverageModulationTableNV ) ) +# endif void setCoverageModulationTableNV( ArrayProxy const & coverageModulationTable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetShadingRateImageEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetShadingRateImageEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetShadingRateImageEnableNV ) ) +#endif void setShadingRateImageEnableNV( Bool32 shadingRateImageEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetRepresentativeFragmentTestEnableNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetRepresentativeFragmentTestEnableNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetRepresentativeFragmentTestEnableNV ) ) +#endif void setRepresentativeFragmentTestEnableNV( Bool32 representativeFragmentTestEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetCoverageReductionModeNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetCoverageReductionModeNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetCoverageReductionModeNV ) ) +#endif void setCoverageReductionModeNV( CoverageReductionModeNV coverageReductionMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_ARM_tensors === // wrapper function for command vkCmdCopyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyTensorARM ) ) +#endif void copyTensorARM( CopyTensorInfoARM const * pCopyTensorInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyTensorARM ) ) +# endif void copyTensorARM( CopyTensorInfoARM const & copyTensorInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_NV_optical_flow === // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdOpticalFlowExecuteNV ) ) +#endif void opticalFlowExecuteNV( OpticalFlowSessionNV session, OpticalFlowExecuteInfoNV const * pExecuteInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdOpticalFlowExecuteNV ) ) +# endif void opticalFlowExecuteNV( OpticalFlowSessionNV session, OpticalFlowExecuteInfoNV const & executeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8615,7 +11130,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_maintenance5 === // wrapper function for command vkCmdBindIndexBuffer2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindIndexBuffer2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindIndexBuffer2KHR ) ) +#endif void bindIndexBuffer2KHR( Buffer buffer, DeviceSize offset, DeviceSize size, @@ -8625,27 +11145,47 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_shader_object === // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindShadersEXT ) ) +#endif void bindShadersEXT( uint32_t stageCount, ShaderStageFlagBits const * pStages, ShaderEXT const * pShaders, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindShadersEXT ) ) +# endif void bindShadersEXT( ArrayProxy const & stages, ArrayProxy const & shaders, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDepthClampRangeEXT ) ) +#endif void setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, DepthClampRangeEXT const * pDepthClampRange, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDepthClampRangeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthClampRangeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetDepthClampRangeEXT ) ) +# endif void setDepthClampRangeEXT( DepthClampModeEXT depthClampMode, Optional depthClampRange VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8655,16 +11195,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdConvertCooperativeVectorMatrixNV ) ) +#endif void convertCooperativeVectorMatrixNV( uint32_t infoCount, ConvertCooperativeVectorMatrixInfoNV const * pInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdConvertCooperativeVectorMatrixNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdConvertCooperativeVectorMatrixNV ) ) +# endif void convertCooperativeVectorMatrixNV( ArrayProxy const & infos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8672,13 +11222,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_ARM_data_graph === // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDispatchDataGraphARM ) ) +#endif void dispatchDataGraphARM( DataGraphPipelineSessionARM session, DataGraphPipelineDispatchInfoARM const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDispatchDataGraphARM ) ) +# endif void dispatchDataGraphARM( DataGraphPipelineSessionARM session, Optional info VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8688,15 +11248,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetAttachmentFeedbackLoopEnableEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetAttachmentFeedbackLoopEnableEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetAttachmentFeedbackLoopEnableEXT ) ) +#endif void setAttachmentFeedbackLoopEnableEXT( ImageAspectFlags aspectMask, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_KHR_line_rasterization === // wrapper function for command vkCmdSetLineStippleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetLineStippleKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetLineStippleKHR ) ) +#endif void setLineStippleKHR( uint32_t lineStippleFactor, uint16_t lineStipplePattern, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8704,79 +11274,139 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_maintenance6 === // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2KHR ) ) +#endif void bindDescriptorSets2KHR( BindDescriptorSetsInfo const * pBindDescriptorSetsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorSets2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorSets2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorSets2KHR ) ) +# endif void bindDescriptorSets2KHR( BindDescriptorSetsInfo const & bindDescriptorSetsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushConstants2KHR ) ) +#endif void pushConstants2KHR( PushConstantsInfo const * pPushConstantsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushConstants2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushConstants2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushConstants2KHR ) ) +# endif void pushConstants2KHR( PushConstantsInfo const & pushConstantsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2KHR ) ) +#endif void pushDescriptorSet2KHR( PushDescriptorSetInfo const * pPushDescriptorSetInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSet2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSet2KHR ) ) +# endif void pushDescriptorSet2KHR( PushDescriptorSetInfo const & pushDescriptorSetInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2KHR ) ) +#endif void pushDescriptorSetWithTemplate2KHR( PushDescriptorSetWithTemplateInfo const * pPushDescriptorSetWithTemplateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPushDescriptorSetWithTemplate2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSetWithTemplate2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPushDescriptorSetWithTemplate2KHR ) ) +# endif void pushDescriptorSetWithTemplate2KHR( PushDescriptorSetWithTemplateInfo const & pushDescriptorSetWithTemplateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsets2EXT ) ) +#endif void setDescriptorBufferOffsets2EXT( SetDescriptorBufferOffsetsInfoEXT const * pSetDescriptorBufferOffsetsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetDescriptorBufferOffsets2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDescriptorBufferOffsets2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetDescriptorBufferOffsets2EXT ) ) +# endif void setDescriptorBufferOffsets2EXT( SetDescriptorBufferOffsetsInfoEXT const & setDescriptorBufferOffsetsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBufferEmbeddedSamplers2EXT ) ) +#endif void bindDescriptorBufferEmbeddedSamplers2EXT( BindDescriptorBufferEmbeddedSamplersInfoEXT const * pBindDescriptorBufferEmbeddedSamplersInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindDescriptorBufferEmbeddedSamplers2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindDescriptorBufferEmbeddedSamplers2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindDescriptorBufferEmbeddedSamplers2EXT ) ) +# endif void bindDescriptorBufferEmbeddedSamplers2EXT( BindDescriptorBufferEmbeddedSamplersInfoEXT const & bindDescriptorBufferEmbeddedSamplersInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8784,12 +11414,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QCOM_tile_memory_heap === // wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBindTileMemoryQCOM ) ) +#endif void bindTileMemoryQCOM( TileMemoryBindInfoQCOM const * pTileMemoryBindInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBindTileMemoryQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindTileMemoryQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBindTileMemoryQCOM ) ) +# endif void bindTileMemoryQCOM( Optional tileMemoryBindInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8797,27 +11437,47 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_copy_memory_indirect === // wrapper function for command vkCmdCopyMemoryIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryIndirectKHR ) ) +#endif void copyMemoryIndirectKHR( CopyMemoryIndirectInfoKHR const * pCopyMemoryIndirectInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryIndirectKHR ) ) +# endif void copyMemoryIndirectKHR( CopyMemoryIndirectInfoKHR const & copyMemoryIndirectInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdCopyMemoryToImageIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectKHR ) ) +#endif void copyMemoryToImageIndirectKHR( CopyMemoryToImageIndirectInfoKHR const * pCopyMemoryToImageIndirectInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdCopyMemoryToImageIndirectKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMemoryToImageIndirectKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdCopyMemoryToImageIndirectKHR ) ) +# endif void copyMemoryToImageIndirectKHR( CopyMemoryToImageIndirectInfoKHR const & copyMemoryToImageIndirectInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8825,20 +11485,35 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_memory_decompression === // wrapper function for command vkCmdDecompressMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryEXT ) ) +#endif void decompressMemoryEXT( DecompressMemoryInfoEXT const * pDecompressMemoryInfoEXT, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdDecompressMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryEXT ) ) +# endif void decompressMemoryEXT( DecompressMemoryInfoEXT const & decompressMemoryInfoEXT, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCmdDecompressMemoryIndirectCountEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDecompressMemoryIndirectCountEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdDecompressMemoryIndirectCountEXT ) ) +#endif void decompressMemoryIndirectCountEXT( MemoryDecompressionMethodFlagsEXT decompressionMethod, DeviceAddress indirectCommandsAddress, DeviceAddress indirectCommandsCountAddress, @@ -8850,15 +11525,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBuildClusterAccelerationStructureIndirectNV ) ) +#endif void buildClusterAccelerationStructureIndirectNV( ClusterAccelerationStructureCommandsInfoNV const * pCommandInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildClusterAccelerationStructureIndirectNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildClusterAccelerationStructureIndirectNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBuildClusterAccelerationStructureIndirectNV ) ) +# endif void buildClusterAccelerationStructureIndirectNV( ClusterAccelerationStructureCommandsInfoNV const & commandInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8867,15 +11552,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBuildPartitionedAccelerationStructuresNV ) ) +#endif void buildPartitionedAccelerationStructuresNV( BuildPartitionedAccelerationStructureInfoNV const * pBuildInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBuildPartitionedAccelerationStructuresNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildPartitionedAccelerationStructuresNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBuildPartitionedAccelerationStructuresNV ) ) +# endif void buildPartitionedAccelerationStructuresNV( BuildPartitionedAccelerationStructureInfoNV const & buildInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8884,16 +11579,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsEXT ) ) +#endif void preprocessGeneratedCommandsEXT( GeneratedCommandsInfoEXT const * pGeneratedCommandsInfo, CommandBuffer stateCommandBuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdPreprocessGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPreprocessGeneratedCommandsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdPreprocessGeneratedCommandsEXT ) ) +# endif void preprocessGeneratedCommandsEXT( GeneratedCommandsInfoEXT const & generatedCommandsInfo, CommandBuffer stateCommandBuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8901,16 +11606,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsEXT ) ) +#endif void executeGeneratedCommandsEXT( Bool32 isPreprocessed, GeneratedCommandsInfoEXT const * pGeneratedCommandsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdExecuteGeneratedCommandsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdExecuteGeneratedCommandsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdExecuteGeneratedCommandsEXT ) ) +# endif void executeGeneratedCommandsEXT( Bool32 isPreprocessed, GeneratedCommandsInfoEXT const & generatedCommandsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -8920,26 +11635,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdBeginShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginShaderInstrumentationARM ) ) +#endif void beginShaderInstrumentationARM( ShaderInstrumentationARM instrumentation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdEndShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndShaderInstrumentationARM ) ) +#endif void endShaderInstrumentationARM( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_EXT_fragment_density_map_offset === // wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRendering2EXT ) ) +#endif void endRendering2EXT( RenderingEndInfoKHR const * pRenderingEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndRendering2EXT ) ) +# endif void endRendering2EXT( Optional renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8947,12 +11682,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_custom_resolve === // wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdBeginCustomResolveEXT ) ) +#endif void beginCustomResolveEXT( BeginCustomResolveInfoEXT const * pBeginCustomResolveInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdBeginCustomResolveEXT ) ) +# endif void beginCustomResolveEXT( Optional beginCustomResolveInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8960,12 +11705,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_maintenance10 === // wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdEndRendering2KHR ) ) +#endif void endRendering2KHR( RenderingEndInfoKHR const * pRenderingEndInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdEndRendering2KHR ) ) +# endif void endRendering2KHR( Optional renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8974,15 +11729,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetComputeOccupancyPriorityNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetComputeOccupancyPriorityNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetComputeOccupancyPriorityNV ) ) +#endif void setComputeOccupancyPriorityNV( ComputeOccupancyPriorityParametersNV const * pParameters, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCmdSetComputeOccupancyPriorityNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetComputeOccupancyPriorityNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCmdSetComputeOccupancyPriorityNV ) ) +# endif void setComputeOccupancyPriorityNV( ComputeOccupancyPriorityParametersNV const & parameters, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -8991,8 +11756,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetPrimitiveRestartIndexEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetPrimitiveRestartIndexEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCmdSetPrimitiveRestartIndexEXT ) ) +#endif void setPrimitiveRestartIndexEXT( uint32_t primitiveRestartIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; operator VkCommandBuffer() const VULKAN_HPP_NOEXCEPT @@ -10290,16 +13060,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetExternalComputeQueueDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetExternalComputeQueueDataNV ) ) +#endif void getData( ExternalComputeQueueDataParamsNV * params, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetExternalComputeQueueDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExternalComputeQueueDataNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetExternalComputeQueueDataNV ) ) +# endif VULKAN_HPP_NODISCARD std::pair getData( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11663,14 +14443,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueSubmit ) ) +#endif VULKAN_HPP_NODISCARD Result submit( uint32_t submitCount, SubmitInfo const * pSubmits, Fence fence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSubmit, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueSubmit ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type submit( ArrayProxy const & submits, Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -11678,23 +14468,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD Result waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueBindSparse ) ) +#endif VULKAN_HPP_NODISCARD Result bindSparse( uint32_t bindInfoCount, BindSparseInfo const * pBindInfo, Fence fence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueBindSparse, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBindSparse.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueBindSparse ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindSparse( ArrayProxy const & bindInfo, Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), @@ -11704,14 +14514,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_3 === // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueSubmit2 ) ) +#endif VULKAN_HPP_NODISCARD Result submit2( uint32_t submitCount, SubmitInfo2 const * pSubmits, Fence fence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSubmit2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueSubmit2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type submit2( ArrayProxy const & submits, Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -11720,12 +14540,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_swapchain === // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueuePresentKHR ) ) +#endif VULKAN_HPP_NODISCARD Result presentKHR( PresentInfoKHR const * pPresentInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueuePresentKHR ) ) +# endif VULKAN_HPP_NODISCARD Result presentKHR( PresentInfoKHR const & presentInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11733,34 +14563,59 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueBeginDebugUtilsLabelEXT ) ) +#endif void beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueBeginDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueBeginDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueBeginDebugUtilsLabelEXT ) ) +# endif void beginDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkQueueEndDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueEndDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueEndDebugUtilsLabelEXT ) ) +#endif void endDebugUtilsLabelEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueInsertDebugUtilsLabelEXT ) ) +#endif void insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const * pLabelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueInsertDebugUtilsLabelEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueInsertDebugUtilsLabelEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueInsertDebugUtilsLabelEXT ) ) +# endif void insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11768,45 +14623,79 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_device_diagnostic_checkpoints === // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetQueueCheckpointDataNV ) ) +#endif void getCheckpointDataNV( uint32_t * pCheckpointDataCount, CheckpointDataNV * pCheckpointData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CheckpointDataNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetQueueCheckpointDataNV ) ) +# endif VULKAN_HPP_NODISCARD std::vector getCheckpointDataNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetQueueCheckpointDataNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointDataNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CheckpointDataNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetQueueCheckpointDataNV ) ) +# endif VULKAN_HPP_NODISCARD std::vector getCheckpointDataNV( CheckpointDataNVAllocator const & checkpointDataNVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetQueueCheckpointData2NV ) ) +#endif void getCheckpointData2NV( uint32_t * pCheckpointDataCount, CheckpointData2NV * pCheckpointData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CheckpointData2NVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetQueueCheckpointData2NV ) ) +# endif VULKAN_HPP_NODISCARD std::vector getCheckpointData2NV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetQueueCheckpointData2NV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueueCheckpointData2NV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CheckpointData2NVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetQueueCheckpointData2NV ) ) +# endif VULKAN_HPP_NODISCARD std::vector getCheckpointData2NV( CheckpointData2NVAllocator const & checkpointData2NVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11816,15 +14705,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueSetPerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD Result setPerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueSetPerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -11832,27 +14731,60 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QCOM_queue_perf_hint === // wrapper function for command vkQueueSetPerfHintQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerfHintQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueSetPerfHintQCOM ) ) +#endif VULKAN_HPP_NODISCARD Result setPerfHintQCOM( PerfHintInfoQCOM const * pPerfHintInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSetPerfHintQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerfHintQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueSetPerfHintQCOM ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPerfHintQCOM( PerfHintInfoQCOM const & perfHintInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_NV_low_latency === + + // wrapper function for command vkQueueNotifyOutOfBandLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueNotifyOutOfBandLegacyNV ) ) +#endif + void notifyOutOfBandLegacyNV( uint32_t queueType, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_synchronization2 === // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueSubmit2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result submit2KHR( uint32_t submitCount, SubmitInfo2 const * pSubmits, Fence fence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueSubmit2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type submit2KHR( ArrayProxy const & submits, Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), @@ -11862,12 +14794,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_low_latency2 === // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkQueueNotifyOutOfBandNV ) ) +#endif void notifyOutOfBandNV( OutOfBandQueueTypeInfoNV const * pQueueTypeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkQueueNotifyOutOfBandNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkQueueNotifyOutOfBandNV ) ) +# endif void notifyOutOfBandNV( OutOfBandQueueTypeInfoNV const & queueTypeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -11965,33 +14907,63 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceProcAddr ) ) +#endif PFN_vkVoidFunction getProcAddr( char const * pName, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceProcAddr ) ) +# endif PFN_VoidFunction getProcAddr( std::string const & name, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDevice.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDevice ) ) +#endif void destroy( AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDevice.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDevice ) ) +# endif void destroy( Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceQueue ) ) +#endif void getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Queue * pQueue, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceQueue ) ) +# endif VULKAN_HPP_NODISCARD Queue getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -11999,30 +14971,55 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDeviceWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD Result waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDeviceWaitIdle ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type waitIdle( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAllocateMemory ) ) +#endif VULKAN_HPP_NODISCARD Result allocateMemory( MemoryAllocateInfo const * pAllocateInfo, AllocationCallbacks const * pAllocator, DeviceMemory * pMemory, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAllocateMemory ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type allocateMemory( MemoryAllocateInfo const & allocateInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAllocateMemory ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type allocateMemoryUnique( MemoryAllocateInfo const & allocateInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12031,33 +15028,58 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +#endif void freeMemory( DeviceMemory memory, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +# endif void freeMemory( DeviceMemory memory VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +#endif void( free )( DeviceMemory memory, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFreeMemory ) ) +# endif void( free )( DeviceMemory memory, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkMapMemory ) ) +#endif VULKAN_HPP_NODISCARD Result mapMemory( DeviceMemory memory, DeviceSize offset, DeviceSize size, @@ -12066,7 +15088,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkMapMemory ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type mapMemory( DeviceMemory memory, DeviceSize offset, DeviceSize size, @@ -12075,112 +15102,192 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUnmapMemory ) ) +#endif void unmapMemory( DeviceMemory memory, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFlushMappedMemoryRanges ) ) +#endif VULKAN_HPP_NODISCARD Result flushMappedMemoryRanges( uint32_t memoryRangeCount, MappedMemoryRange const * pMemoryRanges, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFlushMappedMemoryRanges, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFlushMappedMemoryRanges.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFlushMappedMemoryRanges ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type flushMappedMemoryRanges( ArrayProxy const & memoryRanges, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkInvalidateMappedMemoryRanges, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkInvalidateMappedMemoryRanges ) ) +#endif VULKAN_HPP_NODISCARD Result invalidateMappedMemoryRanges( uint32_t memoryRangeCount, MappedMemoryRange const * pMemoryRanges, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkInvalidateMappedMemoryRanges, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInvalidateMappedMemoryRanges.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkInvalidateMappedMemoryRanges ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type invalidateMappedMemoryRanges( ArrayProxy const & memoryRanges, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryCommitment ) ) +#endif void getMemoryCommitment( DeviceMemory memory, DeviceSize * pCommittedMemoryInBytes, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryCommitment ) ) +# endif VULKAN_HPP_NODISCARD DeviceSize getMemoryCommitment( DeviceMemory memory, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory ) ) +# endif VULKAN_HPP_NODISCARD Result bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkBindBufferMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindBufferMemory( Buffer buffer, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory ) ) +# endif VULKAN_HPP_NODISCARD Result bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindImageMemory( Image image, DeviceMemory memory, DeviceSize memoryOffset, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements ) ) +#endif void getBufferMemoryRequirements( Buffer buffer, MemoryRequirements * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements getBufferMemoryRequirements( Buffer buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements ) ) +#endif void getImageMemoryRequirements( Image image, MemoryRequirements * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements getImageMemoryRequirements( Image image, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements ) ) +#endif void getImageSparseMemoryRequirements( Image image, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements * pSparseMemoryRequirements, @@ -12188,20 +15295,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirementsAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirementsAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements( Image image, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirementsAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirementsAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements( Image image, SparseImageMemoryRequirementsAllocator const & sparseImageMemoryRequirementsAllocator, @@ -12209,21 +15328,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateFence ) ) +#endif VULKAN_HPP_NODISCARD Result createFence( FenceCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Fence * pFence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateFence ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createFence( FenceCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateFence ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createFenceUnique( FenceCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12232,53 +15366,98 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +#endif void destroyFence( Fence fence, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +# endif void destroyFence( Fence fence VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +#endif void destroy( Fence fence, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFence.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyFence ) ) +# endif void destroy( Fence fence, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkResetFences ) ) +#endif VULKAN_HPP_NODISCARD Result resetFences( uint32_t fenceCount, Fence const * pFences, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetFences ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type resetFences( ArrayProxy const & fences, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetFenceStatus ) ) +# endif VULKAN_HPP_NODISCARD Result getFenceStatus( Fence fence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetFenceStatus ) ) +# endif VULKAN_HPP_NODISCARD Result getFenceStatus( Fence fence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWaitForFences ) ) +#endif VULKAN_HPP_NODISCARD Result waitForFences( uint32_t fenceCount, Fence const * pFences, Bool32 waitAll, @@ -12286,7 +15465,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWaitForFences ) ) +# endif VULKAN_HPP_NODISCARD Result waitForFences( ArrayProxy const & fences, Bool32 waitAll, uint64_t timeout, @@ -12294,21 +15478,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateSemaphore ) ) +#endif VULKAN_HPP_NODISCARD Result createSemaphore( SemaphoreCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Semaphore * pSemaphore, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSemaphore ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSemaphore( SemaphoreCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSemaphore ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSemaphoreUnique( SemaphoreCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12317,47 +15516,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +#endif void destroySemaphore( Semaphore semaphore, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +# endif void destroySemaphore( Semaphore semaphore VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +#endif void destroy( Semaphore semaphore, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySemaphore ) ) +# endif void destroy( Semaphore semaphore, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateQueryPool ) ) +#endif VULKAN_HPP_NODISCARD Result createQueryPool( QueryPoolCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, QueryPool * pQueryPool, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateQueryPool ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createQueryPool( QueryPoolCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateQueryPool ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createQueryPoolUnique( QueryPoolCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12366,33 +15600,58 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +#endif void destroyQueryPool( QueryPool queryPool, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +# endif void destroyQueryPool( QueryPool queryPool VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +#endif void destroy( QueryPool queryPool, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyQueryPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyQueryPool ) ) +# endif void destroy( QueryPool queryPool, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetQueryPoolResults ) ) +#endif VULKAN_HPP_NODISCARD Result getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -12403,11 +15662,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetQueryPoolResults ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> getQueryPoolResults( QueryPool queryPool, uint32_t firstQuery, @@ -12417,9 +15681,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE QueryResultFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetQueryPoolResults ) ) +# endif VULKAN_HPP_NODISCARD ResultValue getQueryPoolResult( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -12429,21 +15698,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateBuffer ) ) +#endif VULKAN_HPP_NODISCARD Result createBuffer( BufferCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Buffer * pBuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBuffer ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createBuffer( BufferCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBuffer ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createBufferUnique( BufferCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12452,46 +15736,81 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +#endif void destroyBuffer( Buffer buffer, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +# endif void destroyBuffer( Buffer buffer VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +#endif void destroy( Buffer buffer, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBuffer ) ) +# endif void destroy( Buffer buffer, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateImage ) ) +#endif VULKAN_HPP_NODISCARD Result createImage( ImageCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Image * pImage, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImage ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createImage( ImageCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImage ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createImageUnique( ImageCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12500,59 +15819,104 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +#endif void destroyImage( Image image, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +# endif void destroyImage( Image image VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +#endif void destroy( Image image, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyImage ) ) +# endif void destroy( Image image, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout ) ) +#endif void getImageSubresourceLayout( Image image, ImageSubresource const * pSubresource, SubresourceLayout * pLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout ) ) +# endif VULKAN_HPP_NODISCARD SubresourceLayout getImageSubresourceLayout( Image image, ImageSubresource const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateImageView ) ) +#endif VULKAN_HPP_NODISCARD Result createImageView( ImageViewCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, ImageView * pView, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImageView ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createImageView( ImageViewCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImageView ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createImageViewUnique( ImageViewCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12561,47 +15925,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +#endif void destroyImageView( ImageView imageView, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +# endif void destroyImageView( ImageView imageView VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +#endif void destroy( ImageView imageView, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyImageView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyImageView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyImageView ) ) +# endif void destroy( ImageView imageView, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateCommandPool ) ) +#endif VULKAN_HPP_NODISCARD Result createCommandPool( CommandPoolCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, CommandPool * pCommandPool, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCommandPool ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createCommandPool( CommandPoolCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCommandPool ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createCommandPoolUnique( CommandPoolCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12610,26 +16009,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +#endif void destroyCommandPool( CommandPool commandPool, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +# endif void destroyCommandPool( CommandPool commandPool VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +#endif void destroy( CommandPool commandPool, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCommandPool ) ) +# endif void destroy( CommandPool commandPool, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -12637,13 +16056,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetCommandPool ) ) +# endif VULKAN_HPP_NODISCARD Result resetCommandPool( CommandPool commandPool, CommandPoolResetFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetCommandPool ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type resetCommandPool( CommandPool commandPool, CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), @@ -12651,40 +16080,67 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +#endif VULKAN_HPP_NODISCARD Result allocateCommandBuffers( CommandBufferAllocateInfo const * pAllocateInfo, CommandBuffer * pCommandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CommandBufferAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type allocateCommandBuffers( CommandBufferAllocateInfo const & allocateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CommandBufferAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type allocateCommandBuffers( CommandBufferAllocateInfo const & allocateInfo, CommandBufferAllocator const & commandBufferAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > CommandBufferAllocator = std::allocator>> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, CommandBufferAllocator>>::type allocateCommandBuffersUnique( CommandBufferAllocateInfo const & allocateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > CommandBufferAllocator = std::allocator>> + requires( IS_DISPATCHED( vkAllocateCommandBuffers ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, CommandBufferAllocator>>::type allocateCommandBuffersUnique( CommandBufferAllocateInfo const & allocateInfo, CommandBufferAllocator const & commandBufferAllocator, @@ -12693,49 +16149,84 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +#endif void freeCommandBuffers( CommandPool commandPool, uint32_t commandBufferCount, CommandBuffer const * pCommandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +# endif void freeCommandBuffers( CommandPool commandPool, ArrayProxy const & commandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +#endif void( free )( CommandPool commandPool, uint32_t commandBufferCount, CommandBuffer const * pCommandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeCommandBuffers.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFreeCommandBuffers ) ) +# endif void( free )( CommandPool commandPool, ArrayProxy const & commandBuffers, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateEvent ) ) +#endif VULKAN_HPP_NODISCARD Result createEvent( EventCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Event * pEvent, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateEvent ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createEvent( EventCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateEvent ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createEventUnique( EventCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12744,24 +16235,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +#endif void destroyEvent( Event event, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +# endif void destroyEvent( Event event VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +#endif void destroy( Event event, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyEvent ) ) +# endif void destroy( Event event, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -12769,52 +16280,97 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetEventStatus ) ) +# endif VULKAN_HPP_NODISCARD Result getEventStatus( Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetEventStatus ) ) +# endif VULKAN_HPP_NODISCARD Result getEventStatus( Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetEvent ) ) +# endif VULKAN_HPP_NODISCARD Result setEvent( Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetEvent ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setEvent( Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetEvent ) ) +# endif VULKAN_HPP_NODISCARD Result resetEvent( Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetEvent ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type resetEvent( Event event, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateBufferView ) ) +#endif VULKAN_HPP_NODISCARD Result createBufferView( BufferViewCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, BufferView * pView, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBufferView ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createBufferView( BufferViewCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBufferView ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createBufferViewUnique( BufferViewCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12823,47 +16379,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +#endif void destroyBufferView( BufferView bufferView, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +# endif void destroyBufferView( BufferView bufferView VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +#endif void destroy( BufferView bufferView, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferView.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferView ) ) +# endif void destroy( BufferView bufferView, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateShaderModule ) ) +#endif VULKAN_HPP_NODISCARD Result createShaderModule( ShaderModuleCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, ShaderModule * pShaderModule, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateShaderModule ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createShaderModule( ShaderModuleCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateShaderModule ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createShaderModuleUnique( ShaderModuleCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12872,47 +16463,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +#endif void destroyShaderModule( ShaderModule shaderModule, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +# endif void destroyShaderModule( ShaderModule shaderModule VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +#endif void destroy( ShaderModule shaderModule, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderModule.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderModule ) ) +# endif void destroy( ShaderModule shaderModule, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreatePipelineCache ) ) +#endif VULKAN_HPP_NODISCARD Result createPipelineCache( PipelineCacheCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PipelineCache * pPipelineCache, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineCache ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createPipelineCache( PipelineCacheCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineCache ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createPipelineCacheUnique( PipelineCacheCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -12921,69 +16547,119 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +#endif void destroyPipelineCache( PipelineCache pipelineCache, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +# endif void destroyPipelineCache( PipelineCache pipelineCache VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +#endif void destroy( PipelineCache pipelineCache, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineCache, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineCache.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineCache ) ) +# endif void destroy( PipelineCache pipelineCache, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineCacheData ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelineCacheData( PipelineCache pipelineCache, size_t * pDataSize, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineCacheData ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPipelineCacheData( PipelineCache pipelineCache, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPipelineCacheData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineCacheData.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineCacheData ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPipelineCacheData( PipelineCache pipelineCache, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkMergePipelineCaches ) ) +#endif VULKAN_HPP_NODISCARD Result mergePipelineCaches( PipelineCache dstCache, uint32_t srcCacheCount, PipelineCache const * pSrcCaches, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkMergePipelineCaches ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type mergePipelineCaches( PipelineCache dstCache, ArrayProxy const & srcCaches, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +#endif VULKAN_HPP_NODISCARD Result createComputePipelines( PipelineCache pipelineCache, uint32_t createInfoCount, ComputePipelineCreateInfo const * pCreateInfos, @@ -12992,20 +16668,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createComputePipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createComputePipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -13013,27 +16699,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineAllocator const & pipelineAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createComputePipeline( PipelineCache pipelineCache, ComputePipelineCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createComputePipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createComputePipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -13041,7 +16744,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineAllocator const & pipelineAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateComputePipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createComputePipelineUnique( PipelineCache pipelineCache, ComputePipelineCreateInfo const & createInfo, @@ -13051,47 +16759,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +#endif void destroyPipeline( Pipeline pipeline, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +# endif void destroyPipeline( Pipeline pipeline VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +#endif void destroy( Pipeline pipeline, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipeline, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipeline.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipeline ) ) +# endif void destroy( Pipeline pipeline, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreatePipelineLayout ) ) +#endif VULKAN_HPP_NODISCARD Result createPipelineLayout( PipelineLayoutCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PipelineLayout * pPipelineLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineLayout ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createPipelineLayout( PipelineLayoutCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePipelineLayout ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createPipelineLayoutUnique( PipelineLayoutCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13100,47 +16843,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +#endif void destroyPipelineLayout( PipelineLayout pipelineLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +# endif void destroyPipelineLayout( PipelineLayout pipelineLayout VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +#endif void destroy( PipelineLayout pipelineLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineLayout ) ) +# endif void destroy( PipelineLayout pipelineLayout, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateSampler ) ) +#endif VULKAN_HPP_NODISCARD Result createSampler( SamplerCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Sampler * pSampler, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSampler ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSampler( SamplerCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSampler ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSamplerUnique( SamplerCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13149,46 +16927,81 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +#endif void destroySampler( Sampler sampler, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +# endif void destroySampler( Sampler sampler VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +#endif void destroy( Sampler sampler, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySampler.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySampler ) ) +# endif void destroy( Sampler sampler, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorSetLayout ) ) +#endif VULKAN_HPP_NODISCARD Result createDescriptorSetLayout( DescriptorSetLayoutCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorSetLayout * pSetLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorSetLayout ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDescriptorSetLayout( DescriptorSetLayoutCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorSetLayout ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDescriptorSetLayoutUnique( DescriptorSetLayoutCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13198,14 +17011,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDescriptorSetLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +#endif void destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorSetLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +# endif void destroyDescriptorSetLayout( DescriptorSetLayout descriptorSetLayout VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13213,35 +17036,60 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDescriptorSetLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +#endif void destroy( DescriptorSetLayout descriptorSetLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorSetLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorSetLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorSetLayout ) ) +# endif void destroy( DescriptorSetLayout descriptorSetLayout, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorPool ) ) +#endif VULKAN_HPP_NODISCARD Result createDescriptorPool( DescriptorPoolCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorPool * pDescriptorPool, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDescriptorPool( DescriptorPoolCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDescriptorPoolUnique( DescriptorPoolCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13250,26 +17098,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +#endif void destroyDescriptorPool( DescriptorPool descriptorPool, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +# endif void destroyDescriptorPool( DescriptorPool descriptorPool VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +#endif void destroy( DescriptorPool descriptorPool, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorPool ) ) +# endif void destroy( DescriptorPool descriptorPool, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13277,13 +17145,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD Result resetDescriptorPool( DescriptorPool descriptorPool, DescriptorPoolResetFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetDescriptorPool ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type resetDescriptorPool( DescriptorPool descriptorPool, DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), @@ -13291,40 +17169,67 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +#endif VULKAN_HPP_NODISCARD Result allocateDescriptorSets( DescriptorSetAllocateInfo const * pAllocateInfo, DescriptorSet * pDescriptorSets, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DescriptorSetAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type allocateDescriptorSets( DescriptorSetAllocateInfo const & allocateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DescriptorSetAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type allocateDescriptorSets( DescriptorSetAllocateInfo const & allocateInfo, DescriptorSetAllocator const & descriptorSetAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > DescriptorSetAllocator = std::allocator>> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, DescriptorSetAllocator>>::type allocateDescriptorSetsUnique( DescriptorSetAllocateInfo const & allocateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > DescriptorSetAllocator = std::allocator>> + requires( IS_DISPATCHED( vkAllocateDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, DescriptorSetAllocator>>::type allocateDescriptorSetsUnique( DescriptorSetAllocateInfo const & allocateInfo, DescriptorSetAllocator const & descriptorSetAllocator, @@ -13333,14 +17238,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +#endif VULKAN_HPP_NODISCARD Result freeDescriptorSets( DescriptorPool descriptorPool, uint32_t descriptorSetCount, DescriptorSet const * pDescriptorSets, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type freeDescriptorSets( DescriptorPool descriptorPool, ArrayProxy const & descriptorSets, @@ -13348,21 +17263,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +#endif VULKAN_HPP_NODISCARD Result( free )( DescriptorPool descriptorPool, uint32_t descriptorSetCount, DescriptorSet const * pDescriptorSets, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkFreeDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkFreeDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkFreeDescriptorSets ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type( free )( DescriptorPool descriptorPool, ArrayProxy const & descriptorSets, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSets ) ) +#endif void updateDescriptorSets( uint32_t descriptorWriteCount, WriteDescriptorSet const * pDescriptorWrites, uint32_t descriptorCopyCount, @@ -13370,14 +17300,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSets ) ) +# endif void updateDescriptorSets( ArrayProxy const & descriptorWrites, ArrayProxy const & descriptorCopies, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +#endif VULKAN_HPP_NODISCARD Result createGraphicsPipelines( PipelineCache pipelineCache, uint32_t createInfoCount, GraphicsPipelineCreateInfo const * pCreateInfos, @@ -13386,20 +17326,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createGraphicsPipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createGraphicsPipelines( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -13407,27 +17357,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineAllocator const & pipelineAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createGraphicsPipeline( PipelineCache pipelineCache, GraphicsPipelineCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createGraphicsPipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createGraphicsPipelinesUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -13435,7 +17402,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineAllocator const & pipelineAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateGraphicsPipelines ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createGraphicsPipelineUnique( PipelineCache pipelineCache, GraphicsPipelineCreateInfo const & createInfo, @@ -13445,21 +17417,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateFramebuffer ) ) +#endif VULKAN_HPP_NODISCARD Result createFramebuffer( FramebufferCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Framebuffer * pFramebuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateFramebuffer ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createFramebuffer( FramebufferCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateFramebuffer ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createFramebufferUnique( FramebufferCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13468,47 +17455,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +#endif void destroyFramebuffer( Framebuffer framebuffer, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +# endif void destroyFramebuffer( Framebuffer framebuffer VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +#endif void destroy( Framebuffer framebuffer, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyFramebuffer.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyFramebuffer ) ) +# endif void destroy( Framebuffer framebuffer, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateRenderPass ) ) +#endif VULKAN_HPP_NODISCARD Result createRenderPass( RenderPassCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, RenderPass * pRenderPass, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createRenderPass( RenderPassCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createRenderPassUnique( RenderPassCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13517,39 +17539,69 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +#endif void destroyRenderPass( RenderPass renderPass, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +# endif void destroyRenderPass( RenderPass renderPass VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +#endif void destroy( RenderPass renderPass, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyRenderPass.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyRenderPass ) ) +# endif void destroy( RenderPass renderPass, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRenderAreaGranularity ) ) +#endif void getRenderAreaGranularity( RenderPass renderPass, Extent2D * pGranularity, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRenderAreaGranularity ) ) +# endif VULKAN_HPP_NODISCARD Extent2D getRenderAreaGranularity( RenderPass renderPass, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -13557,33 +17609,58 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_1 === // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindBufferMemory2 ) ) +#endif VULKAN_HPP_NODISCARD Result bindBufferMemory2( uint32_t bindInfoCount, BindBufferMemoryInfo const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindBufferMemory2( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindImageMemory2 ) ) +#endif VULKAN_HPP_NODISCARD Result bindImageMemory2( uint32_t bindInfoCount, BindImageMemoryInfo const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindImageMemory2( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeatures ) ) +#endif void getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, @@ -13592,8 +17669,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeatures.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeatures ) ) +# endif VULKAN_HPP_NODISCARD PeerMemoryFeatureFlags getGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, @@ -13603,25 +17685,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2 ) ) +#endif void getImageMemoryRequirements2( ImageMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirements2( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetImageMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageMemoryRequirements2( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13629,25 +17726,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetBufferMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2 ) ) +#endif void getBufferMemoryRequirements2( BufferMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirements2( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetBufferMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getBufferMemoryRequirements2( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13655,8 +17767,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2 ) ) +#endif void getImageSparseMemoryRequirements2( ImageSparseMemoryRequirementsInfo2 const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -13664,20 +17781,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSparseMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements2( ImageSparseMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetImageSparseMemoryRequirements2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements2( ImageSparseMemoryRequirementsInfo2 const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, @@ -13685,26 +17814,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkTrimCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkTrimCommandPool ) ) +#endif void trimCommandPool( CommandPool commandPool, CommandPoolTrimFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceQueue2 ) ) +#endif void getQueue2( DeviceQueueInfo2 const * pQueueInfo, Queue * pQueue, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceQueue2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceQueue2 ) ) +# endif VULKAN_HPP_NODISCARD Queue getQueue2( DeviceQueueInfo2 const & queueInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplate ) ) +#endif VULKAN_HPP_NODISCARD Result createDescriptorUpdateTemplate( DescriptorUpdateTemplateCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorUpdateTemplate * pDescriptorUpdateTemplate, @@ -13712,8 +17861,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplate ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDescriptorUpdateTemplate( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13721,8 +17875,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplate ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDescriptorUpdateTemplateUnique( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13732,16 +17891,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +#endif void destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +# endif void destroyDescriptorUpdateTemplate( DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13749,16 +17918,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +#endif void destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorUpdateTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplate ) ) +# endif void destroy( DescriptorUpdateTemplate descriptorUpdateTemplate, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13766,8 +17945,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUpdateDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplate ) ) +#endif void updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, void const * pData, @@ -13775,9 +17959,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateDescriptorSetWithTemplate, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplate.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplate ) ) +# endif void updateDescriptorSetWithTemplate( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const & data, @@ -13786,25 +17975,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupport ) ) +#endif void getDescriptorSetLayoutSupport( DescriptorSetLayoutCreateInfo const * pCreateInfo, DescriptorSetLayoutSupport * pSupport, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupport ) ) +# endif VULKAN_HPP_NODISCARD DescriptorSetLayoutSupport getDescriptorSetLayoutSupport( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDescriptorSetLayoutSupport, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupport.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupport ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getDescriptorSetLayoutSupport( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13812,8 +18016,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateSamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversion ) ) +#endif VULKAN_HPP_NODISCARD Result createSamplerYcbcrConversion( SamplerYcbcrConversionCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, SamplerYcbcrConversion * pYcbcrConversion, @@ -13821,8 +18030,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversion ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSamplerYcbcrConversion( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13830,8 +18044,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversion ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSamplerYcbcrConversionUnique( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13841,16 +18060,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +#endif void destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +# endif void destroySamplerYcbcrConversion( SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13858,16 +18087,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +#endif void destroy( SamplerYcbcrConversion ycbcrConversion, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySamplerYcbcrConversion, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversion ) ) +# endif void destroy( SamplerYcbcrConversion ycbcrConversion, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -13876,105 +18115,185 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_2 === // wrapper function for command vkResetQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPool.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkResetQueryPool ) ) +#endif void resetQueryPool( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValue ) ) +#endif VULKAN_HPP_NODISCARD Result getSemaphoreCounterValue( Semaphore semaphore, uint64_t * pValue, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreCounterValue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValue.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValue ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSemaphoreCounterValue( Semaphore semaphore, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWaitSemaphores ) ) +#endif VULKAN_HPP_NODISCARD Result waitSemaphores( SemaphoreWaitInfo const * pWaitInfo, uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWaitSemaphores ) ) +# endif VULKAN_HPP_NODISCARD Result waitSemaphores( SemaphoreWaitInfo const & waitInfo, uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSignalSemaphore ) ) +#endif VULKAN_HPP_NODISCARD Result signalSemaphore( SemaphoreSignalInfo const * pSignalInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSignalSemaphore ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type signalSemaphore( SemaphoreSignalInfo const & signalInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddress ) ) +#endif DeviceAddress getBufferAddress( BufferDeviceAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddress ) ) +# endif DeviceAddress getBufferAddress( BufferDeviceAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddress ) ) +#endif uint64_t getBufferOpaqueCaptureAddress( BufferDeviceAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddress.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddress ) ) +# endif uint64_t getBufferOpaqueCaptureAddress( BufferDeviceAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddress ) ) +#endif uint64_t getMemoryOpaqueCaptureAddress( DeviceMemoryOpaqueCaptureAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddress.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddress ) ) +# endif uint64_t getMemoryOpaqueCaptureAddress( DeviceMemoryOpaqueCaptureAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateRenderPass2 ) ) +#endif VULKAN_HPP_NODISCARD Result createRenderPass2( RenderPassCreateInfo2 const * pCreateInfo, AllocationCallbacks const * pAllocator, RenderPass * pRenderPass, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2 ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createRenderPass2( RenderPassCreateInfo2 const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2 ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createRenderPass2Unique( RenderPassCreateInfo2 const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -13985,21 +18304,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_3 === // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlot ) ) +#endif VULKAN_HPP_NODISCARD Result createPrivateDataSlot( PrivateDataSlotCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PrivateDataSlot * pPrivateDataSlot, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlot ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createPrivateDataSlot( PrivateDataSlotCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlot ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createPrivateDataSlotUnique( PrivateDataSlotCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14008,26 +18342,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +#endif void destroyPrivateDataSlot( PrivateDataSlot privateDataSlot, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +# endif void destroyPrivateDataSlot( PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +#endif void destroy( PrivateDataSlot privateDataSlot, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlot.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlot ) ) +# endif void destroy( PrivateDataSlot privateDataSlot, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14035,7 +18389,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetPrivateData ) ) +# endif VULKAN_HPP_NODISCARD Result setPrivateData( ObjectType objectType, uint64_t objectHandle, PrivateDataSlot privateDataSlot, @@ -14043,7 +18402,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetPrivateData ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPrivateData( ObjectType objectType, uint64_t objectHandle, @@ -14053,7 +18417,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPrivateData ) ) +#endif void getPrivateData( ObjectType objectType, uint64_t objectHandle, PrivateDataSlot privateDataSlot, @@ -14061,7 +18430,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPrivateData ) ) +# endif VULKAN_HPP_NODISCARD uint64_t getPrivateData( ObjectType objectType, uint64_t objectHandle, PrivateDataSlot privateDataSlot, @@ -14070,25 +18444,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirements ) ) +#endif void getBufferMemoryRequirements( DeviceBufferMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirements( DeviceBufferMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceBufferMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getBufferMemoryRequirements( DeviceBufferMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14096,25 +18485,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirements ) ) +#endif void getImageMemoryRequirements( DeviceImageMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirements( DeviceImageMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceImageMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageMemoryRequirements( DeviceImageMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14122,8 +18526,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirements ) ) +#endif void getImageSparseMemoryRequirements( DeviceImageMemoryRequirements const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -14131,20 +18540,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements( DeviceImageMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDeviceImageSparseMemoryRequirements, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirements.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirements ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements( DeviceImageMemoryRequirements const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, @@ -14154,49 +18575,84 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_4 === // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkMapMemory2 ) ) +#endif VULKAN_HPP_NODISCARD Result mapMemory2( MemoryMapInfo const * pMemoryMapInfo, void ** ppData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkMapMemory2 ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type mapMemory2( MemoryMapInfo const & memoryMapInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUnmapMemory2 ) ) +#endif VULKAN_HPP_NODISCARD Result unmapMemory2( MemoryUnmapInfo const * pMemoryUnmapInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUnmapMemory2 ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type unmapMemory2( MemoryUnmapInfo const & memoryUnmapInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceImageSubresourceLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayout ) ) +#endif void getImageSubresourceLayout( DeviceImageSubresourceInfo const * pInfo, SubresourceLayout2 * pLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSubresourceLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayout ) ) +# endif VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayout( DeviceImageSubresourceInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceImageSubresourceLayout, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayout ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageSubresourceLayout( DeviceImageSubresourceInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14204,7 +18660,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSubresourceLayout2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2 ) ) +#endif void getImageSubresourceLayout2( Image image, ImageSubresource2 const * pSubresource, SubresourceLayout2 * pLayout, @@ -14212,62 +18673,112 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2 ) ) +# endif VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayout2( Image image, ImageSubresource2 const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetImageSubresourceLayout2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageSubresourceLayout2( Image image, ImageSubresource2 const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToImage ) ) +#endif VULKAN_HPP_NODISCARD Result copyMemoryToImage( CopyMemoryToImageInfo const * pCopyMemoryToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToImage ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type copyMemoryToImage( CopyMemoryToImageInfo const & copyMemoryToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyImageToMemory ) ) +#endif VULKAN_HPP_NODISCARD Result copyImageToMemory( CopyImageToMemoryInfo const * pCopyImageToMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyImageToMemory ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type copyImageToMemory( CopyImageToMemoryInfo const & copyImageToMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyImageToImage ) ) +#endif VULKAN_HPP_NODISCARD Result copyImageToImage( CopyImageToImageInfo const * pCopyImageToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyImageToImage ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type copyImageToImage( CopyImageToImageInfo const & copyImageToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkTransitionImageLayout ) ) +#endif VULKAN_HPP_NODISCARD Result transitionImageLayout( uint32_t transitionCount, HostImageLayoutTransitionInfo const * pTransitions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkTransitionImageLayout ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type transitionImageLayout( ArrayProxy const & transitions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -14275,16 +18786,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRenderingAreaGranularity, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularity ) ) +#endif void getRenderingAreaGranularity( RenderingAreaInfo const * pRenderingAreaInfo, Extent2D * pGranularity, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRenderingAreaGranularity, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularity.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularity ) ) +# endif VULKAN_HPP_NODISCARD Extent2D getRenderingAreaGranularity( RenderingAreaInfo const & renderingAreaInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14292,21 +18813,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_swapchain === // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateSwapchainKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createSwapchainKHR( SwapchainCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SwapchainKHR * pSwapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSwapchainKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSwapchainKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSwapchainKHRUnique( SwapchainCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14315,56 +18851,96 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +#endif void destroySwapchainKHR( SwapchainKHR swapchain, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +# endif void destroySwapchainKHR( SwapchainKHR swapchain VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +#endif void destroy( SwapchainKHR swapchain, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySwapchainKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySwapchainKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySwapchainKHR ) ) +# endif void destroy( SwapchainKHR swapchain, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainImagesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSwapchainImagesKHR( SwapchainKHR swapchain, uint32_t * pSwapchainImageCount, Image * pSwapchainImages, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ImageAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetSwapchainImagesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSwapchainImagesKHR( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ImageAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetSwapchainImagesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSwapchainImagesKHR( SwapchainKHR swapchain, ImageAllocator const & imageAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAcquireNextImageKHR ) ) +#endif VULKAN_HPP_NODISCARD Result acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore, @@ -14373,7 +18949,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireNextImageKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue acquireNextImageKHR( SwapchainKHR swapchain, uint64_t timeout, Semaphore semaphore VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), @@ -14383,43 +18964,73 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPresentCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getGroupPresentCapabilitiesKHR( DeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPresentCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getGroupPresentCapabilitiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getGroupSurfacePresentModesKHR( SurfaceKHR surface, DeviceGroupPresentModeFlagsKHR * pModes, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getGroupSurfacePresentModesKHR( SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAcquireNextImage2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result acquireNextImage2KHR( AcquireNextImageInfoKHR const * pAcquireInfo, uint32_t * pImageIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireNextImage2KHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue acquireNextImage2KHR( AcquireNextImageInfoKHR const & acquireInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14427,7 +19038,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_display_swapchain === // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createSharedSwapchainsKHR( uint32_t swapchainCount, SwapchainCreateInfoKHR const * pCreateInfos, AllocationCallbacks const * pAllocator, @@ -14435,52 +19051,84 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SwapchainKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSharedSwapchainsKHR( ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SwapchainKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSharedSwapchainsKHR( ArrayProxy const & createInfos, Optional allocator, SwapchainKHRAllocator const & swapchainKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSharedSwapchainKHR( SwapchainCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > SwapchainKHRAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, SwapchainKHRAllocator>>::type createSharedSwapchainsKHRUnique( ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > SwapchainKHRAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, SwapchainKHRAllocator>>::type createSharedSwapchainsKHRUnique( ArrayProxy const & createInfos, Optional allocator, SwapchainKHRAllocator const & swapchainKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSharedSwapchainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSharedSwapchainKHRUnique( SwapchainCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14492,28 +19140,48 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDebugMarkerSetObjectTagEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectTagEXT ) ) +#endif VULKAN_HPP_NODISCARD Result debugMarkerSetObjectTagEXT( DebugMarkerObjectTagInfoEXT const * pTagInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDebugMarkerSetObjectTagEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectTagEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectTagEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type debugMarkerSetObjectTagEXT( DebugMarkerObjectTagInfoEXT const & tagInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDebugMarkerSetObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectNameEXT ) ) +#endif VULKAN_HPP_NODISCARD Result debugMarkerSetObjectNameEXT( DebugMarkerObjectNameInfoEXT const * pNameInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDebugMarkerSetObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugMarkerSetObjectNameEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDebugMarkerSetObjectNameEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type debugMarkerSetObjectNameEXT( DebugMarkerObjectNameInfoEXT const & nameInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14521,21 +19189,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_video_queue === // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateVideoSessionKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createVideoSessionKHR( VideoSessionCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, VideoSessionKHR * pVideoSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createVideoSessionKHR( VideoSessionCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createVideoSessionKHRUnique( VideoSessionCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14544,26 +19227,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +#endif void destroyVideoSessionKHR( VideoSessionKHR videoSession, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +# endif void destroyVideoSessionKHR( VideoSessionKHR videoSession VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +#endif void destroy( VideoSessionKHR videoSession, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionKHR ) ) +# endif void destroy( VideoSessionKHR videoSession, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14571,8 +19274,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetVideoSessionMemoryRequirementsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getVideoSessionMemoryRequirementsKHR( VideoSessionKHR videoSession, uint32_t * pMemoryRequirementsCount, VideoSessionMemoryRequirementsKHR * pMemoryRequirements, @@ -14580,20 +19288,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template VideoSessionMemoryRequirementsKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetVideoSessionMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoSessionMemoryRequirementsKHR( VideoSessionKHR videoSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetVideoSessionMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template VideoSessionMemoryRequirementsKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetVideoSessionMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoSessionMemoryRequirementsKHR( VideoSessionKHR videoSession, VideoSessionMemoryRequirementsKHRAllocator const & videoSessionMemoryRequirementsKHRAllocator, @@ -14601,14 +19321,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindVideoSessionMemoryKHR ) ) +#endif VULKAN_HPP_NODISCARD Result bindVideoSessionMemoryKHR( VideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, BindVideoSessionMemoryInfoKHR const * pBindSessionMemoryInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindVideoSessionMemoryKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindVideoSessionMemoryKHR( VideoSessionKHR videoSession, ArrayProxy const & bindSessionMemoryInfos, @@ -14617,8 +19347,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createVideoSessionParametersKHR( VideoSessionParametersCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, VideoSessionParametersKHR * pVideoSessionParameters, @@ -14626,8 +19361,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createVideoSessionParametersKHR( VideoSessionParametersCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14635,8 +19375,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createVideoSessionParametersKHRUnique( VideoSessionParametersCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14646,16 +19391,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUpdateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUpdateVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_NODISCARD Result updateVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, VideoSessionParametersUpdateInfoKHR const * pUpdateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUpdateVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type updateVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, VideoSessionParametersUpdateInfoKHR const & updateInfo, @@ -14664,16 +19419,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +#endif void destroyVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +# endif void destroyVideoSessionParametersKHR( VideoSessionParametersKHR videoSessionParameters VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14681,16 +19446,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +#endif void destroy( VideoSessionParametersKHR videoSessionParameters, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyVideoSessionParametersKHR ) ) +# endif void destroy( VideoSessionParametersKHR videoSessionParameters, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14699,21 +19474,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NVX_binary_import === // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateCuModuleNVX ) ) +#endif VULKAN_HPP_NODISCARD Result createCuModuleNVX( CuModuleCreateInfoNVX const * pCreateInfo, AllocationCallbacks const * pAllocator, CuModuleNVX * pModule, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCuModuleNVX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createCuModuleNVX( CuModuleCreateInfoNVX const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCuModuleNVX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createCuModuleNVXUnique( CuModuleCreateInfoNVX const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14722,21 +19512,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateCuFunctionNVX ) ) +#endif VULKAN_HPP_NODISCARD Result createCuFunctionNVX( CuFunctionCreateInfoNVX const * pCreateInfo, AllocationCallbacks const * pAllocator, CuFunctionNVX * pFunction, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCuFunctionNVX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createCuFunctionNVX( CuFunctionCreateInfoNVX const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCuFunctionNVX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createCuFunctionNVXUnique( CuFunctionCreateInfoNVX const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -14745,52 +19550,92 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +#endif void destroyCuModuleNVX( CuModuleNVX module, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +# endif void destroyCuModuleNVX( CuModuleNVX module, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +#endif void destroy( CuModuleNVX module, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuModuleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuModuleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCuModuleNVX ) ) +# endif void destroy( CuModuleNVX module, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +#endif void destroyCuFunctionNVX( CuFunctionNVX function, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +# endif void destroyCuFunctionNVX( CuFunctionNVX function, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +#endif void destroy( CuFunctionNVX function, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCuFunctionNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCuFunctionNVX ) ) +# endif void destroy( CuFunctionNVX function, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14799,43 +19644,78 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NVX_image_view_handle === // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageViewHandleNVX ) ) +#endif uint32_t getImageViewHandleNVX( ImageViewHandleInfoNVX const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewHandleNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandleNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageViewHandleNVX ) ) +# endif uint32_t getImageViewHandleNVX( ImageViewHandleInfoNVX const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageViewHandle64NVX ) ) +#endif uint64_t getImageViewHandle64NVX( ImageViewHandleInfoNVX const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageViewHandle64NVX ) ) +# endif uint64_t getImageViewHandle64NVX( ImageViewHandleInfoNVX const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageViewAddressNVX ) ) +#endif VULKAN_HPP_NODISCARD Result getImageViewAddressNVX( ImageView imageView, ImageViewAddressPropertiesNVX * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageViewAddressNVX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageViewAddressNVX( ImageView imageView, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceCombinedImageSamplerIndexNVX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceCombinedImageSamplerIndexNVX.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceCombinedImageSamplerIndexNVX ) ) +#endif uint64_t getCombinedImageSamplerIndexNVX( uint64_t imageViewIndex, uint64_t samplerIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14843,7 +19723,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_shader_info === // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetShaderInfoAMD ) ) +#endif VULKAN_HPP_NODISCARD Result getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, @@ -14852,17 +19737,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetShaderInfoAMD ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, ShaderInfoTypeAMD infoType, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetShaderInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInfoAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetShaderInfoAMD ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getShaderInfoAMD( Pipeline pipeline, ShaderStageFlagBits shaderStage, @@ -14875,14 +19770,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_external_memory_win32 === // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleNV ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, HANDLE * pHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryWin32HandleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryWin32HandleNV( DeviceMemory memory, ExternalMemoryHandleTypeFlagsNV handleType, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -14893,8 +19798,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeaturesKHR ) ) +#endif void getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, @@ -14903,8 +19813,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupPeerMemoryFeaturesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupPeerMemoryFeaturesKHR ) ) +# endif VULKAN_HPP_NODISCARD PeerMemoryFeatureFlags getGroupPeerMemoryFeaturesKHR( uint32_t heapIndex, uint32_t localDeviceIndex, @@ -14915,7 +19830,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_maintenance1 === // wrapper function for command vkTrimCommandPoolKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTrimCommandPoolKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkTrimCommandPoolKHR ) ) +#endif void trimCommandPoolKHR( CommandPool commandPool, CommandPoolTrimFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -14924,21 +19844,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_memory_win32 === // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryWin32HandleKHR( MemoryGetWin32HandleInfoKHR const * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryWin32HandleKHR( MemoryGetWin32HandleInfoKHR const & getWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandlePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, MemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties, @@ -14946,8 +19881,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryWin32HandlePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryWin32HandlePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryWin32HandlePropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14956,26 +19896,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_memory_fd === // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetMemoryFdKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getMemoryFdKHR( MemoryGetFdInfoKHR const * pGetFdInfo, int * pFd, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryFdKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryFdKHR( MemoryGetFdInfoKHR const & getFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetMemoryFdPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd, MemoryFdPropertiesKHR * pMemoryFdProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryFdPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryFdPropertiesKHR( ExternalMemoryHandleTypeFlagBits handleType, int fd, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -14985,15 +19945,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkImportSemaphoreWin32HandleKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD Result importSemaphoreWin32HandleKHR( ImportSemaphoreWin32HandleInfoKHR const * pImportSemaphoreWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportSemaphoreWin32HandleKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type importSemaphoreWin32HandleKHR( ImportSemaphoreWin32HandleInfoKHR const & importSemaphoreWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -15001,14 +19971,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetSemaphoreWin32HandleKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getSemaphoreWin32HandleKHR( SemaphoreGetWin32HandleInfoKHR const * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreWin32HandleKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSemaphoreWin32HandleKHR( SemaphoreGetWin32HandleInfoKHR const & getWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15017,24 +19997,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_semaphore_fd === // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkImportSemaphoreFdKHR ) ) +#endif VULKAN_HPP_NODISCARD Result importSemaphoreFdKHR( ImportSemaphoreFdInfoKHR const * pImportSemaphoreFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreFdKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type importSemaphoreFdKHR( ImportSemaphoreFdInfoKHR const & importSemaphoreFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSemaphoreFdKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSemaphoreFdKHR( SemaphoreGetFdInfoKHR const * pGetFdInfo, int * pFd, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreFdKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSemaphoreFdKHR( SemaphoreGetFdInfoKHR const & getFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15043,8 +20043,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplateKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createDescriptorUpdateTemplateKHR( DescriptorUpdateTemplateCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, DescriptorUpdateTemplate * pDescriptorUpdateTemplate, @@ -15052,8 +20057,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplateKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDescriptorUpdateTemplateKHR( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -15061,8 +20071,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorUpdateTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDescriptorUpdateTemplateKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDescriptorUpdateTemplateKHRUnique( DescriptorUpdateTemplateCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -15072,16 +20087,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplateKHR ) ) +#endif void destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDescriptorUpdateTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDescriptorUpdateTemplateKHR ) ) +# endif void destroyDescriptorUpdateTemplateKHR( DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -15089,8 +20114,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplateKHR ) ) +#endif void updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, void const * pData, @@ -15098,9 +20128,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateDescriptorSetWithTemplateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSetWithTemplateKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUpdateDescriptorSetWithTemplateKHR ) ) +# endif void updateDescriptorSetWithTemplateKHR( DescriptorSet descriptorSet, DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const & data, @@ -15110,33 +20145,58 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_display_control === // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDisplayPowerControlEXT ) ) +#endif VULKAN_HPP_NODISCARD Result displayPowerControlEXT( DisplayKHR display, DisplayPowerInfoEXT const * pDisplayPowerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDisplayPowerControlEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDisplayPowerControlEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDisplayPowerControlEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type displayPowerControlEXT( DisplayKHR display, DisplayPowerInfoEXT const & displayPowerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkRegisterDeviceEventEXT ) ) +#endif VULKAN_HPP_NODISCARD Result registerEventEXT( DeviceEventInfoEXT const * pDeviceEventInfo, AllocationCallbacks const * pAllocator, Fence * pFence, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkRegisterDeviceEventEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type registerEventEXT( DeviceEventInfoEXT const & deviceEventInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkRegisterDeviceEventEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type registerEventEXTUnique( DeviceEventInfoEXT const & deviceEventInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -15145,7 +20205,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkRegisterDisplayEventEXT ) ) +#endif VULKAN_HPP_NODISCARD Result registerDisplayEventEXT( DisplayKHR display, DisplayEventInfoEXT const * pDisplayEventInfo, AllocationCallbacks const * pAllocator, @@ -15153,7 +20218,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkRegisterDisplayEventEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type registerDisplayEventEXT( DisplayKHR display, DisplayEventInfoEXT const & displayEventInfo, @@ -15161,7 +20231,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkRegisterDisplayEventEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type registerDisplayEventEXTUnique( DisplayKHR display, DisplayEventInfoEXT const & displayEventInfo, @@ -15171,14 +20246,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainCounterEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getSwapchainCounterEXT( SwapchainKHR swapchain, SurfaceCounterFlagBitsEXT counter, uint64_t * pCounterValue, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainCounterEXT ) ) +# endif VULKAN_HPP_NODISCARD # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) ResultValue @@ -15192,24 +20277,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRefreshCycleDurationGOOGLE ) ) +#endif VULKAN_HPP_NODISCARD Result getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, RefreshCycleDurationGOOGLE * pDisplayTimingProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRefreshCycleDurationGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRefreshCycleDurationGOOGLE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRefreshCycleDurationGOOGLE ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getRefreshCycleDurationGOOGLE( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPastPresentationTimingGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPastPresentationTimingGOOGLE ) ) +#endif VULKAN_HPP_NODISCARD Result getPastPresentationTimingGOOGLE( SwapchainKHR swapchain, uint32_t * pPresentationTimingCount, PastPresentationTimingGOOGLE * pPresentationTimings, @@ -15217,11 +20317,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPastPresentationTimingGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PastPresentationTimingGOOGLEAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PastPresentationTimingGOOGLEAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPastPresentationTimingGOOGLE ) ) +# endif VULKAN_HPP_NODISCARD # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) ResultValue> @@ -15231,11 +20337,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE getPastPresentationTimingGOOGLE( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPastPresentationTimingGOOGLE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingGOOGLE.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PastPresentationTimingGOOGLEAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PastPresentationTimingGOOGLEAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPastPresentationTimingGOOGLE ) ) +# endif VULKAN_HPP_NODISCARD # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) ResultValue> @@ -15250,14 +20362,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_hdr_metadata === // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetHdrMetadataEXT ) ) +#endif void setHdrMetadataEXT( uint32_t swapchainCount, SwapchainKHR const * pSwapchains, HdrMetadataEXT const * pMetadata, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetHdrMetadataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetHdrMetadataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetHdrMetadataEXT ) ) +# endif void setHdrMetadataEXT( ArrayProxy const & swapchains, ArrayProxy const & metadata, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; @@ -15266,21 +20388,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_create_renderpass2 === // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateRenderPass2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result createRenderPass2KHR( RenderPassCreateInfo2 const * pCreateInfo, AllocationCallbacks const * pAllocator, RenderPass * pRenderPass, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createRenderPass2KHR( RenderPassCreateInfo2 const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRenderPass2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createRenderPass2KHRUnique( RenderPassCreateInfo2 const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -15292,12 +20429,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainStatusKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getSwapchainStatusKHR( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkGetSwapchainStatusKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainStatusKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainStatusKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getSwapchainStatusKHR( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -15305,25 +20452,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_fence_win32 === // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD Result importFenceWin32HandleKHR( ImportFenceWin32HandleInfoKHR const * pImportFenceWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type importFenceWin32HandleKHR( ImportFenceWin32HandleInfoKHR const & importFenceWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getFenceWin32HandleKHR( FenceGetWin32HandleInfoKHR const * pGetWin32HandleInfo, HANDLE * pHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetFenceWin32HandleKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getFenceWin32HandleKHR( FenceGetWin32HandleInfoKHR const & getWin32HandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15332,24 +20499,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_external_fence_fd === // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkImportFenceFdKHR ) ) +#endif VULKAN_HPP_NODISCARD Result importFenceFdKHR( ImportFenceFdInfoKHR const * pImportFenceFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportFenceFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportFenceFdKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type importFenceFdKHR( ImportFenceFdInfoKHR const & importFenceFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetFenceFdKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getFenceFdKHR( FenceGetFdInfoKHR const * pGetFdInfo, int * pFd, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetFenceFdKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getFenceFdKHR( FenceGetFdInfoKHR const & getFdInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15357,57 +20544,102 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_performance_query === // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAcquireProfilingLockKHR ) ) +#endif VULKAN_HPP_NODISCARD Result acquireProfilingLockKHR( AcquireProfilingLockInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireProfilingLockKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireProfilingLockKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type acquireProfilingLockKHR( AcquireProfilingLockInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkReleaseProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseProfilingLockKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkReleaseProfilingLockKHR ) ) +#endif void releaseProfilingLockKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_EXT_debug_utils === // wrapper function for command vkSetDebugUtilsObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectNameEXT ) ) +#endif VULKAN_HPP_NODISCARD Result setDebugUtilsObjectNameEXT( DebugUtilsObjectNameInfoEXT const * pNameInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetDebugUtilsObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectNameEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setDebugUtilsObjectNameEXT( DebugUtilsObjectNameInfoEXT const & nameInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkSetDebugUtilsObjectNameEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectNameEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, + typename std::enable_if::value, bool>::type = true> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectNameEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setDebugUtilsObjectNameEXT( HandleType const & handle, std::string const & name, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) ) +#endif VULKAN_HPP_NODISCARD Result setDebugUtilsObjectTagEXT( DebugUtilsObjectTagInfoEXT const * pTagInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetDebugUtilsObjectTagEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setDebugUtilsObjectTagEXT( DebugUtilsObjectTagInfoEXT const & tagInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkSetDebugUtilsObjectTagEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDebugUtilsObjectTagEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, + typename std::enable_if::value, bool>::type = true> +# else + template + requires( IS_DISPATCHED( vkSetDebugUtilsObjectTagEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setDebugUtilsObjectTagEXT( HandleType const & handle, uint64_t name, TagType const & tag, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15417,8 +20649,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAndroidHardwareBufferPropertiesANDROID ) ) +# endif VULKAN_HPP_NODISCARD Result getAndroidHardwareBufferPropertiesANDROID( struct AHardwareBuffer const * buffer, AndroidHardwareBufferPropertiesANDROID * pProperties, @@ -15426,46 +20663,285 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAndroidHardwareBufferPropertiesANDROID ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getAndroidHardwareBufferPropertiesANDROID( struct AHardwareBuffer const & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAndroidHardwareBufferPropertiesANDROID ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getAndroidHardwareBufferPropertiesANDROID( struct AHardwareBuffer const & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryAndroidHardwareBufferANDROID ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryAndroidHardwareBufferANDROID( MemoryGetAndroidHardwareBufferInfoANDROID const * pInfo, struct AHardwareBuffer ** pBuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryAndroidHardwareBufferANDROID ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryAndroidHardwareBufferANDROID( MemoryGetAndroidHardwareBufferInfoANDROID const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateGpaSessionAMD ) ) +#endif + VULKAN_HPP_NODISCARD Result createGpaSessionAMD( GpaSessionCreateInfoAMD const * pCreateInfo, + AllocationCallbacks const * pAllocator, + GpaSessionAMD * pGpaSession, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType::type + createGpaSessionAMD( GpaSessionCreateInfoAMD const & createInfo, + Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +# ifndef VULKAN_HPP_NO_SMART_HANDLE + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType>::type + createGpaSessionAMDUnique( GpaSessionCreateInfoAMD const & createInfo, + Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +# endif /* VULKAN_HPP_NO_SMART_HANDLE */ +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +#endif + void destroyGpaSessionAMD( GpaSessionAMD gpaSession, + AllocationCallbacks const * pAllocator, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +# endif + void destroyGpaSessionAMD( GpaSessionAMD gpaSession VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), + Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +#endif + void destroy( GpaSessionAMD gpaSession, + AllocationCallbacks const * pAllocator, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkDestroyGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyGpaSessionAMD ) ) +# endif + void destroy( GpaSessionAMD gpaSession, + Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkSetGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetGpaDeviceClockModeAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetGpaDeviceClockModeAMD ) ) +#endif + VULKAN_HPP_NODISCARD Result setGpaClockModeAMD( GpaDeviceClockModeInfoAMD * pInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkSetGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetGpaDeviceClockModeAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetGpaDeviceClockModeAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType::type + setGpaClockModeAMD( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkGetGpaDeviceClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaDeviceClockInfoAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetGpaDeviceClockInfoAMD ) ) +#endif + VULKAN_HPP_NODISCARD Result getGpaClockInfoAMD( GpaDeviceGetClockInfoAMD * pInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetGpaDeviceClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaDeviceClockInfoAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGpaDeviceClockInfoAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType::type + getGpaClockInfoAMD( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetGpaSessionStatusAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionStatusAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGpaSessionStatusAMD ) ) +# endif + VULKAN_HPP_NODISCARD Result getGpaSessionStatusAMD( GpaSessionAMD gpaSession, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#else + // wrapper function for command vkGetGpaSessionStatusAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionStatusAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGpaSessionStatusAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type + getGpaSessionStatusAMD( GpaSessionAMD gpaSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetGpaSessionResultsAMD ) ) +#endif + VULKAN_HPP_NODISCARD Result getGpaSessionResultsAMD( GpaSessionAMD gpaSession, + uint32_t sampleID, + size_t * pSizeInBytes, + void * pData, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template , + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, + typename std::enable_if::value, int>::type = 0, + typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetGpaSessionResultsAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType>::type + getGpaSessionResultsAMD( GpaSessionAMD gpaSession, uint32_t sampleID, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template , + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, + typename std::enable_if::value, int>::type = 0, + typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetGpaSessionResultsAMD ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType>::type + getGpaSessionResultsAMD( GpaSessionAMD gpaSession, + uint32_t sampleID, + Uint8_tAllocator const & uint8_tAllocator, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + +#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkResetGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD Result resetGpaSessionAMD( GpaSessionAMD gpaSession, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#else + // wrapper function for command vkResetGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetGpaSessionAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkResetGpaSessionAMD ) ) +# endif + VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type + resetGpaSessionAMD( GpaSessionAMD gpaSession, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD Result createExecutionGraphPipelinesAMDX( PipelineCache pipelineCache, uint32_t createInfoCount, ExecutionGraphPipelineCreateInfoAMDX const * pCreateInfos, @@ -15475,10 +20951,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createExecutionGraphPipelinesAMDX( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -15486,10 +20967,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createExecutionGraphPipelinesAMDX( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -15498,8 +20984,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createExecutionGraphPipelineAMDX( PipelineCache pipelineCache, ExecutionGraphPipelineCreateInfoAMDX const & createInfo, @@ -15508,10 +20999,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createExecutionGraphPipelinesAMDXUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -15519,10 +21016,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createExecutionGraphPipelinesAMDXUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -15531,8 +21034,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExecutionGraphPipelinesAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateExecutionGraphPipelinesAMDX ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createExecutionGraphPipelineAMDXUnique( PipelineCache pipelineCache, ExecutionGraphPipelineCreateInfoAMDX const & createInfo, @@ -15543,8 +21051,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineScratchSizeAMDX ) ) +# endif VULKAN_HPP_NODISCARD Result getExecutionGraphPipelineScratchSizeAMDX( Pipeline executionGraph, ExecutionGraphPipelineScratchSizeAMDX * pSizeInfo, @@ -15552,16 +21065,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineScratchSizeAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineScratchSizeAMDX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getExecutionGraphPipelineScratchSizeAMDX( Pipeline executionGraph, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineNodeIndexAMDX ) ) +# endif VULKAN_HPP_NODISCARD Result getExecutionGraphPipelineNodeIndexAMDX( Pipeline executionGraph, PipelineShaderStageNodeCreateInfoAMDX const * pNodeInfo, uint32_t * pNodeIndex, @@ -15569,8 +21092,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetExecutionGraphPipelineNodeIndexAMDX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetExecutionGraphPipelineNodeIndexAMDX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getExecutionGraphPipelineNodeIndexAMDX( Pipeline executionGraph, PipelineShaderStageNodeCreateInfoAMDX const & nodeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -15580,7 +21108,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkWriteSamplerDescriptorsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteSamplerDescriptorsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWriteSamplerDescriptorsEXT ) ) +#endif VULKAN_HPP_NODISCARD Result writeSamplerDescriptorsEXT( uint32_t samplerCount, SamplerCreateInfo const * pSamplers, HostAddressRangeEXT const * pDescriptors, @@ -15588,7 +21121,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteSamplerDescriptorsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteSamplerDescriptorsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWriteSamplerDescriptorsEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type writeSamplerDescriptorsEXT( ArrayProxy const & samplers, ArrayProxy const & descriptors, @@ -15597,8 +21135,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkWriteResourceDescriptorsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteResourceDescriptorsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWriteResourceDescriptorsEXT ) ) +#endif VULKAN_HPP_NODISCARD Result writeResourceDescriptorsEXT( uint32_t resourceCount, ResourceDescriptorInfoEXT const * pResources, HostAddressRangeEXT const * pDescriptors, @@ -15606,8 +21149,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteResourceDescriptorsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteResourceDescriptorsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWriteResourceDescriptorsEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type writeResourceDescriptorsEXT( ArrayProxy const & resources, ArrayProxy const & descriptors, @@ -15616,8 +21164,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageOpaqueCaptureDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageOpaqueCaptureDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getImageOpaqueCaptureDataEXT( uint32_t imageCount, Image const * pImages, HostAddressRangeEXT * pDatas, @@ -15625,8 +21178,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkRegisterCustomBorderColorEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterCustomBorderColorEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkRegisterCustomBorderColorEXT ) ) +#endif VULKAN_HPP_NODISCARD Result registerCustomBorderColorEXT( SamplerCustomBorderColorCreateInfoEXT const * pBorderColor, Bool32 requestIndex, uint32_t * pIndex, @@ -15634,22 +21192,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkRegisterCustomBorderColorEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterCustomBorderColorEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkRegisterCustomBorderColorEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type registerCustomBorderColorEXT( SamplerCustomBorderColorCreateInfoEXT const & borderColor, Bool32 requestIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnregisterCustomBorderColorEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnregisterCustomBorderColorEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUnregisterCustomBorderColorEXT ) ) +#endif void unregisterCustomBorderColorEXT( uint32_t index, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetTensorOpaqueCaptureDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDataARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetTensorOpaqueCaptureDataARM ) ) +#endif VULKAN_HPP_NODISCARD Result getTensorOpaqueCaptureDataARM( uint32_t tensorCount, TensorARM const * pTensors, HostAddressRangeEXT * pDatas, @@ -15659,25 +21232,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2KHR ) ) +#endif void getImageMemoryRequirements2KHR( ImageMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirements2KHR( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetImageMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageMemoryRequirements2KHR( ImageMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -15685,25 +21273,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetBufferMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2KHR ) ) +#endif void getBufferMemoryRequirements2KHR( BufferMemoryRequirementsInfo2 const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirements2KHR( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetBufferMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getBufferMemoryRequirements2KHR( BufferMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -15711,8 +21314,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2KHR ) ) +#endif void getImageSparseMemoryRequirements2KHR( ImageSparseMemoryRequirementsInfo2 const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -15720,21 +21328,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements2KHR( ImageSparseMemoryRequirementsInfo2 const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetImageSparseMemoryRequirements2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSparseMemoryRequirements2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetImageSparseMemoryRequirements2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirements2KHR( ImageSparseMemoryRequirementsInfo2 const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, @@ -15745,8 +21365,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createAccelerationStructureKHR( AccelerationStructureCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, AccelerationStructureKHR * pAccelerationStructure, @@ -15754,8 +21379,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createAccelerationStructureKHR( AccelerationStructureCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -15763,8 +21393,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createAccelerationStructureKHRUnique( AccelerationStructureCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -15774,16 +21409,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +#endif void destroyAccelerationStructureKHR( AccelerationStructureKHR accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +# endif void destroyAccelerationStructureKHR( AccelerationStructureKHR accelerationStructure VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -15791,16 +21436,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +#endif void destroy( AccelerationStructureKHR accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureKHR ) ) +# endif void destroy( AccelerationStructureKHR accelerationStructure, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -15808,8 +21463,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBuildAccelerationStructuresKHR ) ) +#endif VULKAN_HPP_NODISCARD Result buildAccelerationStructuresKHR( DeferredOperationKHR deferredOperation, uint32_t infoCount, AccelerationStructureBuildGeometryInfoKHR const * pInfos, @@ -15818,8 +21478,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBuildAccelerationStructuresKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildAccelerationStructuresKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBuildAccelerationStructuresKHR ) ) +# endif VULKAN_HPP_NODISCARD Result buildAccelerationStructuresKHR( DeferredOperationKHR deferredOperation, ArrayProxy const & infos, ArrayProxy const & pBuildRangeInfos, @@ -15828,16 +21493,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureKHR ) ) +#endif VULKAN_HPP_NODISCARD Result copyAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD Result copyAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -15845,16 +21520,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureToMemoryKHR ) ) +#endif VULKAN_HPP_NODISCARD Result copyAccelerationStructureToMemoryKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureToMemoryInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyAccelerationStructureToMemoryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyAccelerationStructureToMemoryKHR ) ) +# endif VULKAN_HPP_NODISCARD Result copyAccelerationStructureToMemoryKHR( DeferredOperationKHR deferredOperation, CopyAccelerationStructureToMemoryInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -15862,16 +21547,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToAccelerationStructureKHR ) ) +#endif VULKAN_HPP_NODISCARD Result copyMemoryToAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyMemoryToAccelerationStructureInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToAccelerationStructureKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToAccelerationStructureKHR ) ) +# endif VULKAN_HPP_NODISCARD Result copyMemoryToAccelerationStructureKHR( DeferredOperationKHR deferredOperation, CopyMemoryToAccelerationStructureInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -15879,8 +21574,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWriteAccelerationStructuresPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result writeAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, AccelerationStructureKHR const * pAccelerationStructures, @@ -15892,11 +21592,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkWriteAccelerationStructuresPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type writeAccelerationStructuresPropertiesKHR( ArrayProxy const & accelerationStructures, QueryType queryType, @@ -15905,9 +21610,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteAccelerationStructuresPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWriteAccelerationStructuresPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type writeAccelerationStructuresPropertyKHR( ArrayProxy const & accelerationStructures, QueryType queryType, @@ -15917,39 +21627,64 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureDeviceAddressKHR ) ) +#endif DeviceAddress getAccelerationStructureAddressKHR( AccelerationStructureDeviceAddressInfoKHR const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureDeviceAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureDeviceAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureDeviceAddressKHR ) ) +# endif DeviceAddress getAccelerationStructureAddressKHR( AccelerationStructureDeviceAddressInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceAccelerationStructureCompatibilityKHR ) ) +#endif void getAccelerationStructureCompatibilityKHR( AccelerationStructureVersionInfoKHR const * pVersionInfo, AccelerationStructureCompatibilityKHR * pCompatibility, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceAccelerationStructureCompatibilityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceAccelerationStructureCompatibilityKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceAccelerationStructureCompatibilityKHR ) ) +# endif VULKAN_HPP_NODISCARD AccelerationStructureCompatibilityKHR getAccelerationStructureCompatibilityKHR( AccelerationStructureVersionInfoKHR const & versionInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureBuildSizesKHR ) ) +#endif void getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType, AccelerationStructureBuildGeometryInfoKHR const * pBuildInfo, uint32_t const * pMaxPrimitiveCounts, @@ -15958,8 +21693,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureBuildSizesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureBuildSizesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureBuildSizesKHR ) ) +# endif VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR getAccelerationStructureBuildSizesKHR( AccelerationStructureBuildTypeKHR buildType, AccelerationStructureBuildGeometryInfoKHR const & buildInfo, @@ -15971,8 +21711,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createRayTracingPipelinesKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, uint32_t createInfoCount, @@ -15983,10 +21728,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createRayTracingPipelinesKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -15995,10 +21745,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createRayTracingPipelinesKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -16008,8 +21763,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createRayTracingPipelineKHR( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -16019,10 +21779,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createRayTracingPipelinesKHRUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -16031,10 +21797,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createRayTracingPipelinesKHRUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -16044,8 +21816,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createRayTracingPipelineKHRUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -16057,8 +21834,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getRayTracingShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, @@ -16068,52 +21850,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getRayTracingShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getRayTracingShaderGroupHandleKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getRayTracingCaptureReplayShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getRayTracingCaptureReplayShaderGroupHandlesKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingCaptureReplayShaderGroupHandlesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRayTracingCaptureReplayShaderGroupHandlesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getRayTracingCaptureReplayShaderGroupHandleKHR( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRayTracingShaderGroupStackSizeKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupStackSizeKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupStackSizeKHR ) ) +#endif DeviceSize getRayTracingShaderGroupStackSizeKHR( Pipeline pipeline, uint32_t group, ShaderGroupShaderKHR groupShader, @@ -16123,8 +21935,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversionKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createSamplerYcbcrConversionKHR( SamplerYcbcrConversionCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, SamplerYcbcrConversion * pYcbcrConversion, @@ -16132,8 +21949,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversionKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSamplerYcbcrConversionKHR( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -16141,8 +21963,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSamplerYcbcrConversionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSamplerYcbcrConversionKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSamplerYcbcrConversionKHRUnique( SamplerYcbcrConversionCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -16152,16 +21979,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversionKHR ) ) +#endif void destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySamplerYcbcrConversionKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySamplerYcbcrConversionKHR ) ) +# endif void destroySamplerYcbcrConversionKHR( SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16170,25 +22007,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_bind_memory2 === // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindBufferMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result bindBufferMemory2KHR( uint32_t bindInfoCount, BindBufferMemoryInfo const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindBufferMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindBufferMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindBufferMemory2KHR( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindImageMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result bindImageMemory2KHR( uint32_t bindInfoCount, BindImageMemoryInfo const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindImageMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindImageMemory2KHR( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16197,16 +22054,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageDrmFormatModifierPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getImageDrmFormatModifierPropertiesEXT( Image image, ImageDrmFormatModifierPropertiesEXT * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageDrmFormatModifierPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageDrmFormatModifierPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageDrmFormatModifierPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageDrmFormatModifierPropertiesEXT( Image image, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16214,21 +22081,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_validation_cache === // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateValidationCacheEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createValidationCacheEXT( ValidationCacheCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, ValidationCacheEXT * pValidationCache, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateValidationCacheEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createValidationCacheEXT( ValidationCacheCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateValidationCacheEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createValidationCacheEXTUnique( ValidationCacheCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -16237,63 +22119,108 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +#endif void destroyValidationCacheEXT( ValidationCacheEXT validationCache, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +# endif void destroyValidationCacheEXT( ValidationCacheEXT validationCache VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +#endif void destroy( ValidationCacheEXT validationCache, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyValidationCacheEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyValidationCacheEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyValidationCacheEXT ) ) +# endif void destroy( ValidationCacheEXT validationCache, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkMergeValidationCachesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result mergeValidationCachesEXT( ValidationCacheEXT dstCache, uint32_t srcCacheCount, ValidationCacheEXT const * pSrcCaches, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkMergeValidationCachesEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type mergeValidationCachesEXT( ValidationCacheEXT dstCache, ArrayProxy const & srcCaches, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetValidationCacheDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getValidationCacheDataEXT( ValidationCacheEXT validationCache, size_t * pDataSize, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetValidationCacheDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getValidationCacheDataEXT( ValidationCacheEXT validationCache, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetValidationCacheDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getValidationCacheDataEXT( ValidationCacheEXT validationCache, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16302,8 +22229,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureNV ) ) +#endif VULKAN_HPP_NODISCARD Result createAccelerationStructureNV( AccelerationStructureCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, AccelerationStructureNV * pAccelerationStructure, @@ -16311,8 +22243,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createAccelerationStructureNV( AccelerationStructureCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -16320,8 +22257,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructureNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createAccelerationStructureNVUnique( AccelerationStructureCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -16331,16 +22273,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +#endif void destroyAccelerationStructureNV( AccelerationStructureNV accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +# endif void destroyAccelerationStructureNV( AccelerationStructureNV accelerationStructure VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16348,16 +22300,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +#endif void destroy( AccelerationStructureNV accelerationStructure, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyAccelerationStructureNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyAccelerationStructureNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyAccelerationStructureNV ) ) +# endif void destroy( AccelerationStructureNV accelerationStructure, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16365,25 +22327,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureMemoryRequirementsNV ) ) +#endif void getAccelerationStructureMemoryRequirementsNV( AccelerationStructureMemoryRequirementsInfoNV const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getAccelerationStructureMemoryRequirementsNV( AccelerationStructureMemoryRequirementsInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getAccelerationStructureMemoryRequirementsNV( AccelerationStructureMemoryRequirementsInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16391,16 +22368,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkBindAccelerationStructureMemoryNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindAccelerationStructureMemoryNV ) ) +#endif VULKAN_HPP_NODISCARD Result bindAccelerationStructureMemoryNV( uint32_t bindInfoCount, BindAccelerationStructureMemoryInfoNV const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindAccelerationStructureMemoryNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindAccelerationStructureMemoryNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindAccelerationStructureMemoryNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindAccelerationStructureMemoryNV( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -16408,8 +22395,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +#endif VULKAN_HPP_NODISCARD Result createRayTracingPipelinesNV( PipelineCache pipelineCache, uint32_t createInfoCount, RayTracingPipelineCreateInfoNV const * pCreateInfos, @@ -16419,10 +22411,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createRayTracingPipelinesNV( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16430,10 +22427,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createRayTracingPipelinesNV( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16442,8 +22444,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createRayTracingPipelineNV( PipelineCache pipelineCache, RayTracingPipelineCreateInfoNV const & createInfo, @@ -16452,10 +22459,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createRayTracingPipelinesNVUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16463,10 +22476,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createRayTracingPipelinesNVUnique( PipelineCache pipelineCache, ArrayProxy const & createInfos, @@ -16475,8 +22494,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateRayTracingPipelinesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRayTracingPipelinesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateRayTracingPipelinesNV ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createRayTracingPipelineNVUnique( PipelineCache pipelineCache, RayTracingPipelineCreateInfoNV const & createInfo, @@ -16487,8 +22511,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesNV ) ) +#endif VULKAN_HPP_NODISCARD Result getRayTracingShaderGroupHandlesNV( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, @@ -16498,26 +22527,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getRayTracingShaderGroupHandlesNV( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRayTracingShaderGroupHandlesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRayTracingShaderGroupHandlesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getRayTracingShaderGroupHandleNV( Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetAccelerationStructureHandleNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureHandleNV ) ) +#endif VULKAN_HPP_NODISCARD Result getAccelerationStructureHandleNV( AccelerationStructureNV accelerationStructure, size_t dataSize, void * pData, @@ -16525,31 +22569,51 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureHandleNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetAccelerationStructureHandleNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getAccelerationStructureHandleNV( AccelerationStructureNV accelerationStructure, size_t dataSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetAccelerationStructureHandleNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureHandleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureHandleNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getAccelerationStructureHandleNV( AccelerationStructureNV accelerationStructure, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCompileDeferredNV ) ) +# endif VULKAN_HPP_NODISCARD Result compileDeferredNV( Pipeline pipeline, uint32_t shader, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkCompileDeferredNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCompileDeferredNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCompileDeferredNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type compileDeferredNV( Pipeline pipeline, uint32_t shader, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -16558,25 +22622,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupportKHR ) ) +#endif void getDescriptorSetLayoutSupportKHR( DescriptorSetLayoutCreateInfo const * pCreateInfo, DescriptorSetLayoutSupport * pSupport, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupportKHR ) ) +# endif VULKAN_HPP_NODISCARD DescriptorSetLayoutSupport getDescriptorSetLayoutSupportKHR( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDescriptorSetLayoutSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSupportKHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getDescriptorSetLayoutSupportKHR( DescriptorSetLayoutCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16586,8 +22665,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetMemoryHostPointerPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, void const * pHostPointer, MemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties, @@ -16595,8 +22679,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryHostPointerPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryHostPointerPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryHostPointerPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryHostPointerPropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, void const * pHostPointer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16605,7 +22694,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetCalibratedTimestampsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getCalibratedTimestampsEXT( uint32_t timestampCount, CalibratedTimestampInfoKHR const * pTimestampInfos, uint64_t * pTimestamps, @@ -16614,26 +22708,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetCalibratedTimestampsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint64_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, uint64_t>>::type getCalibratedTimestampsEXT( ArrayProxy const & timestampInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetCalibratedTimestampsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint64_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, uint64_t>>::type getCalibratedTimestampsEXT( ArrayProxy const & timestampInfos, Uint64_tAllocator const & uint64_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetCalibratedTimestampsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCalibratedTimestampEXT( CalibratedTimestampInfoKHR const & timestampInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16642,40 +22751,70 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetSemaphoreCounterValueKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValueKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSemaphoreCounterValueKHR( Semaphore semaphore, uint64_t * pValue, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreCounterValueKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreCounterValueKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSemaphoreCounterValueKHR( Semaphore semaphore, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWaitSemaphoresKHR ) ) +#endif VULKAN_HPP_NODISCARD Result waitSemaphoresKHR( SemaphoreWaitInfo const * pWaitInfo, uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWaitSemaphoresKHR ) ) +# endif VULKAN_HPP_NODISCARD Result waitSemaphoresKHR( SemaphoreWaitInfo const & waitInfo, uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSignalSemaphoreKHR ) ) +#endif VULKAN_HPP_NODISCARD Result signalSemaphoreKHR( SemaphoreSignalInfo const * pSignalInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSignalSemaphoreKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type signalSemaphoreKHR( SemaphoreSignalInfo const & signalInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16685,16 +22824,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetSwapchainPresentTimingQueueSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetSwapchainPresentTimingQueueSizeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetSwapchainPresentTimingQueueSizeEXT ) ) +# endif VULKAN_HPP_NODISCARD Result setSwapchainPresentTimingQueueSizeEXT( SwapchainKHR swapchain, uint32_t size, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkSetSwapchainPresentTimingQueueSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetSwapchainPresentTimingQueueSizeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetSwapchainPresentTimingQueueSizeEXT ) ) +# endif VULKAN_HPP_NODISCARD Result setSwapchainPresentTimingQueueSizeEXT( SwapchainKHR swapchain, uint32_t size, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -16702,8 +22851,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetSwapchainTimingPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainTimingPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainTimingPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getSwapchainTimingPropertiesEXT( SwapchainKHR swapchain, SwapchainTimingPropertiesEXT * pSwapchainTimingProperties, uint64_t * pSwapchainTimingPropertiesCounter, @@ -16711,16 +22865,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSwapchainTimingPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainTimingPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSwapchainTimingPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> getSwapchainTimingPropertiesEXT( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetSwapchainTimeDomainPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainTimeDomainPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSwapchainTimeDomainPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getSwapchainTimeDomainPropertiesEXT( SwapchainKHR swapchain, SwapchainTimeDomainPropertiesEXT * pSwapchainTimeDomainProperties, uint64_t * pTimeDomainsCounter, @@ -16728,8 +22892,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPastPresentationTimingEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPastPresentationTimingEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPastPresentationTimingEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getPastPresentationTimingEXT( PastPresentationTimingInfoEXT const * pPastPresentationTimingInfo, PastPresentationTimingPropertiesEXT * pPastPresentationTimingProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16738,15 +22907,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkInitializePerformanceApiINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkInitializePerformanceApiINTEL ) ) +#endif VULKAN_HPP_NODISCARD Result initializePerformanceApiINTEL( InitializePerformanceApiInfoINTEL const * pInitializeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkInitializePerformanceApiINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkInitializePerformanceApiINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkInitializePerformanceApiINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type initializePerformanceApiINTEL( InitializePerformanceApiInfoINTEL const & initializeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -16754,30 +22933,50 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUninitializePerformanceApiINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUninitializePerformanceApiINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUninitializePerformanceApiINTEL ) ) +#endif void uninitializePerformanceApiINTEL( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAcquirePerformanceConfigurationINTEL ) ) +#endif VULKAN_HPP_NODISCARD Result acquirePerformanceConfigurationINTEL( PerformanceConfigurationAcquireInfoINTEL const * pAcquireInfo, PerformanceConfigurationINTEL * pConfiguration, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquirePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type acquirePerformanceConfigurationINTEL( PerformanceConfigurationAcquireInfoINTEL const & acquireInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquirePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquirePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type acquirePerformanceConfigurationINTELUnique( PerformanceConfigurationAcquireInfoINTEL const & acquireInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -16787,15 +22986,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD Result releasePerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type releasePerformanceConfigurationINTEL( PerformanceConfigurationINTEL configuration VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -16804,31 +23013,51 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD Result release( PerformanceConfigurationINTEL configuration, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkReleasePerformanceConfigurationINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleasePerformanceConfigurationINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleasePerformanceConfigurationINTEL ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type release( PerformanceConfigurationINTEL configuration, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetPerformanceParameterINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPerformanceParameterINTEL ) ) +#endif VULKAN_HPP_NODISCARD Result getPerformanceParameterINTEL( PerformanceParameterTypeINTEL parameter, PerformanceValueINTEL * pValue, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPerformanceParameterINTEL, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPerformanceParameterINTEL.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPerformanceParameterINTEL ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getPerformanceParameterINTEL( PerformanceParameterTypeINTEL parameter, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16836,7 +23065,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_display_native_hdr === // wrapper function for command vkSetLocalDimmingAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLocalDimmingAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetLocalDimmingAMD ) ) +#endif void setLocalDimmingAMD( SwapchainKHR swapChain, Bool32 localDimmingEnable, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -16844,12 +23078,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_buffer_device_address === // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressEXT ) ) +#endif DeviceAddress getBufferAddressEXT( BufferDeviceAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferDeviceAddressEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressEXT ) ) +# endif DeviceAddress getBufferAddressEXT( BufferDeviceAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16858,14 +23102,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWaitForPresentKHR ) ) +# endif VULKAN_HPP_NODISCARD Result waitForPresentKHR( SwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkWaitForPresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresentKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWaitForPresentKHR ) ) +# endif VULKAN_HPP_NODISCARD Result waitForPresentKHR( SwapchainKHR swapchain, uint64_t presentId, uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -16876,15 +23130,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD Result acquireFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # else // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type acquireFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -16892,31 +23156,51 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD Result releaseFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # else // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseFullScreenExclusiveModeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseFullScreenExclusiveModeEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type releaseFullScreenExclusiveModeEXT( SwapchainKHR swapchain, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD Result getGroupSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, DeviceGroupPresentModeFlagsKHR * pModes, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceGroupSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceGroupSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getGroupSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16925,42 +23209,72 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_buffer_device_address === // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressKHR ) ) +#endif DeviceAddress getBufferAddressKHR( BufferDeviceAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferDeviceAddressKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferDeviceAddressKHR ) ) +# endif DeviceAddress getBufferAddressKHR( BufferDeviceAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddressKHR ) ) +#endif uint64_t getBufferOpaqueCaptureAddressKHR( BufferDeviceAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureAddressKHR ) ) +# endif uint64_t getBufferOpaqueCaptureAddressKHR( BufferDeviceAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddressKHR ) ) +#endif uint64_t getMemoryOpaqueCaptureAddressKHR( DeviceMemoryOpaqueCaptureAddressInfo const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryOpaqueCaptureAddressKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMemoryOpaqueCaptureAddressKHR ) ) +# endif uint64_t getMemoryOpaqueCaptureAddressKHR( DeviceMemoryOpaqueCaptureAddressInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -16968,7 +23282,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_host_query_reset === // wrapper function for command vkResetQueryPoolEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetQueryPoolEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkResetQueryPoolEXT ) ) +#endif void resetQueryPoolEXT( QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -16978,21 +23297,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDeferredOperationKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createDeferredOperationKHR( AllocationCallbacks const * pAllocator, DeferredOperationKHR * pDeferredOperation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDeferredOperationKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDeferredOperationKHR( Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDeferredOperationKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDeferredOperationKHRUnique( Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17001,16 +23335,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +#endif void destroyDeferredOperationKHR( DeferredOperationKHR operation, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +# endif void destroyDeferredOperationKHR( DeferredOperationKHR operation VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17018,16 +23362,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +#endif void destroy( DeferredOperationKHR operation, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDeferredOperationKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDeferredOperationKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDeferredOperationKHR ) ) +# endif void destroy( DeferredOperationKHR operation, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17035,35 +23389,60 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeferredOperationMaxConcurrencyKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationMaxConcurrencyKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeferredOperationMaxConcurrencyKHR ) ) +#endif uint32_t getDeferredOperationMaxConcurrencyKHR( DeferredOperationKHR operation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeferredOperationResultKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeferredOperationResultKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getDeferredOperationResultKHR( DeferredOperationKHR operation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkGetDeferredOperationResultKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeferredOperationResultKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeferredOperationResultKHR ) ) +# endif VULKAN_HPP_NODISCARD Result getDeferredOperationResultKHR( DeferredOperationKHR operation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDeferredOperationJoinKHR ) ) +# endif VULKAN_HPP_NODISCARD Result deferredOperationJoinKHR( DeferredOperationKHR operation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDeferredOperationJoinKHR ) ) +# endif VULKAN_HPP_NODISCARD Result deferredOperationJoinKHR( DeferredOperationKHR operation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -17071,8 +23450,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineExecutablePropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelineExecutablePropertiesKHR( PipelineInfoKHR const * pPipelineInfo, uint32_t * pExecutableCount, PipelineExecutablePropertiesKHR * pProperties, @@ -17080,20 +23464,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineExecutablePropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineExecutablePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPipelineExecutablePropertiesKHR( PipelineInfoKHR const & pipelineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPipelineExecutablePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutablePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineExecutablePropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineExecutablePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPipelineExecutablePropertiesKHR( PipelineInfoKHR const & pipelineInfo, PipelineExecutablePropertiesKHRAllocator const & pipelineExecutablePropertiesKHRAllocator, @@ -17102,8 +23498,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineExecutableStatisticsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelineExecutableStatisticsKHR( PipelineExecutableInfoKHR const * pExecutableInfo, uint32_t * pStatisticCount, PipelineExecutableStatisticKHR * pStatistics, @@ -17111,20 +23512,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PipelineExecutableStatisticKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineExecutableStatisticKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineExecutableStatisticsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPipelineExecutableStatisticsKHR( PipelineExecutableInfoKHR const & executableInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableStatisticsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PipelineExecutableStatisticKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineExecutableStatisticKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineExecutableStatisticsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPipelineExecutableStatisticsKHR( PipelineExecutableInfoKHR const & executableInfo, PipelineExecutableStatisticKHRAllocator const & pipelineExecutableStatisticKHRAllocator, @@ -17133,8 +23546,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineExecutableInternalRepresentationsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineExecutableInternalRepresentationsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelineExecutableInternalRepresentationsKHR( PipelineExecutableInfoKHR const * pExecutableInfo, uint32_t * pInternalRepresentationCount, @@ -17144,46 +23562,86 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_host_image_copy === // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToImageEXT ) ) +#endif VULKAN_HPP_NODISCARD Result copyMemoryToImageEXT( CopyMemoryToImageInfo const * pCopyMemoryToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToImageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToImageEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type copyMemoryToImageEXT( CopyMemoryToImageInfo const & copyMemoryToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyImageToMemoryEXT ) ) +#endif VULKAN_HPP_NODISCARD Result copyImageToMemoryEXT( CopyImageToMemoryInfo const * pCopyImageToMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyImageToMemoryEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type copyImageToMemoryEXT( CopyImageToMemoryInfo const & copyImageToMemoryInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyImageToImageEXT ) ) +#endif VULKAN_HPP_NODISCARD Result copyImageToImageEXT( CopyImageToImageInfo const * pCopyImageToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyImageToImageEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type copyImageToImageEXT( CopyImageToImageInfo const & copyImageToImageInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkTransitionImageLayoutEXT ) ) +#endif VULKAN_HPP_NODISCARD Result transitionImageLayoutEXT( uint32_t transitionCount, HostImageLayoutTransitionInfo const * pTransitions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkTransitionImageLayoutEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type transitionImageLayoutEXT( ArrayProxy const & transitions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17191,8 +23649,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSubresourceLayout2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2EXT ) ) +#endif void getImageSubresourceLayout2EXT( Image image, ImageSubresource2 const * pSubresource, SubresourceLayout2 * pLayout, @@ -17200,17 +23663,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2EXT ) ) +# endif VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayout2EXT( Image image, ImageSubresource2 const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetImageSubresourceLayout2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2EXT ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageSubresourceLayout2EXT( Image image, ImageSubresource2 const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -17218,24 +23691,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_map_memory2 === // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkMapMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result mapMemory2KHR( MemoryMapInfo const * pMemoryMapInfo, void ** ppData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkMapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkMapMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type mapMemory2KHR( MemoryMapInfo const & memoryMapInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUnmapMemory2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result unmapMemory2KHR( MemoryUnmapInfo const * pMemoryUnmapInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUnmapMemory2KHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type unmapMemory2KHR( MemoryUnmapInfo const & memoryUnmapInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -17243,12 +23736,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_swapchain_maintenance1 === // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result releaseSwapchainImagesEXT( ReleaseSwapchainImagesInfoKHR const * pReleaseInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseSwapchainImagesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type releaseSwapchainImagesEXT( ReleaseSwapchainImagesInfoKHR const & releaseInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -17257,25 +23760,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) ) +#endif void getGeneratedCommandsMemoryRequirementsNV( GeneratedCommandsMemoryRequirementsInfoNV const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getGeneratedCommandsMemoryRequirementsNV( GeneratedCommandsMemoryRequirementsInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getGeneratedCommandsMemoryRequirementsNV( GeneratedCommandsMemoryRequirementsInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17283,8 +23801,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutNV ) ) +#endif VULKAN_HPP_NODISCARD Result createIndirectCommandsLayoutNV( IndirectCommandsLayoutCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, IndirectCommandsLayoutNV * pIndirectCommandsLayout, @@ -17292,8 +23815,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createIndirectCommandsLayoutNV( IndirectCommandsLayoutCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17301,8 +23829,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createIndirectCommandsLayoutNVUnique( IndirectCommandsLayoutCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17312,16 +23845,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +#endif void destroyIndirectCommandsLayoutNV( IndirectCommandsLayoutNV indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +# endif void destroyIndirectCommandsLayoutNV( IndirectCommandsLayoutNV indirectCommandsLayout VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17329,16 +23872,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +#endif void destroy( IndirectCommandsLayoutNV indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutNV ) ) +# endif void destroy( IndirectCommandsLayoutNV indirectCommandsLayout, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17347,21 +23900,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_private_data === // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlotEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createPrivateDataSlotEXT( PrivateDataSlotCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, PrivateDataSlot * pPrivateDataSlot, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlotEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createPrivateDataSlotEXT( PrivateDataSlotCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlotEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreatePrivateDataSlotEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createPrivateDataSlotEXTUnique( PrivateDataSlotCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17370,13 +23938,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlotEXT ) ) +#endif void destroyPrivateDataSlotEXT( PrivateDataSlot privateDataSlot, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPrivateDataSlotEXT ) ) +# endif void destroyPrivateDataSlotEXT( PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17384,7 +23962,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetPrivateDataEXT ) ) +# endif VULKAN_HPP_NODISCARD Result setPrivateDataEXT( ObjectType objectType, uint64_t objectHandle, PrivateDataSlot privateDataSlot, @@ -17392,7 +23975,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkSetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetPrivateDataEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setPrivateDataEXT( ObjectType objectType, uint64_t objectHandle, @@ -17402,7 +23990,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPrivateDataEXT ) ) +#endif void getPrivateDataEXT( ObjectType objectType, uint64_t objectHandle, PrivateDataSlot privateDataSlot, @@ -17410,7 +24003,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPrivateDataEXT ) ) +# endif VULKAN_HPP_NODISCARD uint64_t getPrivateDataEXT( ObjectType objectType, uint64_t objectHandle, PrivateDataSlot privateDataSlot, @@ -17421,8 +24019,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const * pVideoSessionParametersInfo, VideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo, size_t * pDataSize, @@ -17431,25 +24034,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>>::type getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>>::type getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, std::vector>>::type getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEncodedVideoSessionParametersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetEncodedVideoSessionParametersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, std::vector>>::type getEncodedVideoSessionParametersKHR( VideoEncodeSessionParametersGetInfoKHR const & videoSessionParametersInfo, Uint8_tAllocator const & uint8_tAllocator, @@ -17479,21 +24110,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_cuda_kernel_launch === // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCudaModuleNV ) ) +# endif VULKAN_HPP_NODISCARD Result createCudaModuleNV( CudaModuleCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, CudaModuleNV * pModule, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCudaModuleNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createCudaModuleNV( CudaModuleCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCudaModuleNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createCudaModuleNVUnique( CudaModuleCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17502,44 +24148,74 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetCudaModuleCacheNV ) ) +# endif VULKAN_HPP_NODISCARD Result getCudaModuleCacheNV( CudaModuleNV module, size_t * pCacheSize, void * pCacheData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetCudaModuleCacheNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCudaModuleCacheNV( CudaModuleNV module, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetCudaModuleCacheNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCudaModuleCacheNV( CudaModuleNV module, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCudaFunctionNV ) ) +# endif VULKAN_HPP_NODISCARD Result createCudaFunctionNV( CudaFunctionCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, CudaFunctionNV * pFunction, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCudaFunctionNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createCudaFunctionNV( CudaFunctionCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateCudaFunctionNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createCudaFunctionNVUnique( CudaFunctionCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17548,68 +24224,204 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif void destroyCudaModuleNV( CudaModuleNV module, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif void destroyCudaModuleNV( CudaModuleNV module, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif void destroy( CudaModuleNV module, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaModuleNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaModuleNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaModuleNV ) ) +# endif void destroy( CudaModuleNV module, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif void destroyCudaFunctionNV( CudaFunctionNV function, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif void destroyCudaFunctionNV( CudaFunctionNV function, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif void destroy( CudaFunctionNV function, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyCudaFunctionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyCudaFunctionNV ) ) +# endif void destroy( CudaFunctionNV function, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /*VK_ENABLE_BETA_EXTENSIONS*/ + //=== VK_NV_low_latency === + + // wrapper function for command vkSetLatencySleepModeLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetLatencySleepModeLegacyNV ) ) +#endif + void setLatencySleepModeLegacyNV( Bool32 lowLatencyMode, + Bool32 lowLatencyBoost, + uint32_t minimumIntervalUs, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkLatencySleepLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkLatencySleepLegacyNV ) ) +#endif + void + latencySleepLegacyNV( Semaphore signalSemaphore, uint64_t value, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkSetLatencyMarkerLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetLatencyMarkerLegacyNV ) ) +#endif + void setLatencyMarkerLegacyNV( uint64_t frameID, uint32_t marker, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkGetLatencyTimingsLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetLatencyTimingsLegacyNV ) ) +#endif + void getLatencyTimingsLegacyNV( void * pTimings, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetLatencyTimingsLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsLegacyNV.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetLatencyTimingsLegacyNV ) ) +# endif + VULKAN_HPP_NODISCARD TimingsType getLatencyTimingsLegacyNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkGetSleepStatusLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSleepStatusLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSleepStatusLegacyNV ) ) +#endif + void getSleepStatusLegacyNV( Bool32 * pLowLatencyMode, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetSleepStatusLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSleepStatusLegacyNV.html +# if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSleepStatusLegacyNV ) ) +# endif + VULKAN_HPP_NODISCARD Bool32 getSleepStatusLegacyNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + // wrapper function for command vkShutdownLatencyDeviceLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkShutdownLatencyDeviceLegacyNV.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkShutdownLatencyDeviceLegacyNV ) ) +#endif + void shutdownLatencyLegacyNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkExportMetalObjectsEXT ) ) +# endif void exportMetalObjectsEXT( ExportMetalObjectsInfoEXT * pMetalObjectsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkExportMetalObjectsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkExportMetalObjectsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkExportMetalObjectsEXT ) ) +# endif void exportMetalObjectsEXT( ExportMetalObjectsInfoEXT & metalObjectsInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -17619,24 +24431,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSizeEXT ) ) +#endif void getDescriptorSetLayoutSizeEXT( DescriptorSetLayout layout, DeviceSize * pLayoutSizeInBytes, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutSizeEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutSizeEXT ) ) +# endif VULKAN_HPP_NODISCARD DeviceSize getDescriptorSetLayoutSizeEXT( DescriptorSetLayout layout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutBindingOffsetEXT ) ) +#endif void getDescriptorSetLayoutBindingOffsetEXT( DescriptorSetLayout layout, uint32_t binding, DeviceSize * pOffset, @@ -17644,45 +24471,75 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutBindingOffsetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutBindingOffsetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutBindingOffsetEXT ) ) +# endif VULKAN_HPP_NODISCARD DeviceSize getDescriptorSetLayoutBindingOffsetEXT( DescriptorSetLayout layout, uint32_t binding, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorEXT ) ) +#endif void getDescriptorEXT( DescriptorGetInfoEXT const * pDescriptorInfo, size_t dataSize, void * pDescriptor, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorEXT ) ) +# endif void getDescriptorEXT( DescriptorGetInfoEXT const & descriptorInfo, size_t dataSize, void * pDescriptor, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDescriptorEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorEXT ) ) +# endif VULKAN_HPP_NODISCARD DescriptorType getDescriptorEXT( DescriptorGetInfoEXT const & descriptorInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getBufferOpaqueCaptureDescriptorDataEXT( BufferCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getBufferOpaqueCaptureDescriptorDataEXT( BufferCaptureDescriptorDataInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17690,17 +24547,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getImageOpaqueCaptureDescriptorDataEXT( ImageCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageOpaqueCaptureDescriptorDataEXT( ImageCaptureDescriptorDataInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17708,8 +24575,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageViewOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getImageViewOpaqueCaptureDescriptorDataEXT( ImageViewCaptureDescriptorDataInfoEXT const * pInfo, void * pData, @@ -17717,9 +24589,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageViewOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageViewOpaqueCaptureDescriptorDataEXT( ImageViewCaptureDescriptorDataInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17727,16 +24604,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetSamplerOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getSamplerOpaqueCaptureDescriptorDataEXT( SamplerCaptureDescriptorDataInfoEXT const * pInfo, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSamplerOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSamplerOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSamplerOpaqueCaptureDescriptorDataEXT( SamplerCaptureDescriptorDataInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17744,8 +24631,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getAccelerationStructureOpaqueCaptureDescriptorDataEXT( AccelerationStructureCaptureDescriptorDataInfoEXT const * pInfo, void * pData, @@ -17753,9 +24645,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getAccelerationStructureOpaqueCaptureDescriptorDataEXT( AccelerationStructureCaptureDescriptorDataInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17765,8 +24662,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateAccelerationStructure2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructure2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructure2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result createAccelerationStructure2KHR( AccelerationStructureCreateInfo2KHR const * pCreateInfo, AllocationCallbacks const * pAllocator, AccelerationStructureKHR * pAccelerationStructure, @@ -17774,8 +24676,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAccelerationStructure2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructure2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructure2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createAccelerationStructure2KHR( AccelerationStructureCreateInfo2KHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17783,8 +24690,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAccelerationStructure2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAccelerationStructure2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAccelerationStructure2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createAccelerationStructure2KHRUnique( AccelerationStructureCreateInfo2KHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17795,7 +24707,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_device_fault === // wrapper function for command vkGetDeviceFaultInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultInfoEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceFaultInfoEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getFaultInfoEXT( DeviceFaultCountsEXT * pFaultCounts, DeviceFaultInfoEXT * pFaultInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17805,16 +24722,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryZirconHandleFUCHSIA( MemoryGetZirconHandleInfoFUCHSIA const * pGetZirconHandleInfo, zx_handle_t * pZirconHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryZirconHandleFUCHSIA( MemoryGetZirconHandleInfoFUCHSIA const & getZirconHandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17822,8 +24749,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandlePropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryZirconHandlePropertiesFUCHSIA( ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, MemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties, @@ -17831,8 +24763,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryZirconHandlePropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryZirconHandlePropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryZirconHandlePropertiesFUCHSIA( ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -17843,15 +24780,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result importSemaphoreZirconHandleFUCHSIA( ImportSemaphoreZirconHandleInfoFUCHSIA const * pImportSemaphoreZirconHandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkImportSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkImportSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkImportSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type importSemaphoreZirconHandleFUCHSIA( ImportSemaphoreZirconHandleInfoFUCHSIA const & importSemaphoreZirconHandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17859,16 +24806,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result getSemaphoreZirconHandleFUCHSIA( SemaphoreGetZirconHandleInfoFUCHSIA const * pGetZirconHandleInfo, zx_handle_t * pZirconHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreZirconHandleFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetSemaphoreZirconHandleFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSemaphoreZirconHandleFUCHSIA( SemaphoreGetZirconHandleInfoFUCHSIA const & getZirconHandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -17880,8 +24837,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result createBufferCollectionFUCHSIA( BufferCollectionCreateInfoFUCHSIA const * pCreateInfo, AllocationCallbacks const * pAllocator, BufferCollectionFUCHSIA * pCollection, @@ -17889,8 +24851,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createBufferCollectionFUCHSIA( BufferCollectionCreateInfoFUCHSIA const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17898,8 +24865,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateBufferCollectionFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createBufferCollectionFUCHSIAUnique( BufferCollectionCreateInfoFUCHSIA const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -17909,8 +24881,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionImageConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result setBufferCollectionImageConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, ImageConstraintsInfoFUCHSIA const * pImageConstraintsInfo, @@ -17918,8 +24895,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionImageConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionImageConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setBufferCollectionImageConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, ImageConstraintsInfoFUCHSIA const & imageConstraintsInfo, @@ -17928,8 +24910,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionBufferConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result setBufferCollectionBufferConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, BufferConstraintsInfoFUCHSIA const * pBufferConstraintsInfo, @@ -17937,8 +24924,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetBufferCollectionBufferConstraintsFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetBufferCollectionBufferConstraintsFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setBufferCollectionBufferConstraintsFUCHSIA( BufferCollectionFUCHSIA collection, BufferConstraintsInfoFUCHSIA const & bufferConstraintsInfo, @@ -17947,16 +24939,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif void destroyBufferCollectionFUCHSIA( BufferCollectionFUCHSIA collection, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif void destroyBufferCollectionFUCHSIA( BufferCollectionFUCHSIA collection, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17964,16 +24966,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif void destroy( BufferCollectionFUCHSIA collection, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyBufferCollectionFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyBufferCollectionFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyBufferCollectionFUCHSIA ) ) +# endif void destroy( BufferCollectionFUCHSIA collection, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -17981,16 +24993,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferCollectionPropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result getBufferCollectionPropertiesFUCHSIA( BufferCollectionFUCHSIA collection, BufferCollectionPropertiesFUCHSIA * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferCollectionPropertiesFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetBufferCollectionPropertiesFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getBufferCollectionPropertiesFUCHSIA( BufferCollectionFUCHSIA collection, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18000,15 +25022,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ) +#endif VULKAN_HPP_NODISCARD Result getSubpassShadingMaxWorkgroupSizeHUAWEI( RenderPass renderpass, Extent2D * pMaxWorkgroupSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSubpassShadingMaxWorkgroupSizeHUAWEI( RenderPass renderpass, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18016,13 +25048,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_external_memory_rdma === // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetMemoryRemoteAddressNV ) ) +#endif VULKAN_HPP_NODISCARD Result getMemoryRemoteAddressNV( MemoryGetRemoteAddressInfoNV const * pMemoryGetRemoteAddressInfo, RemoteAddressNV * pAddress, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryRemoteAddressNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryRemoteAddressNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryRemoteAddressNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryRemoteAddressNV( MemoryGetRemoteAddressInfoNV const & memoryGetRemoteAddressInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -18031,13 +25073,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_pipeline_properties === // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelinePropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelinePropertiesEXT( PipelineInfoKHR const * pPipelineInfo, BaseOutStructure * pPipelineProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelinePropertiesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelinePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPipelinePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getPipelinePropertiesEXT( PipelineInfoKHR const & pipelineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18045,21 +25097,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_opacity_micromap === // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateMicromapEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createMicromapEXT( MicromapCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, MicromapEXT * pMicromap, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createMicromapEXT( MicromapCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createMicromapEXTUnique( MicromapCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -18068,79 +25135,139 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +#endif void destroyMicromapEXT( MicromapEXT micromap, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +# endif void destroyMicromapEXT( MicromapEXT micromap VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +#endif void destroy( MicromapEXT micromap, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyMicromapEXT ) ) +# endif void destroy( MicromapEXT micromap, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBuildMicromapsEXT ) ) +#endif VULKAN_HPP_NODISCARD Result buildMicromapsEXT( DeferredOperationKHR deferredOperation, uint32_t infoCount, MicromapBuildInfoEXT const * pInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBuildMicromapsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBuildMicromapsEXT ) ) +# endif VULKAN_HPP_NODISCARD Result buildMicromapsEXT( DeferredOperationKHR deferredOperation, ArrayProxy const & infos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyMicromapEXT ) ) +#endif VULKAN_HPP_NODISCARD Result copyMicromapEXT( DeferredOperationKHR deferredOperation, CopyMicromapInfoEXT const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD Result copyMicromapEXT( DeferredOperationKHR deferredOperation, CopyMicromapInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyMicromapToMemoryEXT ) ) +#endif VULKAN_HPP_NODISCARD Result copyMicromapToMemoryEXT( DeferredOperationKHR deferredOperation, CopyMicromapToMemoryInfoEXT const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyMicromapToMemoryEXT ) ) +# endif VULKAN_HPP_NODISCARD Result copyMicromapToMemoryEXT( DeferredOperationKHR deferredOperation, CopyMicromapToMemoryInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCopyMemoryToMicromapEXT ) ) +#endif VULKAN_HPP_NODISCARD Result copyMemoryToMicromapEXT( DeferredOperationKHR deferredOperation, CopyMemoryToMicromapInfoEXT const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCopyMemoryToMicromapEXT ) ) +# endif VULKAN_HPP_NODISCARD Result copyMemoryToMicromapEXT( DeferredOperationKHR deferredOperation, CopyMemoryToMicromapInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -18148,8 +25275,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWriteMicromapsPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result writeMicromapsPropertiesEXT( uint32_t micromapCount, MicromapEXT const * pMicromaps, QueryType queryType, @@ -18160,11 +25292,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataTypeAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkWriteMicromapsPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type writeMicromapsPropertiesEXT( ArrayProxy const & micromaps, QueryType queryType, @@ -18173,38 +25310,63 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkWriteMicromapsPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkWriteMicromapsPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWriteMicromapsPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type writeMicromapsPropertyEXT( ArrayProxy const & micromaps, QueryType queryType, size_t stride, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceMicromapCompatibilityEXT ) ) +#endif void getMicromapCompatibilityEXT( MicromapVersionInfoEXT const * pVersionInfo, AccelerationStructureCompatibilityKHR * pCompatibility, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceMicromapCompatibilityEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMicromapCompatibilityEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceMicromapCompatibilityEXT ) ) +# endif VULKAN_HPP_NODISCARD AccelerationStructureCompatibilityKHR getMicromapCompatibilityEXT( MicromapVersionInfoEXT const & versionInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetMicromapBuildSizesEXT ) ) +#endif void getMicromapBuildSizesEXT( AccelerationStructureBuildTypeKHR buildType, MicromapBuildInfoEXT const * pBuildInfo, MicromapBuildSizesInfoEXT * pSizeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMicromapBuildSizesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMicromapBuildSizesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMicromapBuildSizesEXT ) ) +# endif VULKAN_HPP_NODISCARD MicromapBuildSizesInfoEXT getMicromapBuildSizesEXT( AccelerationStructureBuildTypeKHR buildType, MicromapBuildInfoEXT const & buildInfo, @@ -18215,32 +25377,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkSetDeviceMemoryPriorityEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetDeviceMemoryPriorityEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetDeviceMemoryPriorityEXT ) ) +#endif void setMemoryPriorityEXT( DeviceMemory memory, float priority, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_KHR_maintenance4 === // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirementsKHR ) ) +#endif void getBufferMemoryRequirementsKHR( DeviceBufferMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getBufferMemoryRequirementsKHR( DeviceBufferMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceBufferMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceBufferMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getBufferMemoryRequirementsKHR( DeviceBufferMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18248,25 +25430,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirementsKHR ) ) +#endif void getImageMemoryRequirementsKHR( DeviceImageMemoryRequirements const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getImageMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceImageMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18274,8 +25471,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirementsKHR ) ) +#endif void getImageSparseMemoryRequirementsKHR( DeviceImageMemoryRequirements const * pInfo, uint32_t * pSparseMemoryRequirementCount, SparseImageMemoryRequirements2 * pSparseMemoryRequirements, @@ -18283,20 +25485,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDeviceImageSparseMemoryRequirementsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSparseMemoryRequirementsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageMemoryRequirements2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageMemoryRequirements2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDeviceImageSparseMemoryRequirementsKHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getImageSparseMemoryRequirementsKHR( DeviceImageMemoryRequirements const & info, SparseImageMemoryRequirements2Allocator const & sparseImageMemoryRequirements2Allocator, @@ -18307,32 +25521,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ) +#endif void getDescriptorSetLayoutHostMappingInfoVALVE( DescriptorSetBindingReferenceVALVE const * pBindingReference, DescriptorSetLayoutHostMappingInfoVALVE * pHostMapping, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetLayoutHostMappingInfoVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetLayoutHostMappingInfoVALVE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ) +# endif VULKAN_HPP_NODISCARD DescriptorSetLayoutHostMappingInfoVALVE getDescriptorSetLayoutHostMappingInfoVALVE( DescriptorSetBindingReferenceVALVE const & bindingReference, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDescriptorSetHostMappingVALVE ) ) +#endif void getDescriptorSetHostMappingVALVE( DescriptorSet descriptorSet, void ** ppData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDescriptorSetHostMappingVALVE, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDescriptorSetHostMappingVALVE.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDescriptorSetHostMappingVALVE ) ) +# endif VULKAN_HPP_NODISCARD void * getDescriptorSetHostMappingVALVE( DescriptorSet descriptorSet, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18341,25 +25575,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectMemoryRequirementsNV ) ) +#endif void getPipelineIndirectMemoryRequirementsNV( ComputePipelineCreateInfo const * pCreateInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getPipelineIndirectMemoryRequirementsNV( ComputePipelineCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPipelineIndirectMemoryRequirementsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectMemoryRequirementsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectMemoryRequirementsNV ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getPipelineIndirectMemoryRequirementsNV( ComputePipelineCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18367,15 +25616,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectDeviceAddressNV ) ) +#endif DeviceAddress getPipelineIndirectAddressNV( PipelineIndirectDeviceAddressInfoNV const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineIndirectDeviceAddressNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineIndirectDeviceAddressNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPipelineIndirectDeviceAddressNV ) ) +# endif DeviceAddress getPipelineIndirectAddressNV( PipelineIndirectDeviceAddressInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18385,37 +25644,62 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetNativeBufferPropertiesOHOS, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetNativeBufferPropertiesOHOS ) ) +# endif VULKAN_HPP_NODISCARD Result getNativeBufferPropertiesOHOS( struct OH_NativeBuffer const * buffer, NativeBufferPropertiesOHOS * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetNativeBufferPropertiesOHOS, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetNativeBufferPropertiesOHOS ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getNativeBufferPropertiesOHOS( struct OH_NativeBuffer const & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetNativeBufferPropertiesOHOS, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetNativeBufferPropertiesOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetNativeBufferPropertiesOHOS ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getNativeBufferPropertiesOHOS( struct OH_NativeBuffer const & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryNativeBufferOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryNativeBufferOHOS ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryNativeBufferOHOS( MemoryGetNativeBufferInfoOHOS const * pInfo, struct OH_NativeBuffer ** pBuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryNativeBufferOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryNativeBufferOHOS ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryNativeBufferOHOS( MemoryGetNativeBufferInfoOHOS const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18424,21 +25708,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_ARM_tensors === // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateTensorARM ) ) +#endif VULKAN_HPP_NODISCARD Result createTensorARM( TensorCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, TensorARM * pTensor, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateTensorARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createTensorARM( TensorCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateTensorARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createTensorARMUnique( TensorCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -18447,47 +25746,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +#endif void destroyTensorARM( TensorARM tensor, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +# endif void destroyTensorARM( TensorARM tensor VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +#endif void destroy( TensorARM tensor, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorARM ) ) +# endif void destroy( TensorARM tensor, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateTensorViewARM ) ) +#endif VULKAN_HPP_NODISCARD Result createTensorViewARM( TensorViewCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, TensorViewARM * pView, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateTensorViewARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createTensorViewARM( TensorViewCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateTensorViewARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createTensorViewARMUnique( TensorViewCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -18496,26 +25830,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +#endif void destroyTensorViewARM( TensorViewARM tensorView, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +# endif void destroyTensorViewARM( TensorViewARM tensorView VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +#endif void destroy( TensorViewARM tensorView, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyTensorViewARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyTensorViewARM ) ) +# endif void destroy( TensorViewARM tensorView, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18523,63 +25877,103 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetTensorMemoryRequirementsARM ) ) +#endif void getTensorMemoryRequirementsARM( TensorMemoryRequirementsInfoARM const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getTensorMemoryRequirementsARM( TensorMemoryRequirementsInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getTensorMemoryRequirementsARM( TensorMemoryRequirementsInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkBindTensorMemoryARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindTensorMemoryARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindTensorMemoryARM ) ) +#endif VULKAN_HPP_NODISCARD Result bindTensorMemoryARM( uint32_t bindInfoCount, BindTensorMemoryInfoARM const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindTensorMemoryARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindTensorMemoryARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindTensorMemoryARM ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindTensorMemoryARM( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceTensorMemoryRequirementsARM ) ) +#endif void getTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceTensorMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceTensorMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getTensorMemoryRequirementsARM( DeviceTensorMemoryRequirementsARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18587,16 +25981,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetTensorOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDescriptorDataARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetTensorOpaqueCaptureDescriptorDataARM ) ) +#endif VULKAN_HPP_NODISCARD Result getTensorOpaqueCaptureDescriptorDataARM( TensorCaptureDescriptorDataInfoARM const * pInfo, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetTensorOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorOpaqueCaptureDescriptorDataARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetTensorOpaqueCaptureDescriptorDataARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getTensorOpaqueCaptureDescriptorDataARM( TensorCaptureDescriptorDataInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -18604,8 +26008,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetTensorViewOpaqueCaptureDescriptorDataARM ) ) +#endif VULKAN_HPP_NODISCARD Result getTensorViewOpaqueCaptureDescriptorDataARM( TensorViewCaptureDescriptorDataInfoARM const * pInfo, void * pData, @@ -18613,9 +26022,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetTensorViewOpaqueCaptureDescriptorDataARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetTensorViewOpaqueCaptureDescriptorDataARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getTensorViewOpaqueCaptureDescriptorDataARM( TensorViewCaptureDescriptorDataInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -18625,32 +26039,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetShaderModuleIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetShaderModuleIdentifierEXT ) ) +#endif void getShaderModuleIdentifierEXT( ShaderModule shaderModule, ShaderModuleIdentifierEXT * pIdentifier, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderModuleIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleIdentifierEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetShaderModuleIdentifierEXT ) ) +# endif VULKAN_HPP_NODISCARD ShaderModuleIdentifierEXT getShaderModuleIdentifierEXT( ShaderModule shaderModule, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetShaderModuleCreateInfoIdentifierEXT ) ) +#endif void getShaderModuleCreateInfoIdentifierEXT( ShaderModuleCreateInfo const * pCreateInfo, ShaderModuleIdentifierEXT * pIdentifier, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderModuleCreateInfoIdentifierEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderModuleCreateInfoIdentifierEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetShaderModuleCreateInfoIdentifierEXT ) ) +# endif VULKAN_HPP_NODISCARD ShaderModuleIdentifierEXT getShaderModuleCreateInfoIdentifierEXT( ShaderModuleCreateInfo const & createInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18659,7 +26093,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateOpticalFlowSessionNV ) ) +#endif VULKAN_HPP_NODISCARD Result createOpticalFlowSessionNV( OpticalFlowSessionCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, OpticalFlowSessionNV * pSession, @@ -18667,7 +26106,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateOpticalFlowSessionNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createOpticalFlowSessionNV( OpticalFlowSessionCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -18675,7 +26119,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateOpticalFlowSessionNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createOpticalFlowSessionNVUnique( OpticalFlowSessionCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -18685,16 +26134,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +#endif void destroyOpticalFlowSessionNV( OpticalFlowSessionNV session, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +# endif void destroyOpticalFlowSessionNV( OpticalFlowSessionNV session, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18702,16 +26161,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +#endif void destroy( OpticalFlowSessionNV session, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyOpticalFlowSessionNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyOpticalFlowSessionNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyOpticalFlowSessionNV ) ) +# endif void destroy( OpticalFlowSessionNV session, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18720,8 +26189,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindOpticalFlowSessionImageNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindOpticalFlowSessionImageNV ) ) +# endif VULKAN_HPP_NODISCARD Result bindOpticalFlowSessionImageNV( OpticalFlowSessionNV session, OpticalFlowSessionBindingPointNV bindingPoint, ImageView view, @@ -18730,8 +26204,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #else // wrapper function for command vkBindOpticalFlowSessionImageNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindOpticalFlowSessionImageNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindOpticalFlowSessionImageNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindOpticalFlowSessionImageNV( OpticalFlowSessionNV session, OpticalFlowSessionBindingPointNV bindingPoint, @@ -18744,41 +26223,66 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetRenderingAreaGranularityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularityKHR ) ) +#endif void getRenderingAreaGranularityKHR( RenderingAreaInfo const * pRenderingAreaInfo, Extent2D * pGranularity, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRenderingAreaGranularityKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderingAreaGranularityKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRenderingAreaGranularityKHR ) ) +# endif VULKAN_HPP_NODISCARD Extent2D getRenderingAreaGranularityKHR( RenderingAreaInfo const & renderingAreaInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayoutKHR ) ) +#endif void getImageSubresourceLayoutKHR( DeviceImageSubresourceInfo const * pInfo, SubresourceLayout2 * pLayout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayoutKHR ) ) +# endif VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayoutKHR( DeviceImageSubresourceInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDeviceImageSubresourceLayoutKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceImageSubresourceLayoutKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDeviceImageSubresourceLayoutKHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageSubresourceLayoutKHR( DeviceImageSubresourceInfo const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -18786,8 +26290,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetImageSubresourceLayout2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2KHR ) ) +#endif void getImageSubresourceLayout2KHR( Image image, ImageSubresource2 const * pSubresource, SubresourceLayout2 * pLayout, @@ -18795,17 +26304,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetImageSubresourceLayout2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2KHR ) ) +# endif VULKAN_HPP_NODISCARD SubresourceLayout2 getImageSubresourceLayout2KHR( Image image, ImageSubresource2 const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetImageSubresourceLayout2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetImageSubresourceLayout2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getImageSubresourceLayout2KHR( Image image, ImageSubresource2 const & subresource, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18813,24 +26332,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_AMD_anti_lag === // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkAntiLagUpdateAMD ) ) +#endif void antiLagUpdateAMD( AntiLagDataAMD const * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAntiLagUpdateAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAntiLagUpdateAMD.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAntiLagUpdateAMD ) ) +# endif void antiLagUpdateAMD( AntiLagDataAMD const & data, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ //=== VK_KHR_present_wait2 === // wrapper function for command vkWaitForPresent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresent2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkWaitForPresent2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result waitForPresent2KHR( SwapchainKHR swapchain, PresentWait2InfoKHR const * pPresentWait2Info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkWaitForPresent2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForPresent2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkWaitForPresent2KHR ) ) +# endif VULKAN_HPP_NODISCARD Result waitForPresent2KHR( SwapchainKHR swapchain, PresentWait2InfoKHR const & presentWait2Info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -18839,7 +26378,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_shader_object === // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createShadersEXT( uint32_t createInfoCount, ShaderCreateInfoEXT const * pCreateInfos, AllocationCallbacks const * pAllocator, @@ -18847,51 +26391,83 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ShaderEXTAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createShadersEXT( ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ShaderEXTAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createShadersEXT( ArrayProxy const & createInfos, Optional allocator, ShaderEXTAllocator const & shaderEXTAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createShaderEXT( ShaderCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > ShaderEXTAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, ShaderEXTAllocator>> createShadersEXTUnique( ArrayProxy const & createInfos, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > ShaderEXTAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, ShaderEXTAllocator>> createShadersEXTUnique( ArrayProxy const & createInfos, Optional allocator, ShaderEXTAllocator const & shaderEXTAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateShadersEXT ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createShaderEXTUnique( ShaderCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -18900,50 +26476,85 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +#endif void destroyShaderEXT( ShaderEXT shader, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +# endif void destroyShaderEXT( ShaderEXT shader VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +#endif void destroy( ShaderEXT shader, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderEXT ) ) +# endif void destroy( ShaderEXT shader, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetShaderBinaryDataEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getShaderBinaryDataEXT( ShaderEXT shader, size_t * pDataSize, void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetShaderBinaryDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getShaderBinaryDataEXT( ShaderEXT shader, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetShaderBinaryDataEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getShaderBinaryDataEXT( ShaderEXT shader, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -18951,26 +26562,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_pipeline_binary === // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, PipelineBinaryHandlesInfoKHR * pBinaries, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineBinaryKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineBinaryKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createPipelineBinariesKHR( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator, @@ -18978,21 +26606,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename PipelineBinaryKHRAllocator = std::allocator>, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineBinaryKHRAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineBinaryKHRAllocator>> createPipelineBinariesKHRUnique( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreatePipelineBinariesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineBinariesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename PipelineBinaryKHRAllocator = std::allocator>, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineBinaryKHRAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreatePipelineBinariesKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineBinaryKHRAllocator>> createPipelineBinariesKHRUnique( PipelineBinaryCreateInfoKHR const & createInfo, Optional allocator, @@ -19002,46 +26642,81 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +#endif void destroyPipelineBinaryKHR( PipelineBinaryKHR pipelineBinary, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +# endif void destroyPipelineBinaryKHR( PipelineBinaryKHR pipelineBinary VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +#endif void destroy( PipelineBinaryKHR pipelineBinary, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyPipelineBinaryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPipelineBinaryKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyPipelineBinaryKHR ) ) +# endif void destroy( PipelineBinaryKHR pipelineBinary, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineKeyKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelineKeyKHR( PipelineCreateInfoKHR const * pPipelineCreateInfo, PipelineBinaryKeyKHR * pPipelineKey, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPipelineKeyKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getPipelineKeyKHR( Optional pipelineCreateInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPipelineBinaryDataKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getPipelineBinaryDataKHR( PipelineBinaryDataInfoKHR const * pInfo, PipelineBinaryKeyKHR * pPipelineBinaryKey, size_t * pPipelineBinaryDataSize, @@ -19049,33 +26724,53 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineBinaryDataKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>>::type getPipelineBinaryDataKHR( PipelineBinaryDataInfoKHR const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint8_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPipelineBinaryDataKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>>::type getPipelineBinaryDataKHR( PipelineBinaryDataInfoKHR const & info, Uint8_tAllocator const & uint8_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkReleaseCapturedPipelineDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkReleaseCapturedPipelineDataKHR ) ) +#endif VULKAN_HPP_NODISCARD Result releaseCapturedPipelineDataKHR( ReleaseCapturedPipelineDataInfoKHR const * pInfo, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseCapturedPipelineDataKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseCapturedPipelineDataKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseCapturedPipelineDataKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type releaseCapturedPipelineDataKHR( ReleaseCapturedPipelineDataInfoKHR const & info, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19086,8 +26781,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) ) +#endif VULKAN_HPP_NODISCARD Result getFramebufferTilePropertiesQCOM( Framebuffer framebuffer, uint32_t * pPropertiesCount, TilePropertiesQCOM * pProperties, @@ -19095,18 +26795,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template TilePropertiesQCOMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getFramebufferTilePropertiesQCOM( Framebuffer framebuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetFramebufferTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFramebufferTilePropertiesQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template TilePropertiesQCOMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetFramebufferTilePropertiesQCOM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getFramebufferTilePropertiesQCOM( Framebuffer framebuffer, TilePropertiesQCOMAllocator const & tilePropertiesQCOMAllocator, @@ -19115,16 +26827,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDynamicRenderingTilePropertiesQCOM ) ) +#endif VULKAN_HPP_NODISCARD Result getDynamicRenderingTilePropertiesQCOM( RenderingInfo const * pRenderingInfo, TilePropertiesQCOM * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDynamicRenderingTilePropertiesQCOM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDynamicRenderingTilePropertiesQCOM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getDynamicRenderingTilePropertiesQCOM( RenderingInfo const & renderingInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19132,12 +26854,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_swapchain_maintenance1 === // wrapper function for command vkReleaseSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result releaseSwapchainImagesKHR( ReleaseSwapchainImagesInfoKHR const * pReleaseInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseSwapchainImagesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseSwapchainImagesKHR ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type releaseSwapchainImagesKHR( ReleaseSwapchainImagesInfoKHR const & releaseInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19146,15 +26878,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkConvertCooperativeVectorMatrixNV ) ) +#endif VULKAN_HPP_NODISCARD Result convertCooperativeVectorMatrixNV( ConvertCooperativeVectorMatrixInfoNV const * pInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkConvertCooperativeVectorMatrixNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkConvertCooperativeVectorMatrixNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkConvertCooperativeVectorMatrixNV ) ) +# endif VULKAN_HPP_NODISCARD Result convertCooperativeVectorMatrixNV( ConvertCooperativeVectorMatrixInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19162,44 +26904,79 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NV_low_latency2 === // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetLatencySleepModeNV ) ) +#endif VULKAN_HPP_NODISCARD Result setLatencySleepModeNV( SwapchainKHR swapchain, LatencySleepModeInfoNV const * pSleepModeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetLatencySleepModeNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetLatencySleepModeNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type setLatencySleepModeNV( SwapchainKHR swapchain, LatencySleepModeInfoNV const & sleepModeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkLatencySleepNV ) ) +#endif VULKAN_HPP_NODISCARD Result latencySleepNV( SwapchainKHR swapchain, LatencySleepInfoNV const * pSleepInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkLatencySleepNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type latencySleepNV( SwapchainKHR swapchain, LatencySleepInfoNV const & sleepInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSetLatencyMarkerNV ) ) +#endif void setLatencyMarkerNV( SwapchainKHR swapchain, SetLatencyMarkerInfoNV const * pLatencyMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSetLatencyMarkerNV ) ) +# endif void setLatencyMarkerNV( SwapchainKHR swapchain, SetLatencyMarkerInfoNV const & latencyMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetLatencyTimingsNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetLatencyTimingsNV ) ) +#endif void getLatencyTimingsNV( SwapchainKHR swapchain, GetLatencyMarkerInfoNV * pLatencyMarkerInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19208,8 +26985,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +#endif VULKAN_HPP_NODISCARD Result createDataGraphPipelinesARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, uint32_t createInfoCount, @@ -19220,10 +27002,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createDataGraphPipelinesARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -19232,10 +27019,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PipelineAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createDataGraphPipelinesARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -19245,8 +27037,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD ResultValue createDataGraphPipelineARM( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -19256,10 +27053,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createDataGraphPipelinesARMUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -19268,10 +27071,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template >, typename std::enable_if>::value, int>::type = 0, typename std::enable_if::type = true> +# else + template > PipelineAllocator = std::allocator>> + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD ResultValue, PipelineAllocator>> createDataGraphPipelinesARMUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -19281,8 +27090,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkCreateDataGraphPipelinesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelinesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelinesARM ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> createDataGraphPipelineARMUnique( DeferredOperationKHR deferredOperation, PipelineCache pipelineCache, @@ -19294,8 +27108,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelineSessionARM ) ) +#endif VULKAN_HPP_NODISCARD Result createDataGraphPipelineSessionARM( DataGraphPipelineSessionCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, DataGraphPipelineSessionARM * pSession, @@ -19303,8 +27122,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelineSessionARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDataGraphPipelineSessionARM( DataGraphPipelineSessionCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19312,8 +27136,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDataGraphPipelineSessionARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDataGraphPipelineSessionARMUnique( DataGraphPipelineSessionCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19323,8 +27152,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionBindPointRequirementsARM ) ) +#endif VULKAN_HPP_NODISCARD Result getDataGraphPipelineSessionBindPointRequirementsARM( DataGraphPipelineSessionBindPointRequirementsInfoARM const * pInfo, uint32_t * pBindPointRequirementCount, @@ -19333,24 +27167,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataGraphPipelineSessionBindPointRequirementARMAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionBindPointRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDataGraphPipelineSessionBindPointRequirementsARM( DataGraphPipelineSessionBindPointRequirementsInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionBindPointRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataGraphPipelineSessionBindPointRequirementARMAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionBindPointRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDataGraphPipelineSessionBindPointRequirementsARM( @@ -19361,25 +27209,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionMemoryRequirementsARM ) ) +#endif void getDataGraphPipelineSessionMemoryRequirementsARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getDataGraphPipelineSessionMemoryRequirementsARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineSessionMemoryRequirementsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineSessionMemoryRequirementsARM ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getDataGraphPipelineSessionMemoryRequirementsARM( DataGraphPipelineSessionMemoryRequirementsInfoARM const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19387,16 +27250,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkBindDataGraphPipelineSessionMemoryARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindDataGraphPipelineSessionMemoryARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkBindDataGraphPipelineSessionMemoryARM ) ) +#endif VULKAN_HPP_NODISCARD Result bindDataGraphPipelineSessionMemoryARM( uint32_t bindInfoCount, BindDataGraphPipelineSessionMemoryInfoARM const * pBindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkBindDataGraphPipelineSessionMemoryARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindDataGraphPipelineSessionMemoryARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkBindDataGraphPipelineSessionMemoryARM ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type bindDataGraphPipelineSessionMemoryARM( ArrayProxy const & bindInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -19404,16 +27277,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +#endif void destroyDataGraphPipelineSessionARM( DataGraphPipelineSessionARM session, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +# endif void destroyDataGraphPipelineSessionARM( DataGraphPipelineSessionARM session, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19421,16 +27304,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +#endif void destroy( DataGraphPipelineSessionARM session, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDataGraphPipelineSessionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDataGraphPipelineSessionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDataGraphPipelineSessionARM ) ) +# endif void destroy( DataGraphPipelineSessionARM session, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19438,8 +27331,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelineAvailablePropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD Result getDataGraphPipelineAvailablePropertiesARM( DataGraphPipelineInfoARM const * pPipelineInfo, uint32_t * pPropertiesCount, @@ -19448,21 +27346,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename DataGraphPipelinePropertyARMAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataGraphPipelinePropertyARMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDataGraphPipelineAvailablePropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDataGraphPipelineAvailablePropertiesARM( DataGraphPipelineInfoARM const & pipelineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDataGraphPipelineAvailablePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelineAvailablePropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename DataGraphPipelinePropertyARMAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataGraphPipelinePropertyARMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDataGraphPipelineAvailablePropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDataGraphPipelineAvailablePropertiesARM( DataGraphPipelineInfoARM const & pipelineInfo, DataGraphPipelinePropertyARMAllocator const & dataGraphPipelinePropertyARMAllocator, @@ -19471,8 +27381,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDataGraphPipelinePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDataGraphPipelinePropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDataGraphPipelinePropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD Result getDataGraphPipelinePropertiesARM( DataGraphPipelineInfoARM const * pPipelineInfo, uint32_t propertiesCount, DataGraphPipelinePropertyQueryResultARM * pProperties, @@ -19483,25 +27398,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetScreenBufferPropertiesQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetScreenBufferPropertiesQNX ) ) +# endif VULKAN_HPP_NODISCARD Result getScreenBufferPropertiesQNX( struct _screen_buffer const * buffer, ScreenBufferPropertiesQNX * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetScreenBufferPropertiesQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetScreenBufferPropertiesQNX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getScreenBufferPropertiesQNX( struct _screen_buffer const & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetScreenBufferPropertiesQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetScreenBufferPropertiesQNX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getScreenBufferPropertiesQNX( struct _screen_buffer const & buffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19511,7 +27441,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetCalibratedTimestampsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getCalibratedTimestampsKHR( uint32_t timestampCount, CalibratedTimestampInfoKHR const * pTimestampInfos, uint64_t * pTimestamps, @@ -19520,26 +27455,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetCalibratedTimestampsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint64_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, uint64_t>>::type getCalibratedTimestampsKHR( ArrayProxy const & timestampInfos, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetCalibratedTimestampsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Uint64_tAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, uint64_t>>::type getCalibratedTimestampsKHR( ArrayProxy const & timestampInfos, Uint64_tAllocator const & uint64_tAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetCalibratedTimestampsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCalibratedTimestampsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetCalibratedTimestampsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCalibratedTimestampKHR( CalibratedTimestampInfoKHR const & timestampInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19548,8 +27498,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateExternalComputeQueueNV ) ) +#endif VULKAN_HPP_NODISCARD Result createExternalComputeQueueNV( ExternalComputeQueueCreateInfoNV const * pCreateInfo, AllocationCallbacks const * pAllocator, ExternalComputeQueueNV * pExternalQueue, @@ -19557,8 +27512,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateExternalComputeQueueNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createExternalComputeQueueNV( ExternalComputeQueueCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19566,8 +27526,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateExternalComputeQueueNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createExternalComputeQueueNVUnique( ExternalComputeQueueCreateInfoNV const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19577,16 +27542,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +#endif void destroyExternalComputeQueueNV( ExternalComputeQueueNV externalQueue, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +# endif void destroyExternalComputeQueueNV( ExternalComputeQueueNV externalQueue, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19594,16 +27569,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +#endif void destroy( ExternalComputeQueueNV externalQueue, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyExternalComputeQueueNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyExternalComputeQueueNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyExternalComputeQueueNV ) ) +# endif void destroy( ExternalComputeQueueNV externalQueue, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19613,16 +27598,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetClusterAccelerationStructureBuildSizesNV ) ) +#endif void getClusterAccelerationStructureBuildSizesNV( ClusterAccelerationStructureInputInfoNV const * pInfo, AccelerationStructureBuildSizesInfoKHR * pSizeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetClusterAccelerationStructureBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetClusterAccelerationStructureBuildSizesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetClusterAccelerationStructureBuildSizesNV ) ) +# endif VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR getClusterAccelerationStructureBuildSizesNV( ClusterAccelerationStructureInputInfoNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19631,16 +27626,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPartitionedAccelerationStructuresBuildSizesNV ) ) +#endif void getPartitionedAccelerationStructuresBuildSizesNV( PartitionedAccelerationStructureInstancesInputNV const * pInfo, AccelerationStructureBuildSizesInfoKHR * pSizeInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPartitionedAccelerationStructuresBuildSizesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPartitionedAccelerationStructuresBuildSizesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPartitionedAccelerationStructuresBuildSizesNV ) ) +# endif VULKAN_HPP_NODISCARD AccelerationStructureBuildSizesInfoKHR getPartitionedAccelerationStructuresBuildSizesNV( PartitionedAccelerationStructureInstancesInputNV const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19649,25 +27654,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) ) +#endif void getGeneratedCommandsMemoryRequirementsEXT( GeneratedCommandsMemoryRequirementsInfoEXT const * pInfo, MemoryRequirements2 * pMemoryRequirements, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) ) +# endif VULKAN_HPP_NODISCARD MemoryRequirements2 getGeneratedCommandsMemoryRequirementsEXT( GeneratedCommandsMemoryRequirementsInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetGeneratedCommandsMemoryRequirementsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGeneratedCommandsMemoryRequirementsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetGeneratedCommandsMemoryRequirementsEXT ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getGeneratedCommandsMemoryRequirementsEXT( GeneratedCommandsMemoryRequirementsInfoEXT const & info, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19675,8 +27695,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createIndirectCommandsLayoutEXT( IndirectCommandsLayoutCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, IndirectCommandsLayoutEXT * pIndirectCommandsLayout, @@ -19684,8 +27709,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createIndirectCommandsLayoutEXT( IndirectCommandsLayoutCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19693,8 +27723,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectCommandsLayoutEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createIndirectCommandsLayoutEXTUnique( IndirectCommandsLayoutCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19704,16 +27739,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +#endif void destroyIndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +# endif void destroyIndirectCommandsLayoutEXT( IndirectCommandsLayoutEXT indirectCommandsLayout VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19721,16 +27766,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +#endif void destroy( IndirectCommandsLayoutEXT indirectCommandsLayout, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectCommandsLayoutEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectCommandsLayoutEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectCommandsLayoutEXT ) ) +# endif void destroy( IndirectCommandsLayoutEXT indirectCommandsLayout, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19738,8 +27793,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateIndirectExecutionSetEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createIndirectExecutionSetEXT( IndirectExecutionSetCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, IndirectExecutionSetEXT * pIndirectExecutionSet, @@ -19747,8 +27807,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectExecutionSetEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createIndirectExecutionSetEXT( IndirectExecutionSetCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19756,8 +27821,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIndirectExecutionSetEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createIndirectExecutionSetEXTUnique( IndirectExecutionSetCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19767,16 +27837,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +#endif void destroyIndirectExecutionSetEXT( IndirectExecutionSetEXT indirectExecutionSet, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +# endif void destroyIndirectExecutionSetEXT( IndirectExecutionSetEXT indirectExecutionSet VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19784,16 +27864,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +#endif void destroy( IndirectExecutionSetEXT indirectExecutionSet, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyIndirectExecutionSetEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyIndirectExecutionSetEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyIndirectExecutionSetEXT ) ) +# endif void destroy( IndirectExecutionSetEXT indirectExecutionSet, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19801,8 +27891,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetPipelineEXT ) ) +#endif void updateIndirectExecutionSetPipelineEXT( IndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, WriteIndirectExecutionSetPipelineEXT const * pExecutionSetWrites, @@ -19810,8 +27905,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetPipelineEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetPipelineEXT ) ) +# endif void updateIndirectExecutionSetPipelineEXT( IndirectExecutionSetEXT indirectExecutionSet, ArrayProxy const & executionSetWrites, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19819,8 +27919,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetShaderEXT ) ) +#endif void updateIndirectExecutionSetShaderEXT( IndirectExecutionSetEXT indirectExecutionSet, uint32_t executionSetWriteCount, WriteIndirectExecutionSetShaderEXT const * pExecutionSetWrites, @@ -19828,8 +27933,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkUpdateIndirectExecutionSetShaderEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateIndirectExecutionSetShaderEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkUpdateIndirectExecutionSetShaderEXT ) ) +# endif void updateIndirectExecutionSetShaderEXT( IndirectExecutionSetEXT indirectExecutionSet, ArrayProxy const & executionSetWrites, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19838,31 +27948,53 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_device_fault === // wrapper function for command vkGetDeviceFaultReportsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultReportsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceFaultReportsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getFaultReportsKHR( uint64_t timeout, uint32_t * pFaultCounts, DeviceFaultInfoKHR * pFaultInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDeviceFaultReportsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultReportsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DeviceFaultInfoKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDeviceFaultReportsKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> getFaultReportsKHR( uint64_t timeout, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDeviceFaultReportsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultReportsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DeviceFaultInfoKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDeviceFaultReportsKHR ) ) +# endif VULKAN_HPP_NODISCARD ResultValue> getFaultReportsKHR( uint64_t timeout, DeviceFaultInfoKHRAllocator const & deviceFaultInfoKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDeviceFaultDebugInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceFaultDebugInfoKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDeviceFaultDebugInfoKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getFaultDebugInfoKHR( DeviceFaultDebugInfoKHR * pDebugInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19870,21 +28002,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_external_memory_metal === // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandleEXT ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryMetalHandleEXT( MemoryGetMetalHandleInfoEXT const * pGetMetalHandleInfo, void ** pHandle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryMetalHandleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandleEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandleEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryMetalHandleEXT( MemoryGetMetalHandleInfoEXT const & getMetalHandleInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandlePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD Result getMemoryMetalHandlePropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, void const * pHandle, MemoryMetalHandlePropertiesEXT * pMemoryMetalHandleProperties, @@ -19892,9 +28039,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryMetalHandlePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetMemoryMetalHandlePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getMemoryMetalHandlePropertiesEXT( ExternalMemoryHandleTypeFlagBits handleType, HandleType const & handle, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -19904,8 +28056,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateShaderInstrumentationARM ) ) +#endif VULKAN_HPP_NODISCARD Result createShaderInstrumentationARM( ShaderInstrumentationCreateInfoARM const * pCreateInfo, AllocationCallbacks const * pAllocator, ShaderInstrumentationARM * pInstrumentation, @@ -19913,8 +28070,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateShaderInstrumentationARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createShaderInstrumentationARM( ShaderInstrumentationCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19922,8 +28084,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateShaderInstrumentationARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createShaderInstrumentationARMUnique( ShaderInstrumentationCreateInfoARM const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -19933,16 +28100,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +#endif void destroyShaderInstrumentationARM( ShaderInstrumentationARM instrumentation, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +# endif void destroyShaderInstrumentationARM( ShaderInstrumentationARM instrumentation VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19950,16 +28127,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +#endif void destroy( ShaderInstrumentationARM instrumentation, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyShaderInstrumentationARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyShaderInstrumentationARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyShaderInstrumentationARM ) ) +# endif void destroy( ShaderInstrumentationARM instrumentation, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -19967,8 +28154,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetShaderInstrumentationValuesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderInstrumentationValuesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetShaderInstrumentationValuesARM ) ) +#endif VULKAN_HPP_NODISCARD Result getShaderInstrumentationValuesARM( ShaderInstrumentationARM instrumentation, uint32_t * pMetricBlockCount, void * pMetricValues, @@ -19977,8 +28169,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkClearShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkClearShaderInstrumentationMetricsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkClearShaderInstrumentationMetricsARM ) ) +#endif void clearShaderInstrumentationMetricsARM( ShaderInstrumentationARM instrumentation, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -20167,34 +28364,59 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures ) ) +#endif void getFeatures( PhysicalDeviceFeatures * pFeatures, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceFeatures getFeatures( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties ) ) +#endif void getFormatProperties( Format format, FormatProperties * pFormatProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD FormatProperties getFormatProperties( Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties ) ) +#endif VULKAN_HPP_NODISCARD Result getImageFormatProperties( Format format, ImageType type, ImageTiling tiling, @@ -20205,8 +28427,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageFormatProperties( Format format, ImageType type, @@ -20218,39 +28445,66 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties ) ) +#endif void getProperties( PhysicalDeviceProperties * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceProperties getProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties ) ) +#endif void getQueueFamilyProperties( uint32_t * pQueueFamilyPropertyCount, QueueFamilyProperties * pQueueFamilyProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties( QueueFamilyPropertiesAllocator const & queueFamilyPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -20258,35 +28512,60 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties ) ) +#endif void getMemoryProperties( PhysicalDeviceMemoryProperties * pMemoryProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMemoryProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceMemoryProperties getMemoryProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDevice ) ) +#endif VULKAN_HPP_NODISCARD Result createDevice( DeviceCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Device * pDevice, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDevice ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDevice( DeviceCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDevice ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDeviceUnique( DeviceCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -20296,8 +28575,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumerateDeviceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumerateDeviceExtensionProperties ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateDeviceExtensionProperties( char const * pLayerName, uint32_t * pPropertyCount, ExtensionProperties * pProperties, @@ -20305,19 +28589,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateDeviceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ExtensionPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateDeviceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateDeviceExtensionProperties( Optional layerName VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumerateDeviceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ExtensionPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateDeviceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateDeviceExtensionProperties( Optional layerName, ExtensionPropertiesAllocator const & extensionPropertiesAllocator, @@ -20326,26 +28622,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumerateDeviceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumerateDeviceLayerProperties ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateDeviceLayerProperties( uint32_t * pPropertyCount, LayerProperties * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateDeviceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template LayerPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateDeviceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateDeviceLayerProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumerateDeviceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template LayerPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateDeviceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateDeviceLayerProperties( LayerPropertiesAllocator const & layerPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -20353,8 +28664,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties ) ) +#endif void getSparseImageFormatProperties( Format format, ImageType type, SampleCountFlagBits samples, @@ -20366,11 +28682,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageFormatPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageFormatPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD std::vector getSparseImageFormatProperties( Format format, ImageType type, @@ -20380,11 +28702,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageFormatPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageFormatPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties ) ) +# endif VULKAN_HPP_NODISCARD std::vector getSparseImageFormatProperties( Format format, ImageType type, @@ -20399,167 +28727,278 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFeatures2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2 ) ) +#endif void getFeatures2( PhysicalDeviceFeatures2 * pFeatures, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFeatures2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2 ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceFeatures2 getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceFeatures2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2 ) ) +#endif void getProperties2( PhysicalDeviceProperties2 * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2 ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceProperties2 getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2 ) ) +#endif void getFormatProperties2( Format format, FormatProperties2 * pFormatProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD FormatProperties2 getFormatProperties2( Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getFormatProperties2( Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2 ) ) +#endif VULKAN_HPP_NODISCARD Result getImageFormatProperties2( PhysicalDeviceImageFormatInfo2 const * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageFormatProperties2( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getImageFormatProperties2( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +#endif void getQueueFamilyProperties2( uint32_t * pQueueFamilyPropertyCount, QueueFamilyProperties2 * pQueueFamilyProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2( QueueFamilyProperties2Allocator const & queueFamilyProperties2Allocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2( StructureChainAllocator const & structureChainAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2 ) ) +#endif void getMemoryProperties2( PhysicalDeviceMemoryProperties2 * pMemoryProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2 ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceMemoryProperties2 getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceMemoryProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2 ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2 ) ) +#endif void getSparseImageFormatProperties2( PhysicalDeviceSparseImageFormatInfo2 const * pFormatInfo, uint32_t * pPropertyCount, SparseImageFormatProperties2 * pProperties, @@ -20567,21 +29006,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageFormatProperties2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageFormatProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getSparseImageFormatProperties2( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageFormatProperties2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageFormatProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2 ) ) +# endif VULKAN_HPP_NODISCARD std::vector getSparseImageFormatProperties2( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, SparseImageFormatProperties2Allocator const & sparseImageFormatProperties2Allocator, @@ -20590,48 +29041,78 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferProperties ) ) +#endif void getExternalBufferProperties( PhysicalDeviceExternalBufferInfo const * pExternalBufferInfo, ExternalBufferProperties * pExternalBufferProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalBufferProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferProperties ) ) +# endif VULKAN_HPP_NODISCARD ExternalBufferProperties getExternalBufferProperties( PhysicalDeviceExternalBufferInfo const & externalBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFenceProperties ) ) +#endif void getExternalFenceProperties( PhysicalDeviceExternalFenceInfo const * pExternalFenceInfo, ExternalFenceProperties * pExternalFenceProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalFenceProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFenceProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFenceProperties ) ) +# endif VULKAN_HPP_NODISCARD ExternalFenceProperties getExternalFenceProperties( PhysicalDeviceExternalFenceInfo const & externalFenceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphoreProperties ) ) +#endif void getExternalSemaphoreProperties( PhysicalDeviceExternalSemaphoreInfo const * pExternalSemaphoreInfo, ExternalSemaphoreProperties * pExternalSemaphoreProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalSemaphoreProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphoreProperties ) ) +# endif VULKAN_HPP_NODISCARD ExternalSemaphoreProperties getExternalSemaphoreProperties( PhysicalDeviceExternalSemaphoreInfo const & externalSemaphoreInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -20641,28 +29122,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceToolProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolProperties ) ) +#endif VULKAN_HPP_NODISCARD Result getToolProperties( uint32_t * pToolCount, PhysicalDeviceToolProperties * pToolProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceToolProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceToolPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceToolPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getToolProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceToolProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceToolPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceToolPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getToolProperties( PhysicalDeviceToolPropertiesAllocator const & physicalDeviceToolPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -20672,8 +29170,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceSupportKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Bool32 * pSupported, @@ -20681,32 +29184,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceSupportKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSurfaceSupportKHR( uint32_t queueFamilyIndex, SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfaceCapabilitiesKHR( SurfaceKHR surface, SurfaceCapabilitiesKHR * pSurfaceCapabilities, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSurfaceCapabilitiesKHR( SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormatsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfaceFormatsKHR( SurfaceKHR surface, uint32_t * pSurfaceFormatCount, SurfaceFormatKHR * pSurfaceFormats, @@ -20714,26 +29237,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SurfaceFormatKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormatsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceFormatsKHR( SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SurfaceFormatKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormatsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceFormatsKHR( SurfaceKHR surface, SurfaceFormatKHRAllocator const & surfaceFormatKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfacePresentModesKHR( SurfaceKHR surface, uint32_t * pPresentModeCount, PresentModeKHR * pPresentModes, @@ -20741,18 +29281,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PresentModeKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfacePresentModesKHR( SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PresentModeKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfacePresentModesKHR( SurfaceKHR surface, PresentModeKHRAllocator const & presentModeKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -20761,8 +29311,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDevicePresentRectanglesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getPresentRectanglesKHR( SurfaceKHR surface, uint32_t * pRectCount, Rect2D * pRects, @@ -20770,18 +29325,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Rect2DAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDevicePresentRectanglesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPresentRectanglesKHR( SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template Rect2DAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDevicePresentRectanglesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getPresentRectanglesKHR( SurfaceKHR surface, Rect2DAllocator const & rect2DAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -20790,26 +29355,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayPropertiesKHR( uint32_t * pPropertyCount, DisplayPropertiesKHR * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayPropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPropertiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceDisplayPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayPropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPropertiesKHR( DisplayPropertiesKHRAllocator const & displayPropertiesKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -20817,26 +29399,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlanePropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayPlanePropertiesKHR( uint32_t * pPropertyCount, DisplayPlanePropertiesKHR * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayPlanePropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlanePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPlanePropertiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayPlanePropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlanePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPlanePropertiesKHR( DisplayPlanePropertiesKHRAllocator const & displayPlanePropertiesKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -20844,8 +29443,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneSupportedDisplaysKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, uint32_t * pDisplayCount, DisplayKHR * pDisplays, @@ -20853,26 +29457,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayPlaneSupportedDisplaysKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayPlaneSupportedDisplaysKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, DisplayKHRAllocator const & displayKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayModePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDisplayModePropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayModePropertiesKHR( DisplayKHR display, uint32_t * pPropertyCount, DisplayModePropertiesKHR * pProperties, @@ -20880,18 +29499,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayModePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayModePropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayModePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayModePropertiesKHR( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDisplayModePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayModePropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayModePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayModePropertiesKHR( DisplayKHR display, DisplayModePropertiesKHRAllocator const & displayModePropertiesKHRAllocator, @@ -20899,7 +29530,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDisplayModeKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createDisplayModeKHR( DisplayKHR display, DisplayModeCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, @@ -20907,7 +29543,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayModeKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDisplayModeKHR( DisplayKHR display, DisplayModeCreateInfoKHR const & createInfo, @@ -20915,7 +29556,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayModeKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDisplayModeKHRUnique( DisplayKHR display, DisplayModeCreateInfoKHR const & createInfo, @@ -20926,8 +29572,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayPlaneCapabilitiesKHR( DisplayModeKHR mode, uint32_t planeIndex, DisplayPlaneCapabilitiesKHR * pCapabilities, @@ -20935,8 +29586,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getDisplayPlaneCapabilitiesKHR( DisplayModeKHR mode, uint32_t planeIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -20946,8 +29602,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXlibPresentationSupportKHR ) ) +# endif Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display * dpy, VisualID visualID, @@ -20955,8 +29616,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXlibPresentationSupportKHR ) ) +# endif Bool32 getXlibPresentationSupportKHR( uint32_t queueFamilyIndex, Display & dpy, VisualID visualID, @@ -20969,8 +29635,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXcbPresentationSupportKHR ) ) +# endif Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t * connection, xcb_visualid_t visual_id, @@ -20978,8 +29649,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceXcbPresentationSupportKHR ) ) +# endif Bool32 getXcbPresentationSupportKHR( uint32_t queueFamilyIndex, xcb_connection_t & connection, xcb_visualid_t visual_id, @@ -20992,16 +29668,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceWaylandPresentationSupportKHR ) ) +# endif Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display * display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceWaylandPresentationSupportKHR ) ) +# endif Bool32 getWaylandPresentationSupportKHR( uint32_t queueFamilyIndex, struct wl_display & display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -21013,8 +29699,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceWin32PresentationSupportKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceWin32PresentationSupportKHR ) ) +# endif Bool32 getWin32PresentationSupportKHR( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -21022,33 +29713,53 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoCapabilitiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getVideoCapabilitiesKHR( VideoProfileInfoKHR const * pVideoProfile, VideoCapabilitiesKHR * pCapabilities, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getVideoCapabilitiesKHR( VideoProfileInfoKHR const & videoProfile, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoCapabilitiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoCapabilitiesKHR( VideoProfileInfoKHR const & videoProfile, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const * pVideoFormatInfo, uint32_t * pVideoFormatPropertyCount, VideoFormatPropertiesKHR * pVideoFormatProperties, @@ -21056,40 +29767,66 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template VideoFormatPropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template VideoFormatPropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, VideoFormatPropertiesKHRAllocator const & videoFormatPropertiesKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoFormatPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoFormatPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoFormatPropertiesKHR( PhysicalDeviceVideoFormatInfoKHR const & videoFormatInfo, StructureChainAllocator const & structureChainAllocator, @@ -21100,8 +29837,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalImageFormatPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD Result getExternalImageFormatPropertiesNV( Format format, ImageType type, ImageTiling tiling, @@ -21113,8 +29855,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalImageFormatPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalImageFormatPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getExternalImageFormatPropertiesNV( Format format, ImageType type, @@ -21129,137 +29876,228 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2KHR ) ) +#endif void getFeatures2KHR( PhysicalDeviceFeatures2 * pFeatures, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2KHR ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceFeatures2 getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceFeatures2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFeatures2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2KHR ) ) +#endif void getProperties2KHR( PhysicalDeviceProperties2 * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceProperties2 getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2KHR ) ) +#endif void getFormatProperties2KHR( Format format, FormatProperties2 * pFormatProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD FormatProperties2 getFormatProperties2KHR( Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getFormatProperties2KHR( Format format, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getImageFormatProperties2KHR( PhysicalDeviceImageFormatInfo2 const * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getImageFormatProperties2KHR( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getImageFormatProperties2KHR( PhysicalDeviceImageFormatInfo2 const & imageFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +#endif void getQueueFamilyProperties2KHR( uint32_t * pQueueFamilyPropertyCount, QueueFamilyProperties2 * pQueueFamilyProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator const & queueFamilyProperties2Allocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getQueueFamilyProperties2KHR( StructureChainAllocator const & structureChainAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21267,32 +30105,52 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2KHR ) ) +#endif void getMemoryProperties2KHR( PhysicalDeviceMemoryProperties2 * pMemoryProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD PhysicalDeviceMemoryProperties2 getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkGetPhysicalDeviceMemoryProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMemoryProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD StructureChain getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ) +#endif void getSparseImageFormatProperties2KHR( PhysicalDeviceSparseImageFormatInfo2 const * pFormatInfo, uint32_t * pPropertyCount, SparseImageFormatProperties2 * pProperties, @@ -21300,21 +30158,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageFormatProperties2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageFormatProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getSparseImageFormatProperties2KHR( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSparseImageFormatProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename SparseImageFormatProperties2Allocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SparseImageFormatProperties2Allocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSparseImageFormatProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD std::vector getSparseImageFormatProperties2KHR( PhysicalDeviceSparseImageFormatInfo2 const & formatInfo, SparseImageFormatProperties2Allocator const & sparseImageFormatProperties2Allocator, @@ -21325,16 +30195,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferPropertiesKHR ) ) +#endif void getExternalBufferPropertiesKHR( PhysicalDeviceExternalBufferInfo const * pExternalBufferInfo, ExternalBufferProperties * pExternalBufferProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalBufferPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalBufferPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD ExternalBufferProperties getExternalBufferPropertiesKHR( PhysicalDeviceExternalBufferInfo const & externalBufferInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21343,16 +30223,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ) ) +#endif void getExternalSemaphorePropertiesKHR( PhysicalDeviceExternalSemaphoreInfo const * pExternalSemaphoreInfo, ExternalSemaphoreProperties * pExternalSemaphoreProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD ExternalSemaphoreProperties getExternalSemaphorePropertiesKHR( PhysicalDeviceExternalSemaphoreInfo const & externalSemaphoreInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -21362,22 +30252,42 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD Result releaseDisplayEXT( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type releaseDisplayEXT( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD Result release( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkReleaseDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkReleaseDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type release( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -21386,31 +30296,56 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_acquire_xlib_display === // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireXlibDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD Result acquireXlibDisplayEXT( Display * dpy, DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireXlibDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireXlibDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireXlibDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type acquireXlibDisplayEXT( Display & dpy, DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRandROutputDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD Result getRandROutputDisplayEXT( Display * dpy, RROutput rrOutput, DisplayKHR * pDisplay, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRandROutputDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetRandROutputDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getRandROutputDisplayEXTUnique( Display & dpy, RROutput rrOutput, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -21421,16 +30356,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2EXT ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfaceCapabilities2EXT( SurfaceKHR surface, SurfaceCapabilities2EXT * pSurfaceCapabilities, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2EXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSurfaceCapabilities2EXT( SurfaceKHR surface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21439,16 +30384,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFencePropertiesKHR ) ) +#endif void getExternalFencePropertiesKHR( PhysicalDeviceExternalFenceInfo const * pExternalFenceInfo, ExternalFenceProperties * pExternalFenceProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalFencePropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalFencePropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD ExternalFenceProperties getExternalFencePropertiesKHR( PhysicalDeviceExternalFenceInfo const & externalFenceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21457,8 +30412,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, uint32_t * pCounterCount, @@ -21468,6 +30428,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename PerformanceCounterDescriptionKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, @@ -21475,11 +30436,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PerformanceCounterKHRAllocator = std::allocator, + IsAllocator PerformanceCounterDescriptionKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, std::vector>>::type enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename PerformanceCounterDescriptionKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, @@ -21487,6 +30455,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PerformanceCounterKHRAllocator = std::allocator, + IsAllocator PerformanceCounterDescriptionKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, std::vector>>::type enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex, @@ -21497,16 +30471,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR ) ) +#endif void getQueueFamilyPerformanceQueryPassesKHR( QueryPoolPerformanceCreateInfoKHR const * pPerformanceQueryCreateInfo, uint32_t * pNumPasses, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR ) ) +# endif VULKAN_HPP_NODISCARD uint32_t getQueueFamilyPerformanceQueryPassesKHR( QueryPoolPerformanceCreateInfoKHR const & performanceQueryCreateInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -21516,33 +30500,53 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfaceCapabilities2KHR( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, SurfaceCapabilities2KHR * pSurfaceCapabilities, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getSurfaceCapabilities2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceCapabilities2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceCapabilities2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, uint32_t * pSurfaceFormatCount, SurfaceFormat2KHR * pSurfaceFormats, @@ -21550,38 +30554,64 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SurfaceFormat2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template SurfaceFormat2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, SurfaceFormat2KHRAllocator const & surfaceFormat2KHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfaceFormats2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfaceFormats2KHR( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, StructureChainAllocator const & structureChainAllocator, @@ -21592,26 +30622,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayProperties2KHR( uint32_t * pPropertyCount, DisplayProperties2KHR * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayProperties2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceDisplayProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayProperties2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayProperties2KHR( DisplayProperties2KHRAllocator const & displayProperties2KHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21619,26 +30666,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlaneProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayPlaneProperties2KHR( uint32_t * pPropertyCount, DisplayPlaneProperties2KHR * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayPlaneProperties2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlaneProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPlaneProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDisplayPlaneProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayPlaneProperties2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceDisplayPlaneProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayPlaneProperties2KHR( DisplayPlaneProperties2KHRAllocator const & displayPlaneProperties2KHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21646,8 +30710,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayModeProperties2KHR( DisplayKHR display, uint32_t * pPropertyCount, DisplayModeProperties2KHR * pProperties, @@ -21655,54 +30724,90 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayModeProperties2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayModeProperties2KHR( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DisplayModeProperties2KHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayModeProperties2KHR( DisplayKHR display, DisplayModeProperties2KHRAllocator const & displayModeProperties2KHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayModeProperties2KHR( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetDisplayModeProperties2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayModeProperties2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template StructureChainAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetDisplayModeProperties2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDisplayModeProperties2KHR( DisplayKHR display, StructureChainAllocator const & structureChainAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilities2KHR ) ) +#endif VULKAN_HPP_NODISCARD Result getDisplayPlaneCapabilities2KHR( DisplayPlaneInfo2KHR const * pDisplayPlaneInfo, DisplayPlaneCapabilities2KHR * pCapabilities, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDisplayPlaneCapabilities2KHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDisplayPlaneCapabilities2KHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getDisplayPlaneCapabilities2KHR( DisplayPlaneInfo2KHR const & displayPlaneInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21711,24 +30816,39 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDescriptorSizeEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDescriptorSizeEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDescriptorSizeEXT ) ) +#endif DeviceSize getDescriptorSizeEXT( DescriptorType descriptorType, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; //=== VK_EXT_sample_locations === // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMultisamplePropertiesEXT ) ) +#endif void getMultisamplePropertiesEXT( SampleCountFlagBits samples, MultisamplePropertiesEXT * pMultisampleProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceMultisamplePropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceMultisamplePropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD MultisamplePropertiesEXT getMultisamplePropertiesEXT( SampleCountFlagBits samples, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -21737,26 +30857,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getCalibrateableTimeDomainsEXT( uint32_t * pTimeDomainCount, TimeDomainKHR * pTimeDomains, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template TimeDomainKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCalibrateableTimeDomainsEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template TimeDomainKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCalibrateableTimeDomainsEXT( TimeDomainKHRAllocator const & timeDomainKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21766,30 +30901,49 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceFragmentShadingRatesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getFragmentShadingRatesKHR( uint32_t * pFragmentShadingRateCount, PhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceFragmentShadingRateKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template < + IsAllocator PhysicalDeviceFragmentShadingRateKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceFragmentShadingRatesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getFragmentShadingRatesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceFragmentShadingRatesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFragmentShadingRatesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceFragmentShadingRateKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template < + IsAllocator PhysicalDeviceFragmentShadingRateKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceFragmentShadingRatesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getFragmentShadingRatesKHR( PhysicalDeviceFragmentShadingRateKHRAllocator const & physicalDeviceFragmentShadingRateKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21799,28 +30953,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolPropertiesEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getToolPropertiesEXT( uint32_t * pToolCount, PhysicalDeviceToolProperties * pToolProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceToolPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceToolPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getToolPropertiesEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceToolPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceToolPropertiesEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceToolPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceToolPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceToolPropertiesEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getToolPropertiesEXT( PhysicalDeviceToolPropertiesAllocator const & physicalDeviceToolPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21830,28 +31001,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD Result getCooperativeMatrixPropertiesNV( uint32_t * pPropertyCount, CooperativeMatrixPropertiesNV * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeMatrixPropertiesNVAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeMatrixPropertiesNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeMatrixPropertiesNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeMatrixPropertiesNVAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeMatrixPropertiesNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeMatrixPropertiesNV( CooperativeMatrixPropertiesNVAllocator const & cooperativeMatrixPropertiesNVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21861,8 +31049,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV ) ) +#endif VULKAN_HPP_NODISCARD Result getSupportedFramebufferMixedSamplesCombinationsNV( uint32_t * pCombinationCount, FramebufferMixedSamplesCombinationNV * pCombinations, @@ -21870,22 +31063,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename FramebufferMixedSamplesCombinationNVAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template < + IsAllocator FramebufferMixedSamplesCombinationNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSupportedFramebufferMixedSamplesCombinationsNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename FramebufferMixedSamplesCombinationNVAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template < + IsAllocator FramebufferMixedSamplesCombinationNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSupportedFramebufferMixedSamplesCombinationsNV( FramebufferMixedSamplesCombinationNVAllocator const & framebufferMixedSamplesCombinationNVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21896,8 +31103,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD Result getSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const * pSurfaceInfo, uint32_t * pPresentModeCount, PresentModeKHR * pPresentModes, @@ -21905,18 +31117,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PresentModeKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceSurfacePresentModes2EXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfacePresentModes2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PresentModeKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceSurfacePresentModes2EXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getSurfacePresentModes2EXT( PhysicalDeviceSurfaceInfo2KHR const & surfaceInfo, PresentModeKHRAllocator const & presentModeKHRAllocator, @@ -21928,31 +31150,56 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD Result acquireDrmDisplayEXT( int32_t drmFd, DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #else // wrapper function for command vkAcquireDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type acquireDrmDisplayEXT( int32_t drmFd, DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetDrmDisplayEXT ) ) +#endif VULKAN_HPP_NODISCARD Result getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId, DisplayKHR * display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getDrmDisplayEXT( int32_t drmFd, uint32_t connectorId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetDrmDisplayEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getDrmDisplayEXTUnique( int32_t drmFd, uint32_t connectorId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -21962,8 +31209,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getVideoEncodeQualityLevelPropertiesKHR( PhysicalDeviceVideoEncodeQualityLevelInfoKHR const * pQualityLevelInfo, VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties, @@ -21971,18 +31223,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getVideoEncodeQualityLevelPropertiesKHR( PhysicalDeviceVideoEncodeQualityLevelInfoKHR const & qualityLevelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getVideoEncodeQualityLevelPropertiesKHR( PhysicalDeviceVideoEncodeQualityLevelInfoKHR const & qualityLevelInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -21993,29 +31255,54 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD Result acquireWinrtDisplayNV( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # else // wrapper function for command vkAcquireWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkAcquireWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType::type acquireWinrtDisplayNV( DisplayKHR display, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD Result getWinrtDisplayNV( uint32_t deviceRelativeId, DisplayKHR * pDisplay, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getWinrtDisplayNV( uint32_t deviceRelativeId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetWinrtDisplayNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getWinrtDisplayNVUnique( uint32_t deviceRelativeId, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # endif /* VULKAN_HPP_NO_SMART_HANDLE */ @@ -22027,16 +31314,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDirectFBPresentationSupportEXT ) ) +# endif Bool32 getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB * dfb, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceDirectFBPresentationSupportEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceDirectFBPresentationSupportEXT ) ) +# endif Bool32 getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -22048,16 +31345,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceScreenPresentationSupportQNX ) ) +# endif Bool32 getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window * window, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceScreenPresentationSupportQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceScreenPresentationSupportQNX ) ) +# endif Bool32 getScreenPresentationSupportQNX( uint32_t queueFamilyIndex, struct _screen_window & window, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -22068,16 +31375,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceExternalTensorPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalTensorPropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalTensorPropertiesARM ) ) +#endif void getExternalTensorPropertiesARM( PhysicalDeviceExternalTensorInfoARM const * pExternalTensorInfo, ExternalTensorPropertiesARM * pExternalTensorProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceExternalTensorPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceExternalTensorPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceExternalTensorPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD ExternalTensorPropertiesARM getExternalTensorPropertiesARM( PhysicalDeviceExternalTensorInfoARM const & externalTensorInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -22086,8 +31403,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceOpticalFlowImageFormatsNV ) ) +#endif VULKAN_HPP_NODISCARD Result getOpticalFlowImageFormatsNV( OpticalFlowImageFormatInfoNV const * pOpticalFlowImageFormatInfo, uint32_t * pFormatCount, OpticalFlowImageFormatPropertiesNV * pImageFormatProperties, @@ -22095,21 +31417,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template OpticalFlowImageFormatPropertiesNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceOpticalFlowImageFormatsNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getOpticalFlowImageFormatsNV( OpticalFlowImageFormatInfoNV const & opticalFlowImageFormatInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceOpticalFlowImageFormatsNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceOpticalFlowImageFormatsNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template OpticalFlowImageFormatPropertiesNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceOpticalFlowImageFormatsNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getOpticalFlowImageFormatsNV( OpticalFlowImageFormatInfoNV const & opticalFlowImageFormatInfo, OpticalFlowImageFormatPropertiesNVAllocator const & opticalFlowImageFormatPropertiesNVAllocator, @@ -22120,28 +31454,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD Result getCooperativeVectorPropertiesNV( uint32_t * pPropertyCount, CooperativeVectorPropertiesNV * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeVectorPropertiesNVAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeVectorPropertiesNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeVectorPropertiesNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceCooperativeVectorPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeVectorPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeVectorPropertiesNVAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeVectorPropertiesNVAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeVectorPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeVectorPropertiesNV( CooperativeVectorPropertiesNVAllocator const & cooperativeVectorPropertiesNVAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -22151,28 +31502,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getCooperativeMatrixPropertiesKHR( uint32_t * pPropertyCount, CooperativeMatrixPropertiesKHR * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeMatrixPropertiesKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeMatrixPropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeMatrixPropertiesKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename CooperativeMatrixPropertiesKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeMatrixPropertiesKHRAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeMatrixPropertiesKHR( CooperativeMatrixPropertiesKHRAllocator const & cooperativeMatrixPropertiesKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -22182,8 +31550,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD Result getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex, uint32_t * pQueueFamilyDataGraphPropertyCount, QueueFamilyDataGraphPropertiesARM * pQueueFamilyDataGraphProperties, @@ -22191,20 +31564,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyDataGraphPropertiesARMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template QueueFamilyDataGraphPropertiesARMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getQueueFamilyDataGraphPropertiesARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARMAllocator const & queueFamilyDataGraphPropertiesARMAllocator, @@ -22213,8 +31598,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM ) ) +#endif void getQueueFamilyDataGraphProcessingEnginePropertiesARM( PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM const * pQueueFamilyDataGraphProcessingEngineInfo, QueueFamilyDataGraphProcessingEnginePropertiesARM * pQueueFamilyDataGraphProcessingEngineProperties, @@ -22222,8 +31612,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD QueueFamilyDataGraphProcessingEnginePropertiesARM getQueueFamilyDataGraphProcessingEnginePropertiesARM( PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM const & queueFamilyDataGraphProcessingEngineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -22233,8 +31628,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM ) ) +#endif VULKAN_HPP_NODISCARD Result getQueueFamilyDataGraphEngineOperationPropertiesARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARM const * pQueueFamilyDataGraphProperties, @@ -22243,8 +31643,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type getQueueFamilyDataGraphEngineOperationPropertiesARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARM const & queueFamilyDataGraphProperties, @@ -22255,26 +31660,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result getCalibrateableTimeDomainsKHR( uint32_t * pTimeDomainCount, TimeDomainKHR * pTimeDomains, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template TimeDomainKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCalibrateableTimeDomainsKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCalibrateableTimeDomainsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template TimeDomainKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCalibrateableTimeDomainsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCalibrateableTimeDomainsKHR( TimeDomainKHRAllocator const & timeDomainKHRAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -22284,8 +31704,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) ) +#endif VULKAN_HPP_NODISCARD Result getCooperativeMatrixFlexibleDimensionsPropertiesNV( uint32_t * pPropertyCount, CooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties, @@ -22293,23 +31718,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeMatrixFlexibleDimensionsPropertiesNV( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template CooperativeMatrixFlexibleDimensionsPropertiesNVAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getCooperativeMatrixFlexibleDimensionsPropertiesNV( @@ -22321,8 +31760,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateQueueFamilyPerformanceCountersByRegionARM( uint32_t queueFamilyIndex, uint32_t * pCounterCount, @@ -22332,6 +31776,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename PerformanceCounterDescriptionARMAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, @@ -22339,11 +31784,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PerformanceCounterARMAllocator = std::allocator, + IsAllocator PerformanceCounterDescriptionARMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, std::vector>>::type enumerateQueueFamilyPerformanceCountersByRegionARM( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename PerformanceCounterDescriptionARMAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, @@ -22351,6 +31803,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PerformanceCounterARMAllocator = std::allocator, + IsAllocator PerformanceCounterDescriptionARMAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType, std::vector>>::type enumerateQueueFamilyPerformanceCountersByRegionARM( uint32_t queueFamilyIndex, @@ -22363,8 +31821,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateShaderInstrumentationMetricsARM( uint32_t * pDescriptionCount, ShaderInstrumentationMetricDescriptionARM * pDescriptions, @@ -22372,23 +31835,37 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if< std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ShaderInstrumentationMetricDescriptionARMAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateShaderInstrumentationMetricsARM( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if< std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ShaderInstrumentationMetricDescriptionARMAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateShaderInstrumentationMetricsARM( ShaderInstrumentationMetricDescriptionARMAllocator const & shaderInstrumentationMetricDescriptionARMAllocator, @@ -22399,8 +31876,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM ) ) +#endif VULKAN_HPP_NODISCARD Result getQueueFamilyDataGraphOpticalFlowImageFormatsARM( uint32_t queueFamilyIndex, QueueFamilyDataGraphPropertiesARM const * pQueueFamilyDataGraphProperties, @@ -22411,12 +31893,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if< std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataGraphOpticalFlowImageFormatPropertiesARMAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getQueueFamilyDataGraphOpticalFlowImageFormatsARM( uint32_t queueFamilyIndex, @@ -22425,12 +31914,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if< std::is_same::value, int>::type = 0, typename std::enable_if::type = true> +# else + template DataGraphOpticalFlowImageFormatPropertiesARMAllocator = + std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type getQueueFamilyDataGraphOpticalFlowImageFormatsARM( @@ -22441,21 +31937,82 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_EXT_cooperative_matrix_maintenance1 === + + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html +#if VULKAN_HPP_CPP_VERSION < 20 + template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) ) +#endif + VULKAN_HPP_NODISCARD Result getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const * pCooperativeMatrixInfo, + uint32_t * pPropertyCount, + CooperativeMatrixProperties2EXT * pProperties, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 + template , + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, + typename std::enable_if::value, + int>::type = 0, + typename std::enable_if::type = true> +# else + template CooperativeMatrixProperties2EXTAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType>::type + getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & cooperativeMatrixInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html +# if VULKAN_HPP_CPP_VERSION < 20 + template , + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, + typename std::enable_if::value, + int>::type = 0, + typename std::enable_if::type = true> +# else + template CooperativeMatrixProperties2EXTAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkGetPhysicalDeviceCooperativeMatrixProperties2EXT ) ) +# endif + VULKAN_HPP_NODISCARD typename ResultValueType>::type + getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & cooperativeMatrixInfo, + CooperativeMatrixProperties2EXTAllocator const & cooperativeMatrixProperties2EXTAllocator, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === // wrapper function for command vkGetPhysicalDeviceUbmPresentationSupportSEC, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceUbmPresentationSupportSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceUbmPresentationSupportSEC ) ) +# endif Bool32 getUbmPresentationSupportSEC( uint32_t queueFamilyIndex, struct ubm_device * device, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetPhysicalDeviceUbmPresentationSupportSEC, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceUbmPresentationSupportSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetPhysicalDeviceUbmPresentationSupportSEC ) ) +# endif VULKAN_HPP_NODISCARD std::pair getUbmPresentationSupportSEC( uint32_t queueFamilyIndex, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -22554,43 +32111,78 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkDestroyInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyInstance ) ) +#endif void destroy( AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyInstance.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyInstance ) ) +# endif void destroy( Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDevices ) ) +#endif VULKAN_HPP_NODISCARD Result enumeratePhysicalDevices( uint32_t * pPhysicalDeviceCount, PhysicalDevice * pPhysicalDevices, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDevices ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumeratePhysicalDevices( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDevices ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumeratePhysicalDevices( PhysicalDeviceAllocator const & physicalDeviceAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkGetInstanceProcAddr ) ) +#endif PFN_vkVoidFunction getProcAddr( char const * pName, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkGetInstanceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetInstanceProcAddr.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkGetInstanceProcAddr ) ) +# endif PFN_VoidFunction getProcAddr( std::string const & name, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -22598,28 +32190,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceGroups, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroups ) ) +#endif VULKAN_HPP_NODISCARD Result enumeratePhysicalDeviceGroups( uint32_t * pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceGroups, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceGroupPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceGroupPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroups ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumeratePhysicalDeviceGroups( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumeratePhysicalDeviceGroups, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroups.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceGroupPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceGroupPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroups ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumeratePhysicalDeviceGroups( PhysicalDeviceGroupPropertiesAllocator const & physicalDeviceGroupPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -22628,26 +32237,46 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_surface === // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +#endif void destroySurfaceKHR( SurfaceKHR surface, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +# endif void destroySurfaceKHR( SurfaceKHR surface VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +#endif void destroy( SurfaceKHR surface, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroySurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroySurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroySurfaceKHR ) ) +# endif void destroy( SurfaceKHR surface, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -22657,8 +32286,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDisplayPlaneSurfaceKHR ) ) +#endif VULKAN_HPP_NODISCARD Result createDisplayPlaneSurfaceKHR( DisplaySurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, @@ -22666,8 +32300,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayPlaneSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDisplayPlaneSurfaceKHR( DisplaySurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22675,8 +32314,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayPlaneSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDisplayPlaneSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDisplayPlaneSurfaceKHRUnique( DisplaySurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22688,21 +32332,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_xlib_surface === // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateXlibSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD Result createXlibSurfaceKHR( XlibSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateXlibSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createXlibSurfaceKHR( XlibSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateXlibSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXlibSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateXlibSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createXlibSurfaceKHRUnique( XlibSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22715,21 +32374,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_xcb_surface === // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateXcbSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD Result createXcbSurfaceKHR( XcbSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateXcbSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createXcbSurfaceKHR( XcbSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateXcbSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateXcbSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateXcbSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createXcbSurfaceKHRUnique( XcbSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22742,21 +32416,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_wayland_surface === // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateWaylandSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD Result createWaylandSurfaceKHR( WaylandSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateWaylandSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createWaylandSurfaceKHR( WaylandSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateWaylandSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWaylandSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateWaylandSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createWaylandSurfaceKHRUnique( WaylandSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22769,21 +32458,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_android_surface === // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAndroidSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD Result createAndroidSurfaceKHR( AndroidSurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAndroidSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createAndroidSurfaceKHR( AndroidSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateAndroidSurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateAndroidSurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateAndroidSurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createAndroidSurfaceKHRUnique( AndroidSurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22796,21 +32500,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_KHR_win32_surface === // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateWin32SurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD Result createWin32SurfaceKHR( Win32SurfaceCreateInfoKHR const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateWin32SurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createWin32SurfaceKHR( Win32SurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateWin32SurfaceKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateWin32SurfaceKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateWin32SurfaceKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createWin32SurfaceKHRUnique( Win32SurfaceCreateInfoKHR const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22823,8 +32542,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDebugReportCallbackEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createDebugReportCallbackEXT( DebugReportCallbackCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, DebugReportCallbackEXT * pCallback, @@ -22832,8 +32556,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDebugReportCallbackEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDebugReportCallbackEXT( DebugReportCallbackCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22841,8 +32570,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDebugReportCallbackEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDebugReportCallbackEXTUnique( DebugReportCallbackCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22852,16 +32586,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +#endif void destroyDebugReportCallbackEXT( DebugReportCallbackEXT callback, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +# endif void destroyDebugReportCallbackEXT( DebugReportCallbackEXT callback VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -22869,23 +32613,38 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +#endif void destroy( DebugReportCallbackEXT callback, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugReportCallbackEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugReportCallbackEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugReportCallbackEXT ) ) +# endif void destroy( DebugReportCallbackEXT callback, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDebugReportMessageEXT ) ) +#endif void debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, @@ -22896,7 +32655,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDebugReportMessageEXT ) ) +# endif void debugReportMessageEXT( DebugReportFlagsEXT flags, DebugReportObjectTypeEXT objectType, uint64_t object, @@ -22912,8 +32676,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateStreamDescriptorSurfaceGGP ) ) +# endif VULKAN_HPP_NODISCARD Result createStreamDescriptorSurfaceGGP( StreamDescriptorSurfaceCreateInfoGGP const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, @@ -22921,8 +32690,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateStreamDescriptorSurfaceGGP ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createStreamDescriptorSurfaceGGP( StreamDescriptorSurfaceCreateInfoGGP const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22930,8 +32704,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateStreamDescriptorSurfaceGGP, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateStreamDescriptorSurfaceGGP.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateStreamDescriptorSurfaceGGP ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createStreamDescriptorSurfaceGGPUnique( StreamDescriptorSurfaceCreateInfoGGP const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22944,21 +32723,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_NN_vi_surface === // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateViSurfaceNN ) ) +# endif VULKAN_HPP_NODISCARD Result createViSurfaceNN( ViSurfaceCreateInfoNN const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateViSurfaceNN ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createViSurfaceNN( ViSurfaceCreateInfoNN const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateViSurfaceNN, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateViSurfaceNN.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateViSurfaceNN ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createViSurfaceNNUnique( ViSurfaceCreateInfoNN const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -22971,28 +32765,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroupsKHR ) ) +#endif VULKAN_HPP_NODISCARD Result enumeratePhysicalDeviceGroupsKHR( uint32_t * pPhysicalDeviceGroupCount, PhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceGroupPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceGroupPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroupsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumeratePhysicalDeviceGroupsKHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; // wrapper function for command vkEnumeratePhysicalDeviceGroupsKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html +# if VULKAN_HPP_CPP_VERSION < 20 template < typename PhysicalDeviceGroupPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template PhysicalDeviceGroupPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumeratePhysicalDeviceGroupsKHR ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumeratePhysicalDeviceGroupsKHR( PhysicalDeviceGroupPropertiesAllocator const & physicalDeviceGroupPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; @@ -23002,21 +32813,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_MVK_ios_surface === // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD Result createIOSSurfaceMVK( IOSSurfaceCreateInfoMVK const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createIOSSurfaceMVK( IOSSurfaceCreateInfoMVK const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateIOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateIOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateIOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createIOSSurfaceMVKUnique( IOSSurfaceCreateInfoMVK const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23029,21 +32855,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_MVK_macos_surface === // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMacOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD Result createMacOSSurfaceMVK( MacOSSurfaceCreateInfoMVK const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMacOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createMacOSSurfaceMVK( MacOSSurfaceCreateInfoMVK const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateMacOSSurfaceMVK, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMacOSSurfaceMVK.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMacOSSurfaceMVK ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createMacOSSurfaceMVKUnique( MacOSSurfaceCreateInfoMVK const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23056,8 +32897,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateDebugUtilsMessengerEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createDebugUtilsMessengerEXT( DebugUtilsMessengerCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, DebugUtilsMessengerEXT * pMessenger, @@ -23065,8 +32911,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDebugUtilsMessengerEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDebugUtilsMessengerEXT( DebugUtilsMessengerCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23074,8 +32925,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDebugUtilsMessengerEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDebugUtilsMessengerEXTUnique( DebugUtilsMessengerCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23085,16 +32941,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +#endif void destroyDebugUtilsMessengerEXT( DebugUtilsMessengerEXT messenger, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +# endif void destroyDebugUtilsMessengerEXT( DebugUtilsMessengerEXT messenger VULKAN_HPP_DEFAULT_ASSIGNMENT( {} ), Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -23102,16 +32968,26 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +#endif void destroy( DebugUtilsMessengerEXT messenger, AllocationCallbacks const * pAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkDestroyDebugUtilsMessengerEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyDebugUtilsMessengerEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkDestroyDebugUtilsMessengerEXT ) ) +# endif void destroy( DebugUtilsMessengerEXT messenger, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; @@ -23119,7 +32995,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkSubmitDebugUtilsMessageEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkSubmitDebugUtilsMessageEXT ) ) +#endif void submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, DebugUtilsMessengerCallbackDataEXT const * pCallbackData, @@ -23127,7 +33008,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkSubmitDebugUtilsMessageEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSubmitDebugUtilsMessageEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkSubmitDebugUtilsMessageEXT ) ) +# endif void submitDebugUtilsMessageEXT( DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageTypes, DebugUtilsMessengerCallbackDataEXT const & callbackData, @@ -23139,8 +33025,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImagePipeSurfaceFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD Result createImagePipeSurfaceFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, @@ -23148,8 +33039,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImagePipeSurfaceFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createImagePipeSurfaceFUCHSIA( ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23157,8 +33053,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateImagePipeSurfaceFUCHSIA, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImagePipeSurfaceFUCHSIA.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateImagePipeSurfaceFUCHSIA ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createImagePipeSurfaceFUCHSIAUnique( ImagePipeSurfaceCreateInfoFUCHSIA const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23171,21 +33072,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_metal_surface === // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMetalSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD Result createMetalSurfaceEXT( MetalSurfaceCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMetalSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createMetalSurfaceEXT( MetalSurfaceCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateMetalSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateMetalSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateMetalSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createMetalSurfaceEXTUnique( MetalSurfaceCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23197,21 +33113,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_headless_surface === // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) ) +#endif VULKAN_HPP_NODISCARD Result createHeadlessSurfaceEXT( HeadlessSurfaceCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createHeadlessSurfaceEXT( HeadlessSurfaceCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateHeadlessSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateHeadlessSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateHeadlessSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createHeadlessSurfaceEXTUnique( HeadlessSurfaceCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23223,21 +33154,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_directfb_surface === // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDirectFBSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD Result createDirectFBSurfaceEXT( DirectFBSurfaceCreateInfoEXT const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDirectFBSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createDirectFBSurfaceEXT( DirectFBSurfaceCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateDirectFBSurfaceEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDirectFBSurfaceEXT.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateDirectFBSurfaceEXT ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createDirectFBSurfaceEXTUnique( DirectFBSurfaceCreateInfoEXT const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23250,21 +33196,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_QNX_screen_surface === // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateScreenSurfaceQNX ) ) +# endif VULKAN_HPP_NODISCARD Result createScreenSurfaceQNX( ScreenSurfaceCreateInfoQNX const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateScreenSurfaceQNX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createScreenSurfaceQNX( ScreenSurfaceCreateInfoQNX const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateScreenSurfaceQNX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateScreenSurfaceQNX.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateScreenSurfaceQNX ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createScreenSurfaceQNXUnique( ScreenSurfaceCreateInfoQNX const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23277,21 +33238,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_OHOS_surface === // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSurfaceOHOS ) ) +# endif VULKAN_HPP_NODISCARD Result createSurfaceOHOS( SurfaceCreateInfoOHOS const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSurfaceOHOS ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createSurfaceOHOS( SurfaceCreateInfoOHOS const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateSurfaceOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSurfaceOHOS.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateSurfaceOHOS ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createSurfaceOHOSUnique( SurfaceCreateInfoOHOS const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23304,21 +33280,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_SEC_ubm_surface === // wrapper function for command vkCreateUbmSurfaceSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateUbmSurfaceSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateUbmSurfaceSEC ) ) +# endif VULKAN_HPP_NODISCARD Result createUbmSurfaceSEC( UbmSurfaceCreateInfoSEC const * pCreateInfo, AllocationCallbacks const * pAllocator, SurfaceKHR * pSurface, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; # ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateUbmSurfaceSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateUbmSurfaceSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateUbmSurfaceSEC ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createUbmSurfaceSEC( UbmSurfaceCreateInfoSEC const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateUbmSurfaceSEC, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateUbmSurfaceSEC.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateUbmSurfaceSEC ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createUbmSurfaceSECUnique( UbmSurfaceCreateInfoSEC const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23375,21 +33366,36 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_0 === // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkCreateInstance ) ) +#endif VULKAN_HPP_NODISCARD Result createInstance( InstanceCreateInfo const * pCreateInfo, AllocationCallbacks const * pAllocator, Instance * pInstance, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateInstance ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type createInstance( InstanceCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ); # ifndef VULKAN_HPP_NO_SMART_HANDLE // wrapper function for command vkCreateInstance, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateInstance.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkCreateInstance ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type createInstanceUnique( InstanceCreateInfo const & createInfo, Optional allocator VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), @@ -23399,26 +33405,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumerateInstanceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumerateInstanceExtensionProperties ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateInstanceExtensionProperties( char const * pLayerName, uint32_t * pPropertyCount, ExtensionProperties * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateInstanceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ExtensionPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateInstanceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateInstanceExtensionProperties( Optional layerName VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ), Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ); // wrapper function for command vkEnumerateInstanceExtensionProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template ExtensionPropertiesAllocator = std::allocator, + typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateInstanceExtensionProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateInstanceExtensionProperties( Optional layerName, ExtensionPropertiesAllocator const & extensionPropertiesAllocator, @@ -23427,25 +33450,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkEnumerateInstanceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumerateInstanceLayerProperties ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateInstanceLayerProperties( uint32_t * pPropertyCount, LayerProperties * pProperties, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateInstanceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template LayerPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateInstanceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateInstanceLayerProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ); // wrapper function for command vkEnumerateInstanceLayerProperties, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceLayerProperties.html +# if VULKAN_HPP_CPP_VERSION < 20 template , typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if::value, int>::type = 0, typename std::enable_if::type = true> +# else + template LayerPropertiesAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + requires( IS_DISPATCHED( vkEnumerateInstanceLayerProperties ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType>::type enumerateInstanceLayerProperties( LayerPropertiesAllocator const & layerPropertiesAllocator, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ); #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ @@ -23453,79 +33491,133 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_VERSION_1_1 === // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html +#if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +#else + template + requires( IS_DISPATCHED( vkEnumerateInstanceVersion ) ) +#endif VULKAN_HPP_NODISCARD Result enumerateInstanceVersion( uint32_t * pApiVersion, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE // wrapper function for command vkEnumerateInstanceVersion, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceVersion.html +# if VULKAN_HPP_CPP_VERSION < 20 template ::type = true> +# else + template + requires( IS_DISPATCHED( vkEnumerateInstanceVersion ) ) +# endif VULKAN_HPP_NODISCARD typename ResultValueType::type enumerateInstanceVersion( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ); #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ // operators to compare VULKAN_HPP_NAMESPACE::-handles +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template +#endif bool operator==( T const & lhs, T const & rhs ) { return static_cast( lhs ) == static_cast( rhs ); } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template +#endif bool operator!=( T const & lhs, T const & rhs ) { return static_cast( lhs ) != static_cast( rhs ); } #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template +# endif auto operator<=>( T const & lhs, T const & rhs ) { return static_cast( lhs ) <=> static_cast( rhs ); } #else +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template +# endif bool operator<( T const & lhs, T const & rhs ) { return static_cast( lhs ) < static_cast( rhs ); } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template +# endif bool operator<=( T const & lhs, T const & rhs ) { return static_cast( lhs ) <= static_cast( rhs ); } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template +# endif bool operator>( T const & lhs, T const & rhs ) { return static_cast( lhs ) > static_cast( rhs ); } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +# else + template +# endif bool operator>=( T const & lhs, T const & rhs ) { return static_cast( lhs ) >= static_cast( rhs ); } #endif +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template +#endif bool operator==( T const & v, std::nullptr_t ) { return !v; } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template +#endif bool operator==( std::nullptr_t, T const & v ) { return !v; } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template +#endif bool operator!=( T const & v, std::nullptr_t ) { return !!v; } +#if VULKAN_HPP_CPP_VERSION < 20 template ::value, int>::type = 0> +#else + template +#endif bool operator!=( std::nullptr_t, T const & v ) { return !!v; diff --git a/third_party/vulkan/include/vulkan/vulkan_hash.hpp b/third_party/vulkan/include/vulkan/vulkan_hash.hpp index d86534982..51d880e63 100644 --- a/third_party/vulkan/include/vulkan/vulkan_hash.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_hash.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -393,6 +392,17 @@ VULKAN_HPP_EXPORT namespace std } }; + //=== VK_AMD_gpa_interface === + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaSessionAMD const & gpaSessionAMD ) const VULKAN_HPP_NOEXCEPT + { + return std::hash{}( static_cast( gpaSessionAMD ) ); + } + }; + //=== VK_EXT_descriptor_heap === template <> @@ -842,6 +852,38 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::MicromapUsageKHR const & micromapUsageKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, micromapUsageKHR.count ); + VULKAN_HPP_HASH_COMBINE( seed, micromapUsageKHR.subdivisionLevel ); + VULKAN_HPP_HASH_COMBINE( seed, micromapUsageKHR.format ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryMicromapDataKHR const & accelerationStructureGeometryMicromapDataKHR ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.usageCountsCount ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.pUsageCounts ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.ppUsageCounts ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.data ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.triangleArray ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureGeometryMicromapDataKHR.triangleArrayStride ); + return seed; + } + }; + template <> struct hash { @@ -979,6 +1021,24 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureTrianglesOpacityMicromapKHR const & accelerationStructureTrianglesOpacityMicromapKHR ) + const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.indexType ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.indexBuffer ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.indexStride ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.baseTriangle ); + VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureTrianglesOpacityMicromapKHR.micromap ); + return seed; + } + }; + template <> struct hash { @@ -2196,6 +2256,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferDeviceAddressAlignmentAllocateInfoVALVE const & bufferDeviceAddressAlignmentAllocateInfoVALVE ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressAlignmentAllocateInfoVALVE.sType ); + VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressAlignmentAllocateInfoVALVE.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, bufferDeviceAddressAlignmentAllocateInfoVALVE.alignment ); + return seed; + } + }; + template <> struct hash { @@ -3063,6 +3137,25 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::CooperativeMatrixProperties2EXT const & cooperativeMatrixProperties2EXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.MGranularity ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.NGranularity ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.KGranularity ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.AType ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.BType ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.CType ); + VULKAN_HPP_HASH_COMBINE( seed, cooperativeMatrixProperties2EXT.ResultType ); + return seed; + } + }; + template <> struct hash { @@ -6785,6 +6878,21 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::FormatProperties4KHR const & formatProperties4KHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, formatProperties4KHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, formatProperties4KHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, formatProperties4KHR.linearTilingFeatures ); + VULKAN_HPP_HASH_COMBINE( seed, formatProperties4KHR.optimalTilingFeatures ); + VULKAN_HPP_HASH_COMBINE( seed, formatProperties4KHR.bufferFeatures ); + return seed; + } + }; + template <> struct hash { @@ -7062,6 +7170,106 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaDeviceClockModeInfoAMD const & gpaDeviceClockModeInfoAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceClockModeInfoAMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceClockModeInfoAMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceClockModeInfoAMD.clockMode ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceClockModeInfoAMD.memoryClockRatioToPeak ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceClockModeInfoAMD.engineClockRatioToPeak ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaDeviceGetClockInfoAMD const & gpaDeviceGetClockInfoAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceGetClockInfoAMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceGetClockInfoAMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceGetClockInfoAMD.memoryClockRatioToPeak ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceGetClockInfoAMD.engineClockRatioToPeak ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceGetClockInfoAMD.memoryClockFrequency ); + VULKAN_HPP_HASH_COMBINE( seed, gpaDeviceGetClockInfoAMD.engineClockFrequency ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaPerfBlockPropertiesAMD const & gpaPerfBlockPropertiesAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.blockType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.flags ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.instanceCount ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.maxEventID ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.maxGlobalOnlyCounters ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.maxGlobalSharedCounters ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfBlockPropertiesAMD.maxStreamingCounters ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaPerfCounterAMD const & gpaPerfCounterAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfCounterAMD.blockType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfCounterAMD.blockInstance ); + VULKAN_HPP_HASH_COMBINE( seed, gpaPerfCounterAMD.eventID ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaSampleBeginInfoAMD const & gpaSampleBeginInfoAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sampleType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sampleInternalOperations ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.cacheFlushOnCounterCollection ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sqShaderMaskEnable ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sqShaderMask ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.perfCounterCount ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.pPerfCounters ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.streamingPerfTraceSampleInterval ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.perfCounterDeviceMemoryLimit ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sqThreadTraceEnable ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sqThreadTraceSuppressInstructionTokens ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.sqThreadTraceDeviceMemoryLimit ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.timingPreSample ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSampleBeginInfoAMD.timingPostSample ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::GpaSessionCreateInfoAMD const & gpaSessionCreateInfoAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, gpaSessionCreateInfoAMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSessionCreateInfoAMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, gpaSessionCreateInfoAMD.secondaryCopySource ); + return seed; + } + }; + template <> struct hash { @@ -7619,6 +7827,19 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageCreateFlags2CreateInfoKHR const & imageCreateFlags2CreateInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, imageCreateFlags2CreateInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, imageCreateFlags2CreateInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, imageCreateFlags2CreateInfoKHR.flags ); + return seed; + } + }; + template <> struct hash { @@ -7844,6 +8065,19 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageStencilUsage2CreateInfoKHR const & imageStencilUsage2CreateInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsage2CreateInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsage2CreateInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, imageStencilUsage2CreateInfoKHR.stencilUsage ); + return seed; + } + }; + template <> struct hash { @@ -7870,6 +8104,32 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageTilingControlCreateInfoEXT const & imageTilingControlCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, imageTilingControlCreateInfoEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, imageTilingControlCreateInfoEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, imageTilingControlCreateInfoEXT.tilingControl ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageUsageFlags2CreateInfoKHR const & imageUsageFlags2CreateInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, imageUsageFlags2CreateInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, imageUsageFlags2CreateInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, imageUsageFlags2CreateInfoKHR.usage ); + return seed; + } + }; + template <> struct hash { @@ -7968,6 +8228,19 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewUsage2CreateInfoKHR const & imageViewUsage2CreateInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, imageViewUsage2CreateInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, imageViewUsage2CreateInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, imageViewUsage2CreateInfoKHR.usage ); + return seed; + } + }; + template <> struct hash { @@ -9160,14 +9433,14 @@ VULKAN_HPP_EXPORT namespace std }; template <> - struct hash + struct hash { - std::size_t operator()( VULKAN_HPP_NAMESPACE::MicromapTriangleEXT const & micromapTriangleEXT ) const VULKAN_HPP_NOEXCEPT + std::size_t operator()( VULKAN_HPP_NAMESPACE::MicromapTriangleKHR const & micromapTriangleKHR ) const VULKAN_HPP_NOEXCEPT { std::size_t seed = 0; - VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleEXT.dataOffset ); - VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleEXT.subdivisionLevel ); - VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleEXT.format ); + VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleKHR.dataOffset ); + VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleKHR.subdivisionLevel ); + VULKAN_HPP_HASH_COMBINE( seed, micromapTriangleKHR.format ); return seed; } }; @@ -10003,6 +10276,34 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & + physicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE.bufferDeviceAddressAllocationAlignment ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & + physicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE.maxBufferDeviceAddressAllocationAlignment ); + return seed; + } + }; + template <> struct hash { @@ -10297,6 +10598,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & + physicalDeviceCooperativeMatrixDecodeVectorFeaturesNV ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixDecodeVectorFeaturesNV.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixDecodeVectorFeaturesNV.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixDecodeVectorFeaturesNV.cooperativeMatrixDecodeVector ); + return seed; + } + }; + template <> struct hash { @@ -10327,6 +10642,41 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixInfo2EXT const & physicalDeviceCooperativeMatrixInfo2EXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixInfo2EXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixInfo2EXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixInfo2EXT.scope ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixInfo2EXT.invocations ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixInfo2EXT.subgroupSize ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixInfo2EXT.flags ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & + physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.cooperativeMatrixProperties2 ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.cooperativeMatrixReductions ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.cooperativeMatrixConversions ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.cooperativeMatrixPerElementOperations ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.cooperativeMatrixGetCoordinate ); + return seed; + } + }; + template <> struct hash { @@ -11271,6 +11621,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceElapsedTimerQueryFeaturesQCOM const & physicalDeviceElapsedTimerQueryFeaturesQCOM ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceElapsedTimerQueryFeaturesQCOM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceElapsedTimerQueryFeaturesQCOM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceElapsedTimerQueryFeaturesQCOM.elapsedTimerQuery ); + return seed; + } + }; + template <> struct hash { @@ -11373,6 +11737,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedFlagsFeaturesKHR const & physicalDeviceExtendedFlagsFeaturesKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedFlagsFeaturesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedFlagsFeaturesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceExtendedFlagsFeaturesKHR.extendedFlags ); + return seed; + } + }; + template <> struct hash { @@ -11952,6 +12330,52 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceGpaFeaturesAMD const & physicalDeviceGpaFeaturesAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaFeaturesAMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaFeaturesAMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaFeaturesAMD.perfCounters ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaFeaturesAMD.streamingPerfCounters ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaFeaturesAMD.sqThreadTracing ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaFeaturesAMD.clockModes ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceGpaProperties2AMD const & physicalDeviceGpaProperties2AMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaProperties2AMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaProperties2AMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaProperties2AMD.revisionId ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceGpaPropertiesAMD const & physicalDeviceGpaPropertiesAMD ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.flags ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.maxSqttSeBufferSize ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.shaderEngineCount ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.perfBlockCount ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceGpaPropertiesAMD.pPerfBlocks ); + return seed; + } + }; + template <> struct hash { @@ -12220,6 +12644,22 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessing3FeaturesQCOM const & physicalDeviceImageProcessing3FeaturesQCOM ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessing3FeaturesQCOM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessing3FeaturesQCOM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessing3FeaturesQCOM.imageGatherLinear ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessing3FeaturesQCOM.imageGatherExtendedModes ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessing3FeaturesQCOM.blockMatchExtendedClampToEdge ); + return seed; + } + }; + template <> struct hash { @@ -12281,6 +12721,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageTilingControlFeaturesEXT const & physicalDeviceImageTilingControlFeaturesEXT ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageTilingControlFeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageTilingControlFeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageTilingControlFeaturesEXT.imageTilingControl ); + return seed; + } + }; + template <> struct hash { @@ -12336,6 +12790,21 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceInfoPropertiesINTEL const & physicalDeviceInfoPropertiesINTEL ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInfoPropertiesINTEL.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInfoPropertiesINTEL.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInfoPropertiesINTEL.deviceIpVersionArch ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInfoPropertiesINTEL.deviceIpVersionRelease ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceInfoPropertiesINTEL.deviceIpVersionRevision ); + return seed; + } + }; + template <> struct hash { @@ -13253,6 +13722,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & + physicalDeviceMultisampledRenderToSwapchainFeaturesEXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSwapchainFeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSwapchainFeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSwapchainFeaturesEXT.multisampledRenderToSwapchain ); + return seed; + } + }; + template <> struct hash { @@ -13399,6 +13882,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapFeaturesKHR const & physicalDeviceOpacityMicromapFeaturesKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapFeaturesKHR.micromap ); + return seed; + } + }; + template <> struct hash { @@ -13414,6 +13911,23 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapPropertiesKHR const & physicalDeviceOpacityMicromapPropertiesKHR ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesKHR.maxOpacity2StateSubdivisionLevel ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesKHR.maxOpacity4StateSubdivisionLevel ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesKHR.maxOpacityLossy4StateSubdivisionLevel ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceOpacityMicromapPropertiesKHR.maxMicromapTriangles ); + return seed; + } + }; + template <> struct hash { @@ -13663,15 +14177,15 @@ VULKAN_HPP_EXPORT namespace std }; template <> - struct hash + struct hash { - std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & - physicalDevicePipelineLibraryGroupHandlesFeaturesEXT ) const VULKAN_HPP_NOEXCEPT + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & + physicalDevicePipelineLibraryGroupHandlesFeaturesKHR ) const VULKAN_HPP_NOEXCEPT { std::size_t seed = 0; - VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineLibraryGroupHandlesFeaturesEXT.sType ); - VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineLibraryGroupHandlesFeaturesEXT.pNext ); - VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineLibraryGroupHandlesFeaturesEXT.pipelineLibraryGroupHandles ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineLibraryGroupHandlesFeaturesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineLibraryGroupHandlesFeaturesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineLibraryGroupHandlesFeaturesKHR.pipelineLibraryGroupHandles ); return seed; } }; @@ -13966,6 +14480,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataBaseHandleFeaturesNV const & physicalDevicePrivateDataBaseHandleFeaturesNV ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataBaseHandleFeaturesNV.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataBaseHandleFeaturesNV.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePrivateDataBaseHandleFeaturesNV.privateDataBaseHandle ); + return seed; + } + }; + template <> struct hash { @@ -15213,6 +15741,53 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & physicalDeviceShaderMultipleWaitQueuesFeaturesQCOM ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMultipleWaitQueuesFeaturesQCOM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMultipleWaitQueuesFeaturesQCOM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMultipleWaitQueuesFeaturesQCOM.shaderMultipleWaitQueues ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & + physicalDeviceShaderMultipleWaitQueuesPropertiesQCOM ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMultipleWaitQueuesPropertiesQCOM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMultipleWaitQueuesPropertiesQCOM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderMultipleWaitQueuesPropertiesQCOM.maxShaderWaitQueues ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.shaderFloat4 ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.shaderFloat6 ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.shaderFloat8UnsignedE8M0 ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.shaderMXInt8 ); + return seed; + } + }; + template <> struct hash { @@ -15317,6 +15892,34 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSplitBarrierFeaturesEXT const & physicalDeviceShaderSplitBarrierFeaturesEXT ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSplitBarrierFeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSplitBarrierFeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSplitBarrierFeaturesEXT.shaderSplitBarrier ); + return seed; + } + }; + + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSplitBarrierPropertiesEXT const & physicalDeviceShaderSplitBarrierPropertiesEXT ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSplitBarrierPropertiesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSplitBarrierPropertiesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderSplitBarrierPropertiesEXT.splitBarrierReservedSharedMemory ); + return seed; + } + }; + template <> struct hash { @@ -16071,6 +16674,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & physicalDeviceVideoEncodeFeedback2FeaturesKHR ) const + VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoEncodeFeedback2FeaturesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoEncodeFeedback2FeaturesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoEncodeFeedback2FeaturesKHR.videoEncodeFeedback2 ); + return seed; + } + }; + template <> struct hash { @@ -17894,6 +18511,21 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & + queryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, queryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, queryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, queryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR.maxPerPartitionFeedbackEntries ); + VULKAN_HPP_HASH_COMBINE( seed, queryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR.perPartitionEncodeFeedbackFlags ); + return seed; + } + }; + template <> struct hash { @@ -19364,6 +19996,19 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilities2KHR const & sharedPresentSurfaceCapabilities2KHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilities2KHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilities2KHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, sharedPresentSurfaceCapabilities2KHR.sharedPresentSupportedUsageFlags ); + return seed; + } + }; + template <> struct hash { @@ -19903,6 +20548,19 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainFlagsSurfaceCapabilitiesEXT const & swapchainFlagsSurfaceCapabilitiesEXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, swapchainFlagsSurfaceCapabilitiesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, swapchainFlagsSurfaceCapabilitiesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, swapchainFlagsSurfaceCapabilitiesEXT.swapchainSupportedFlags ); + return seed; + } + }; + template <> struct hash { @@ -20061,6 +20719,24 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::TensorExplicitTilingFormatPropertiesARM const & tensorExplicitTilingFormatPropertiesARM ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.brick16TilingTensorFeatures ); + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.brick8TilingTensorFeatures ); + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.brick4TilingTensorFeatures ); + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.blockUTilingTensorFeatures ); + VULKAN_HPP_HASH_COMBINE( seed, tensorExplicitTilingFormatPropertiesARM.blockU64kTilingTensorFeatures ); + return seed; + } + }; + template <> struct hash { @@ -20088,6 +20764,22 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::TensorRollingBackingCreateInfoARM const & tensorRollingBackingCreateInfoARM ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, tensorRollingBackingCreateInfoARM.sType ); + VULKAN_HPP_HASH_COMBINE( seed, tensorRollingBackingCreateInfoARM.pNext ); + for ( size_t i = 0; i < VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM; ++i ) + { + VULKAN_HPP_HASH_COMBINE( seed, tensorRollingBackingCreateInfoARM.wraps[i] ); + } + return seed; + } + }; + template <> struct hash { @@ -21074,6 +21766,20 @@ VULKAN_HPP_EXPORT namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoEncodeFeedback2CapabilitiesKHR const & videoEncodeFeedback2CapabilitiesKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, videoEncodeFeedback2CapabilitiesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, videoEncodeFeedback2CapabilitiesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, videoEncodeFeedback2CapabilitiesKHR.maxPerPartitionFeedbackEntries ); + VULKAN_HPP_HASH_COMBINE( seed, videoEncodeFeedback2CapabilitiesKHR.supportedPerPartitionEncodeFeedbackFlags ); + return seed; + } + }; + template <> struct hash { diff --git a/third_party/vulkan/include/vulkan/vulkan_hpp_macros.hpp b/third_party/vulkan/include/vulkan/vulkan_hpp_macros.hpp index af154ae9e..769f320b7 100644 --- a/third_party/vulkan/include/vulkan/vulkan_hpp_macros.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_hpp_macros.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -198,7 +197,7 @@ VULKAN_HPP_COMPILE_WARNING( "This is a non-conforming implementation of C++ name # else # define VULKAN_HPP_CONSTEXPR_17 # endif -# if ( 201907 <= __cpp_constexpr ) && ( !defined( __GNUC__ ) || ( 110400 < GCC_VERSION ) ) +# if ( 201907 <= __cpp_constexpr ) && ( !defined( __GNUC__ ) || ( 120000 <= GCC_VERSION ) ) # define VULKAN_HPP_CONSTEXPR_20 constexpr # else # define VULKAN_HPP_CONSTEXPR_20 diff --git a/third_party/vulkan/include/vulkan/vulkan_ios.h b/third_party/vulkan/include/vulkan/vulkan_ios.h index 089991a4f..d6f1ed53b 100644 --- a/third_party/vulkan/include/vulkan/vulkan_ios.h +++ b/third_party/vulkan/include/vulkan/vulkan_ios.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_macos.h b/third_party/vulkan/include/vulkan/vulkan_macos.h index 7d5d8a1b3..2459e69fb 100644 --- a/third_party/vulkan/include/vulkan/vulkan_macos.h +++ b/third_party/vulkan/include/vulkan/vulkan_macos.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_metal.h b/third_party/vulkan/include/vulkan/vulkan_metal.h index 501c36388..1029b3732 100644 --- a/third_party/vulkan/include/vulkan/vulkan_metal.h +++ b/third_party/vulkan/include/vulkan/vulkan_metal.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_ohos.h b/third_party/vulkan/include/vulkan/vulkan_ohos.h index 3bde0114f..e5cdd2d49 100644 --- a/third_party/vulkan/include/vulkan/vulkan_ohos.h +++ b/third_party/vulkan/include/vulkan/vulkan_ohos.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_raii.hpp b/third_party/vulkan/include/vulkan/vulkan_raii.hpp index 674b3bd39..2507ef8ab 100644 --- a/third_party/vulkan/include/vulkan/vulkan_raii.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_raii.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -415,6 +414,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM" ) ); + //=== VK_EXT_cooperative_matrix_maintenance1 === + vkGetPhysicalDeviceCooperativeMatrixProperties2EXT = + PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixProperties2EXT" ) ); + # if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === vkCreateUbmSurfaceSEC = PFN_vkCreateUbmSurfaceSEC( vkGetInstanceProcAddr( instance, "vkCreateUbmSurfaceSEC" ) ); @@ -734,6 +737,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_ARM_data_graph_optical_flow === PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = 0; + //=== VK_EXT_cooperative_matrix_maintenance1 === + PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT vkGetPhysicalDeviceCooperativeMatrixProperties2EXT = 0; + # if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === PFN_vkCreateUbmSurfaceSEC vkCreateUbmSurfaceSEC = 0; @@ -1188,6 +1194,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) ); # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + vkCreateGpaSessionAMD = PFN_vkCreateGpaSessionAMD( vkGetDeviceProcAddr( device, "vkCreateGpaSessionAMD" ) ); + vkDestroyGpaSessionAMD = PFN_vkDestroyGpaSessionAMD( vkGetDeviceProcAddr( device, "vkDestroyGpaSessionAMD" ) ); + vkSetGpaDeviceClockModeAMD = PFN_vkSetGpaDeviceClockModeAMD( vkGetDeviceProcAddr( device, "vkSetGpaDeviceClockModeAMD" ) ); + vkGetGpaDeviceClockInfoAMD = PFN_vkGetGpaDeviceClockInfoAMD( vkGetDeviceProcAddr( device, "vkGetGpaDeviceClockInfoAMD" ) ); + vkCmdBeginGpaSessionAMD = PFN_vkCmdBeginGpaSessionAMD( vkGetDeviceProcAddr( device, "vkCmdBeginGpaSessionAMD" ) ); + vkCmdEndGpaSessionAMD = PFN_vkCmdEndGpaSessionAMD( vkGetDeviceProcAddr( device, "vkCmdEndGpaSessionAMD" ) ); + vkCmdBeginGpaSampleAMD = PFN_vkCmdBeginGpaSampleAMD( vkGetDeviceProcAddr( device, "vkCmdBeginGpaSampleAMD" ) ); + vkCmdEndGpaSampleAMD = PFN_vkCmdEndGpaSampleAMD( vkGetDeviceProcAddr( device, "vkCmdEndGpaSampleAMD" ) ); + vkGetGpaSessionStatusAMD = PFN_vkGetGpaSessionStatusAMD( vkGetDeviceProcAddr( device, "vkGetGpaSessionStatusAMD" ) ); + vkGetGpaSessionResultsAMD = PFN_vkGetGpaSessionResultsAMD( vkGetDeviceProcAddr( device, "vkGetGpaSessionResultsAMD" ) ); + vkResetGpaSessionAMD = PFN_vkResetGpaSessionAMD( vkGetDeviceProcAddr( device, "vkResetGpaSessionAMD" ) ); + vkCmdCopyGpaSessionResultsAMD = PFN_vkCmdCopyGpaSessionResultsAMD( vkGetDeviceProcAddr( device, "vkCmdCopyGpaSessionResultsAMD" ) ); + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) ); @@ -1579,6 +1599,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE vkCmdBeginPerTileExecutionQCOM = PFN_vkCmdBeginPerTileExecutionQCOM( vkGetDeviceProcAddr( device, "vkCmdBeginPerTileExecutionQCOM" ) ); vkCmdEndPerTileExecutionQCOM = PFN_vkCmdEndPerTileExecutionQCOM( vkGetDeviceProcAddr( device, "vkCmdEndPerTileExecutionQCOM" ) ); + //=== VK_NV_low_latency === + vkSetLatencySleepModeLegacyNV = PFN_vkSetLatencySleepModeLegacyNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeLegacyNV" ) ); + vkLatencySleepLegacyNV = PFN_vkLatencySleepLegacyNV( vkGetDeviceProcAddr( device, "vkLatencySleepLegacyNV" ) ); + vkSetLatencyMarkerLegacyNV = PFN_vkSetLatencyMarkerLegacyNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerLegacyNV" ) ); + vkGetLatencyTimingsLegacyNV = PFN_vkGetLatencyTimingsLegacyNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsLegacyNV" ) ); + vkQueueNotifyOutOfBandLegacyNV = PFN_vkQueueNotifyOutOfBandLegacyNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandLegacyNV" ) ); + vkGetSleepStatusLegacyNV = PFN_vkGetSleepStatusLegacyNV( vkGetDeviceProcAddr( device, "vkGetSleepStatusLegacyNV" ) ); + vkShutdownLatencyDeviceLegacyNV = PFN_vkShutdownLatencyDeviceLegacyNV( vkGetDeviceProcAddr( device, "vkShutdownLatencyDeviceLegacyNV" ) ); + # if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) ); @@ -2467,6 +2496,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder = 0; # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + PFN_vkCreateGpaSessionAMD vkCreateGpaSessionAMD = 0; + PFN_vkDestroyGpaSessionAMD vkDestroyGpaSessionAMD = 0; + PFN_vkSetGpaDeviceClockModeAMD vkSetGpaDeviceClockModeAMD = 0; + PFN_vkGetGpaDeviceClockInfoAMD vkGetGpaDeviceClockInfoAMD = 0; + PFN_vkCmdBeginGpaSessionAMD vkCmdBeginGpaSessionAMD = 0; + PFN_vkCmdEndGpaSessionAMD vkCmdEndGpaSessionAMD = 0; + PFN_vkCmdBeginGpaSampleAMD vkCmdBeginGpaSampleAMD = 0; + PFN_vkCmdEndGpaSampleAMD vkCmdEndGpaSampleAMD = 0; + PFN_vkGetGpaSessionStatusAMD vkGetGpaSessionStatusAMD = 0; + PFN_vkGetGpaSessionResultsAMD vkGetGpaSessionResultsAMD = 0; + PFN_vkResetGpaSessionAMD vkResetGpaSessionAMD = 0; + PFN_vkCmdCopyGpaSessionResultsAMD vkCmdCopyGpaSessionResultsAMD = 0; + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === PFN_vkCreateExecutionGraphPipelinesAMDX vkCreateExecutionGraphPipelinesAMDX = 0; @@ -2745,6 +2788,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PFN_vkCmdBeginPerTileExecutionQCOM vkCmdBeginPerTileExecutionQCOM = 0; PFN_vkCmdEndPerTileExecutionQCOM vkCmdEndPerTileExecutionQCOM = 0; + //=== VK_NV_low_latency === + PFN_vkSetLatencySleepModeLegacyNV vkSetLatencySleepModeLegacyNV = 0; + PFN_vkLatencySleepLegacyNV vkLatencySleepLegacyNV = 0; + PFN_vkSetLatencyMarkerLegacyNV vkSetLatencyMarkerLegacyNV = 0; + PFN_vkGetLatencyTimingsLegacyNV vkGetLatencyTimingsLegacyNV = 0; + PFN_vkQueueNotifyOutOfBandLegacyNV vkQueueNotifyOutOfBandLegacyNV = 0; + PFN_vkGetSleepStatusLegacyNV vkGetSleepStatusLegacyNV = 0; + PFN_vkShutdownLatencyDeviceLegacyNV vkShutdownLatencyDeviceLegacyNV = 0; + # if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0; @@ -3212,6 +3264,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_debug_utils === class DebugUtilsMessengerEXT; + //=== VK_AMD_gpa_interface === + class GpaSessionAMD; + //=== VK_EXT_descriptor_heap === class TensorARM; @@ -3289,6 +3344,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = false; }; +# if 20 <= VULKAN_HPP_CPP_VERSION + template + concept VulkanRAIIHandleType = isVulkanRAIIHandleType::value; +# endif + class Context { public: @@ -4364,6 +4424,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE QueueFamilyDataGraphPropertiesARM const & queueFamilyDataGraphProperties, DataGraphOpticalFlowImageFormatInfoARM const & opticalFlowImageFormatInfo ) const; + //=== VK_EXT_cooperative_matrix_maintenance1 === + + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html + VULKAN_HPP_NODISCARD typename ResultValueType>::type + getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & cooperativeMatrixInfo ) const; + # if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === @@ -5052,6 +5119,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE getMemoryAndroidHardwareBufferANDROID( MemoryGetAndroidHardwareBufferInfoANDROID const & info ) const; # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html + VULKAN_HPP_NODISCARD typename ResultValueType::type + createGpaSessionAMD( GpaSessionCreateInfoAMD const & createInfo, + Optional allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; + + // wrapper function for command vkSetGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetGpaDeviceClockModeAMD.html + VULKAN_HPP_NODISCARD typename ResultValueType::type setGpaClockModeAMD() const; + + // wrapper function for command vkGetGpaDeviceClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaDeviceClockInfoAMD.html + VULKAN_HPP_NODISCARD typename ResultValueType::type getGpaClockInfoAMD() const; + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === @@ -5498,6 +5578,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE Optional allocator = nullptr ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS; # endif /*VK_ENABLE_BETA_EXTENSIONS*/ + //=== VK_NV_low_latency === + + // wrapper function for command vkSetLatencySleepModeLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeLegacyNV.html + void setLatencySleepModeLegacyNV( Bool32 lowLatencyMode, Bool32 lowLatencyBoost, uint32_t minimumIntervalUs ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkSetLatencyMarkerLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerLegacyNV.html + void setLatencyMarkerLegacyNV( uint64_t frameID, uint32_t marker ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkGetLatencyTimingsLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsLegacyNV.html + template + VULKAN_HPP_NODISCARD TimingsType getLatencyTimingsLegacyNV() const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkGetSleepStatusLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSleepStatusLegacyNV.html + VULKAN_HPP_NODISCARD Bool32 getSleepStatusLegacyNV() const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkShutdownLatencyDeviceLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkShutdownLatencyDeviceLegacyNV.html + void shutdownLatencyLegacyNV() const VULKAN_HPP_NOEXCEPT; + # if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === @@ -7116,7 +7217,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE void setDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html - void setBlendConstants( float const blendConstants[4] ) const VULKAN_HPP_NOEXCEPT; + void setBlendConstants( std::array const & blendConstants ) const VULKAN_HPP_NOEXCEPT; // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html void setDepthBounds( float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT; @@ -7531,6 +7632,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdInsertDebugUtilsLabelEXT.html void insertDebugUtilsLabelEXT( DebugUtilsLabelEXT const & labelInfo ) const VULKAN_HPP_NOEXCEPT; + //=== VK_AMD_gpa_interface === + + // wrapper function for command vkCmdBeginGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSessionAMD.html + typename ResultValueType::type beginGpaSessionAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession ) const; + + // wrapper function for command vkCmdEndGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSessionAMD.html + typename ResultValueType::type endGpaSessionAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession ) const; + + // wrapper function for command vkCmdBeginGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSampleAMD.html + VULKAN_HPP_NODISCARD typename ResultValueType::type beginGpaSampleAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession, + GpaSampleBeginInfoAMD const & gpaSampleBeginInfo ) const; + + // wrapper function for command vkCmdEndGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSampleAMD.html + void endGpaSampleAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession, uint32_t sampleID ) const VULKAN_HPP_NOEXCEPT; + + // wrapper function for command vkCmdCopyGpaSessionResultsAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyGpaSessionResultsAMD.html + void copyGpaSessionResultsAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT; + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === @@ -7765,7 +7885,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetFragmentShadingRateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html - void setFragmentShadingRateKHR( Extent2D const & fragmentSize, FragmentShadingRateCombinerOpKHR const combinerOps[2] ) const VULKAN_HPP_NOEXCEPT; + void setFragmentShadingRateKHR( Extent2D const & fragmentSize, + std::array const & combinerOps ) const VULKAN_HPP_NOEXCEPT; //=== VK_KHR_dynamic_rendering_local_read === @@ -8020,7 +8141,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html - void setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, FragmentShadingRateCombinerOpKHR const combinerOps[2] ) const VULKAN_HPP_NOEXCEPT; + void setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, + std::array const & combinerOps ) const VULKAN_HPP_NOEXCEPT; //=== VK_EXT_mesh_shader === @@ -11116,6 +11238,144 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; }; + // wrapper class for handle VkGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSessionAMD.html + class GpaSessionAMD + { + public: + using CType = VkGpaSessionAMD; + using CppType = VULKAN_HPP_NAMESPACE::GpaSessionAMD; + + static VULKAN_HPP_CONST_OR_CONSTEXPR ObjectType objectType = ObjectType::eGpaSessionAMD; + static VULKAN_HPP_CONST_OR_CONSTEXPR DebugReportObjectTypeEXT debugReportObjectType = DebugReportObjectTypeEXT::eUnknown; + + public: +# if !defined( VULKAN_HPP_NO_EXCEPTIONS ) + GpaSessionAMD( Device const & device, GpaSessionCreateInfoAMD const & createInfo, Optional allocator = nullptr ) + { + *this = device.createGpaSessionAMD( createInfo, allocator ); + } +# endif + + GpaSessionAMD( Device const & device, VkGpaSessionAMD gpaSession, Optional allocator = nullptr ) + : m_device( device ) + , m_gpaSessionAMD( gpaSession ) + , m_allocator( static_cast( allocator ) ) + , m_dispatcher( device.getDispatcher() ) + { + } + + GpaSessionAMD( std::nullptr_t ) {} + + ~GpaSessionAMD() + { + clear(); + } + + GpaSessionAMD() = delete; + GpaSessionAMD( GpaSessionAMD const & ) = delete; + + GpaSessionAMD( GpaSessionAMD && rhs ) VULKAN_HPP_NOEXCEPT + : m_device( exchange( rhs.m_device, {} ) ) + , m_gpaSessionAMD( exchange( rhs.m_gpaSessionAMD, {} ) ) + , m_allocator( exchange( rhs.m_allocator, {} ) ) + , m_dispatcher( exchange( rhs.m_dispatcher, nullptr ) ) + { + } + + GpaSessionAMD & operator=( GpaSessionAMD const & ) = delete; + + GpaSessionAMD & operator=( GpaSessionAMD && rhs ) VULKAN_HPP_NOEXCEPT + { + if ( this != &rhs ) + { + std::swap( m_device, rhs.m_device ); + std::swap( m_gpaSessionAMD, rhs.m_gpaSessionAMD ); + std::swap( m_allocator, rhs.m_allocator ); + std::swap( m_dispatcher, rhs.m_dispatcher ); + } + return *this; + } + + VULKAN_HPP_NAMESPACE::GpaSessionAMD const & operator*() const & VULKAN_HPP_NOEXCEPT + { + return m_gpaSessionAMD; + } + + VULKAN_HPP_NAMESPACE::GpaSessionAMD const && operator*() const && VULKAN_HPP_NOEXCEPT + { + return std::move( m_gpaSessionAMD ); + } + + operator VULKAN_HPP_NAMESPACE::GpaSessionAMD() const VULKAN_HPP_NOEXCEPT + { + return m_gpaSessionAMD; + } + + void clear() VULKAN_HPP_NOEXCEPT + { + if ( m_gpaSessionAMD ) + { + getDispatcher()->vkDestroyGpaSessionAMD( static_cast( m_device ), + static_cast( m_gpaSessionAMD ), + reinterpret_cast( m_allocator ) ); + } + m_device = nullptr; + m_gpaSessionAMD = nullptr; + m_allocator = nullptr; + m_dispatcher = nullptr; + } + + VULKAN_HPP_NAMESPACE::GpaSessionAMD release() + { + m_device = nullptr; + m_allocator = nullptr; + m_dispatcher = nullptr; + return exchange( m_gpaSessionAMD, nullptr ); + } + + VULKAN_HPP_NAMESPACE::Device getDevice() const + { + return m_device; + } + + detail::DeviceDispatcher const * getDispatcher() const + { + VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION ); + return m_dispatcher; + } + + void swap( GpaSessionAMD & rhs ) VULKAN_HPP_NOEXCEPT + { + std::swap( m_device, rhs.m_device ); + std::swap( m_gpaSessionAMD, rhs.m_gpaSessionAMD ); + std::swap( m_allocator, rhs.m_allocator ); + std::swap( m_dispatcher, rhs.m_dispatcher ); + } + + //=== VK_AMD_gpa_interface === + + // wrapper function for command vkGetGpaSessionStatusAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionStatusAMD.html + typename ResultValueType::type getStatus() const; + + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html + VULKAN_HPP_NODISCARD typename ResultValueType>::type getResults( uint32_t sampleID ) const; + + // wrapper function for command vkResetGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetGpaSessionAMD.html + typename ResultValueType::type reset() const; + + private: + VULKAN_HPP_NAMESPACE::Device m_device = {}; + VULKAN_HPP_NAMESPACE::GpaSessionAMD m_gpaSessionAMD = {}; + AllocationCallbacks const * m_allocator = {}; + detail::DeviceDispatcher const * m_dispatcher = nullptr; + }; + + template <> + struct isVulkanRAIIHandleType + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; + }; + // wrapper class for handle VkImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImage.html class Image { @@ -13436,6 +13696,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // wrapper function for command vkQueueSetPerfHintQCOM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSetPerfHintQCOM.html typename ResultValueType::type setPerfHintQCOM( PerfHintInfoQCOM const & perfHintInfo ) const; + //=== VK_NV_low_latency === + + // wrapper function for command vkQueueNotifyOutOfBandLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandLegacyNV.html + void notifyOutOfBandLegacyNV( uint32_t queueType ) const VULKAN_HPP_NOEXCEPT; + //=== VK_KHR_synchronization2 === // wrapper function for command vkQueueSubmit2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueSubmit2KHR.html @@ -13978,6 +14244,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreCounterValueKHR.html VULKAN_HPP_NODISCARD typename ResultValueType::type getCounterValueKHR() const; + //=== VK_NV_low_latency === + + // wrapper function for command vkLatencySleepLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepLegacyNV.html + void latencySleepLegacyNV( uint64_t value ) const VULKAN_HPP_NOEXCEPT; + private: VULKAN_HPP_NAMESPACE::Device m_device = {}; VULKAN_HPP_NAMESPACE::Semaphore m_semaphore = {}; @@ -15611,51 +15882,78 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; // operators to compare VULKAN_HPP_NAMESPACE::raii-handles -# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif +# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) auto operator<=>( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT { return *a <=> *b; } # else - template ::value, bool>::type = 0> bool operator<( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT { return *a < *b; } # endif +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif bool operator==( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT { return *a == *b; } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif bool operator!=( T const & a, T const & b ) VULKAN_HPP_NOEXCEPT { return *a != *b; } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif bool operator==( T const & v, std::nullptr_t ) VULKAN_HPP_NOEXCEPT { return !*v; } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif bool operator==( std::nullptr_t, T const & v ) VULKAN_HPP_NOEXCEPT { return !*v; } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif bool operator!=( T const & v, std::nullptr_t ) VULKAN_HPP_NOEXCEPT { return *v; } +# if VULKAN_HPP_CPP_VERSION < 20 template ::value, bool>::type = 0> +# else + template +# endif bool operator!=( std::nullptr_t, T const & v ) VULKAN_HPP_NOEXCEPT { return *v; @@ -15675,11 +15973,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateInstance && "Function requires " ); VULKAN_HPP_NAMESPACE::Instance instance; - Result result = static_cast( getDispatcher()->vkCreateInstance( reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &instance ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::createInstance" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Instance( *this, *reinterpret_cast( &instance ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateInstance( reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &instance ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::createInstance" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Instance( *this, *reinterpret_cast( &instance ), allocator ) ); } // wrapper function for command vkEnumeratePhysicalDevices, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html @@ -15689,20 +15987,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDevices; uint32_t physicalDeviceCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkEnumeratePhysicalDevices( static_cast( m_instance ), &physicalDeviceCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceCount ) + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDevices( static_cast( m_instance ), &physicalDeviceCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && physicalDeviceCount ) { physicalDevices.resize( physicalDeviceCount ); - result = static_cast( getDispatcher()->vkEnumeratePhysicalDevices( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDevices( static_cast( m_instance ), &physicalDeviceCount, reinterpret_cast( physicalDevices.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDevices" ); std::vector physicalDevicesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { physicalDevicesRAII.reserve( physicalDevices.size() ); for ( auto & physicalDevice : physicalDevices ) @@ -15710,7 +16008,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE physicalDevicesRAII.emplace_back( *this, *reinterpret_cast( &physicalDevice ) ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDevicesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( physicalDevicesRAII ) ); } // wrapper function for command vkGetPhysicalDeviceFeatures, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceFeatures.html @@ -15747,7 +16045,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); ImageFormatProperties imageFormatProperties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), @@ -15755,9 +16053,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static_cast( usage ), static_cast( flags ), reinterpret_cast( &imageFormatProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceProperties, see @@ -15814,9 +16112,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetInstanceProcAddr && "Function requires " ); - PFN_vkVoidFunction result = getDispatcher()->vkGetInstanceProcAddr( static_cast( m_instance ), name.c_str() ); + PFN_vkVoidFunction result_ = getDispatcher()->vkGetInstanceProcAddr( static_cast( m_instance ), name.c_str() ); - return result; + return result_; } // wrapper function for command vkGetDeviceProcAddr, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceProcAddr.html @@ -15824,9 +16122,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceProcAddr && "Function requires " ); - PFN_vkVoidFunction result = getDispatcher()->vkGetDeviceProcAddr( static_cast( m_device ), name.c_str() ); + PFN_vkVoidFunction result_ = getDispatcher()->vkGetDeviceProcAddr( static_cast( m_device ), name.c_str() ); - return result; + return result_; } // wrapper function for command vkCreateDevice, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDevice.html @@ -15837,12 +16135,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDevice && "Function requires " ); VULKAN_HPP_NAMESPACE::Device device; - Result result = static_cast( getDispatcher()->vkCreateDevice( static_cast( m_physicalDevice ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &device ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::createDevice" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Device( *this, *reinterpret_cast( &device ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateDevice( static_cast( m_physicalDevice ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &device ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::createDevice" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Device( *this, *reinterpret_cast( &device ), allocator ) ); } // wrapper function for command vkEnumerateInstanceExtensionProperties, see @@ -15855,25 +16153,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = + result_ = static_cast( getDispatcher()->vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkEnumerateInstanceExtensionProperties( + result_ = static_cast( getDispatcher()->vkEnumerateInstanceExtensionProperties( layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceExtensionProperties" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceExtensionProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateDeviceExtensionProperties, see @@ -15885,28 +16183,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkEnumerateDeviceExtensionProperties( + result_ = static_cast( getDispatcher()->vkEnumerateDeviceExtensionProperties( static_cast( m_physicalDevice ), layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = + result_ = static_cast( getDispatcher()->vkEnumerateDeviceExtensionProperties( static_cast( m_physicalDevice ), layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateInstanceLayerProperties, see @@ -15917,24 +16215,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + result_ = static_cast( getDispatcher()->vkEnumerateInstanceLayerProperties( &propertyCount, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkEnumerateInstanceLayerProperties( &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceLayerProperties" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceLayerProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkEnumerateDeviceLayerProperties, see @@ -15945,25 +16243,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkEnumerateDeviceLayerProperties( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkEnumerateDeviceLayerProperties( + result_ = static_cast( getDispatcher()->vkEnumerateDeviceLayerProperties( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDeviceQueue, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceQueue.html @@ -15983,11 +16281,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit && "Function requires " ); - Result result = static_cast( getDispatcher()->vkQueueSubmit( + Result result_ = static_cast( getDispatcher()->vkQueueSubmit( static_cast( m_queue ), submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkQueueWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueWaitIdle.html @@ -15995,10 +16293,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueueWaitIdle && "Function requires " ); - Result result = static_cast( getDispatcher()->vkQueueWaitIdle( static_cast( m_queue ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::waitIdle" ); + Result result_ = static_cast( getDispatcher()->vkQueueWaitIdle( static_cast( m_queue ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::waitIdle" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkDeviceWaitIdle, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeviceWaitIdle.html @@ -16006,10 +16304,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkDeviceWaitIdle && "Function requires " ); - Result result = static_cast( getDispatcher()->vkDeviceWaitIdle( static_cast( m_device ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitIdle" ); + Result result_ = static_cast( getDispatcher()->vkDeviceWaitIdle( static_cast( m_device ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitIdle" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkAllocateMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateMemory.html @@ -16020,12 +16318,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkAllocateMemory && "Function requires " ); VULKAN_HPP_NAMESPACE::DeviceMemory memory; - Result result = static_cast( getDispatcher()->vkAllocateMemory( static_cast( m_device ), - reinterpret_cast( &allocateInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &memory ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateMemory" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DeviceMemory( *this, *reinterpret_cast( &memory ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkAllocateMemory( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &memory ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateMemory" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, DeviceMemory( *this, *reinterpret_cast( &memory ), allocator ) ); } // wrapper function for command vkMapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMapMemory.html @@ -16035,15 +16333,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory && "Function requires " ); void * pData; - Result result = static_cast( getDispatcher()->vkMapMemory( static_cast( m_device ), - static_cast( m_deviceMemory ), - static_cast( offset ), - static_cast( size ), - static_cast( flags ), - &pData ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeviceMemory::mapMemory" ); + Result result_ = static_cast( getDispatcher()->vkMapMemory( static_cast( m_device ), + static_cast( m_deviceMemory ), + static_cast( offset ), + static_cast( size ), + static_cast( flags ), + &pData ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeviceMemory::mapMemory" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pData ) ); } // wrapper function for command vkUnmapMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory.html @@ -16059,11 +16357,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkFlushMappedMemoryRanges && "Function requires " ); - Result result = static_cast( getDispatcher()->vkFlushMappedMemoryRanges( + Result result_ = static_cast( getDispatcher()->vkFlushMappedMemoryRanges( static_cast( m_device ), memoryRanges.size(), reinterpret_cast( memoryRanges.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::flushMappedMemoryRanges" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkInvalidateMappedMemoryRanges, see @@ -16073,11 +16371,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkInvalidateMappedMemoryRanges && "Function requires " ); - Result result = static_cast( getDispatcher()->vkInvalidateMappedMemoryRanges( + Result result_ = static_cast( getDispatcher()->vkInvalidateMappedMemoryRanges( static_cast( m_device ), memoryRanges.size(), reinterpret_cast( memoryRanges.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetDeviceMemoryCommitment, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDeviceMemoryCommitment.html @@ -16097,13 +16395,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBindBufferMemory( static_cast( m_device ), - static_cast( m_buffer ), - static_cast( memory ), - static_cast( memoryOffset ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Buffer::bindMemory" ); + Result result_ = static_cast( getDispatcher()->vkBindBufferMemory( static_cast( m_device ), + static_cast( m_buffer ), + static_cast( memory ), + static_cast( memoryOffset ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Buffer::bindMemory" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkBindImageMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory.html @@ -16111,13 +16409,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBindImageMemory( static_cast( m_device ), - static_cast( m_image ), - static_cast( memory ), - static_cast( memoryOffset ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::bindMemory" ); + Result result_ = static_cast( getDispatcher()->vkBindImageMemory( static_cast( m_device ), + static_cast( m_image ), + static_cast( memory ), + static_cast( memoryOffset ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::bindMemory" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetBufferMemoryRequirements, see @@ -16212,11 +16510,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueueBindSparse && "Function requires " ); - Result result = static_cast( getDispatcher()->vkQueueBindSparse( + Result result_ = static_cast( getDispatcher()->vkQueueBindSparse( static_cast( m_queue ), bindInfo.size(), reinterpret_cast( bindInfo.data() ), static_cast( fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::bindSparse" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::bindSparse" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCreateFence, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFence.html @@ -16226,12 +16524,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateFence && "Function requires " ); VULKAN_HPP_NAMESPACE::Fence fence; - Result result = static_cast( getDispatcher()->vkCreateFence( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createFence" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Fence( *this, *reinterpret_cast( &fence ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateFence( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createFence" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Fence( *this, *reinterpret_cast( &fence ), allocator ) ); } // wrapper function for command vkResetFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetFences.html @@ -16239,11 +16537,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkResetFences && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkResetFences( static_cast( m_device ), fences.size(), reinterpret_cast( fences.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::resetFences" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::resetFences" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetFenceStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceStatus.html @@ -16251,10 +16549,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceStatus && "Function requires " ); - Result result = static_cast( getDispatcher()->vkGetFenceStatus( static_cast( m_device ), static_cast( m_fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Fence::getStatus", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( getDispatcher()->vkGetFenceStatus( static_cast( m_device ), static_cast( m_fence ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Fence::getStatus", { Result::eSuccess, Result::eNotReady } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkWaitForFences, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitForFences.html @@ -16264,11 +16562,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForFences && "Function requires " ); - Result result = static_cast( getDispatcher()->vkWaitForFences( + Result result_ = static_cast( getDispatcher()->vkWaitForFences( static_cast( m_device ), fences.size(), reinterpret_cast( fences.data() ), static_cast( waitAll ), timeout ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitForFences", { Result::eSuccess, Result::eTimeout } ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitForFences", { Result::eSuccess, Result::eTimeout } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCreateSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSemaphore.html @@ -16279,12 +16577,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateSemaphore && "Function requires " ); VULKAN_HPP_NAMESPACE::Semaphore semaphore; - Result result = static_cast( getDispatcher()->vkCreateSemaphore( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &semaphore ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSemaphore" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Semaphore( *this, *reinterpret_cast( &semaphore ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateSemaphore( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &semaphore ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSemaphore" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Semaphore( *this, *reinterpret_cast( &semaphore ), allocator ) ); } // wrapper function for command vkCreateQueryPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateQueryPool.html @@ -16295,12 +16593,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateQueryPool && "Function requires " ); VULKAN_HPP_NAMESPACE::QueryPool queryPool; - Result result = static_cast( getDispatcher()->vkCreateQueryPool( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &queryPool ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createQueryPool" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, QueryPool( *this, *reinterpret_cast( &queryPool ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateQueryPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &queryPool ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createQueryPool" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, QueryPool( *this, *reinterpret_cast( &queryPool ), allocator ) ); } // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html @@ -16327,17 +16625,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( getDispatcher()->vkGetQueryPoolResults( static_cast( m_device ), - static_cast( m_queryPool ), - firstQuery, - queryCount, - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ), - static_cast( stride ), - static_cast( flags ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::QueryPool::getResults", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( getDispatcher()->vkGetQueryPoolResults( static_cast( m_device ), + static_cast( m_queryPool ), + firstQuery, + queryCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ), + static_cast( stride ), + static_cast( flags ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::QueryPool::getResults", { Result::eSuccess, Result::eNotReady } ); - return { result, data }; + return { result_, data }; } // wrapper function for command vkGetQueryPoolResults, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetQueryPoolResults.html @@ -16348,17 +16646,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueryPoolResults && "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetQueryPoolResults( static_cast( m_device ), - static_cast( m_queryPool ), - firstQuery, - queryCount, - sizeof( DataType ), - reinterpret_cast( &data ), - static_cast( stride ), - static_cast( flags ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::QueryPool::getResult", { Result::eSuccess, Result::eNotReady } ); + Result result_ = static_cast( getDispatcher()->vkGetQueryPoolResults( static_cast( m_device ), + static_cast( m_queryPool ), + firstQuery, + queryCount, + sizeof( DataType ), + reinterpret_cast( &data ), + static_cast( stride ), + static_cast( flags ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::QueryPool::getResult", { Result::eSuccess, Result::eNotReady } ); - return { result, data }; + return { result_, data }; } // wrapper function for command vkCreateBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBuffer.html @@ -16368,12 +16666,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateBuffer && "Function requires " ); VULKAN_HPP_NAMESPACE::Buffer buffer; - Result result = static_cast( getDispatcher()->vkCreateBuffer( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &buffer ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBuffer" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Buffer( *this, *reinterpret_cast( &buffer ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateBuffer( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &buffer ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBuffer" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Buffer( *this, *reinterpret_cast( &buffer ), allocator ) ); } // wrapper function for command vkCreateImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateImage.html @@ -16383,12 +16681,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateImage && "Function requires " ); VULKAN_HPP_NAMESPACE::Image image; - Result result = static_cast( getDispatcher()->vkCreateImage( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &image ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createImage" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Image( *this, *reinterpret_cast( &image ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateImage( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &image ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createImage" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Image( *this, *reinterpret_cast( &image ), allocator ) ); } // wrapper function for command vkGetImageSubresourceLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageSubresourceLayout.html @@ -16413,12 +16711,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateImageView && "Function requires " ); VULKAN_HPP_NAMESPACE::ImageView view; - Result result = static_cast( getDispatcher()->vkCreateImageView( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createImageView" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, ImageView( *this, *reinterpret_cast( &view ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateImageView( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createImageView" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, ImageView( *this, *reinterpret_cast( &view ), allocator ) ); } // wrapper function for command vkCreateCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCommandPool.html @@ -16429,12 +16727,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateCommandPool && "Function requires " ); VULKAN_HPP_NAMESPACE::CommandPool commandPool; - Result result = static_cast( getDispatcher()->vkCreateCommandPool( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &commandPool ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCommandPool" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, CommandPool( *this, *reinterpret_cast( &commandPool ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateCommandPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &commandPool ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCommandPool" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + CommandPool( *this, *reinterpret_cast( &commandPool ), allocator ) ); } // wrapper function for command vkResetCommandPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandPool.html @@ -16442,11 +16741,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkResetCommandPool && "Function requires " ); - Result result = static_cast( getDispatcher()->vkResetCommandPool( + Result result_ = static_cast( getDispatcher()->vkResetCommandPool( static_cast( m_device ), static_cast( m_commandPool ), static_cast( flags ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandPool::reset" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandPool::reset" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkAllocateCommandBuffers, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateCommandBuffers.html @@ -16456,12 +16755,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkAllocateCommandBuffers && "Function requires " ); std::vector commandBuffers( allocateInfo.commandBufferCount ); - Result result = static_cast( getDispatcher()->vkAllocateCommandBuffers( static_cast( m_device ), - reinterpret_cast( &allocateInfo ), - reinterpret_cast( commandBuffers.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + Result result_ = static_cast( getDispatcher()->vkAllocateCommandBuffers( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( commandBuffers.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); std::vector commandBuffersRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { commandBuffersRAII.reserve( commandBuffers.size() ); for ( auto & commandBuffer : commandBuffers ) @@ -16470,7 +16769,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE *this, *reinterpret_cast( &commandBuffer ), static_cast( allocateInfo.commandPool ) ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( commandBuffersRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( commandBuffersRAII ) ); } // wrapper function for command vkBeginCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBeginCommandBuffer.html @@ -16478,11 +16777,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBeginCommandBuffer && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBeginCommandBuffer( static_cast( m_commandBuffer ), - reinterpret_cast( &beginInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::begin" ); + Result result_ = static_cast( getDispatcher()->vkBeginCommandBuffer( static_cast( m_commandBuffer ), + reinterpret_cast( &beginInfo ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::begin" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkEndCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkEndCommandBuffer.html @@ -16490,10 +16789,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkEndCommandBuffer && "Function requires " ); - Result result = static_cast( getDispatcher()->vkEndCommandBuffer( static_cast( m_commandBuffer ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::end" ); + Result result_ = static_cast( getDispatcher()->vkEndCommandBuffer( static_cast( m_commandBuffer ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::end" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkResetCommandBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetCommandBuffer.html @@ -16501,11 +16800,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkResetCommandBuffer && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkResetCommandBuffer( static_cast( m_commandBuffer ), static_cast( flags ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::reset" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::reset" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdCopyBuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer.html @@ -16711,12 +17010,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateEvent && "Function requires " ); VULKAN_HPP_NAMESPACE::Event event; - Result result = static_cast( getDispatcher()->vkCreateEvent( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &event ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createEvent" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Event( *this, *reinterpret_cast( &event ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateEvent( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &event ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createEvent" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Event( *this, *reinterpret_cast( &event ), allocator ) ); } // wrapper function for command vkGetEventStatus, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetEventStatus.html @@ -16724,10 +17023,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetEventStatus && "Function requires " ); - Result result = static_cast( getDispatcher()->vkGetEventStatus( static_cast( m_device ), static_cast( m_event ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::getStatus", { Result::eEventSet, Result::eEventReset } ); + Result result_ = static_cast( getDispatcher()->vkGetEventStatus( static_cast( m_device ), static_cast( m_event ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::getStatus", { Result::eEventSet, Result::eEventReset } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkSetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetEvent.html @@ -16735,10 +17034,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSetEvent && "Function requires " ); - Result result = static_cast( getDispatcher()->vkSetEvent( static_cast( m_device ), static_cast( m_event ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::set" ); + Result result_ = static_cast( getDispatcher()->vkSetEvent( static_cast( m_device ), static_cast( m_event ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::set" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkResetEvent, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetEvent.html @@ -16746,10 +17045,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkResetEvent && "Function requires " ); - Result result = static_cast( getDispatcher()->vkResetEvent( static_cast( m_device ), static_cast( m_event ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::reset" ); + Result result_ = static_cast( getDispatcher()->vkResetEvent( static_cast( m_device ), static_cast( m_event ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Event::reset" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCreateBufferView, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateBufferView.html @@ -16760,12 +17059,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateBufferView && "Function requires " ); VULKAN_HPP_NAMESPACE::BufferView view; - Result result = static_cast( getDispatcher()->vkCreateBufferView( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBufferView" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, BufferView( *this, *reinterpret_cast( &view ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateBufferView( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBufferView" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, BufferView( *this, *reinterpret_cast( &view ), allocator ) ); } // wrapper function for command vkCreateShaderModule, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShaderModule.html @@ -16776,12 +17075,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateShaderModule && "Function requires " ); VULKAN_HPP_NAMESPACE::ShaderModule shaderModule; - Result result = static_cast( getDispatcher()->vkCreateShaderModule( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &shaderModule ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderModule" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, + Result result_ = static_cast( getDispatcher()->vkCreateShaderModule( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &shaderModule ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderModule" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, ShaderModule( *this, *reinterpret_cast( &shaderModule ), allocator ) ); } @@ -16793,12 +17092,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreatePipelineCache && "Function requires " ); VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache; - Result result = static_cast( getDispatcher()->vkCreatePipelineCache( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipelineCache ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineCache" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, + Result result_ = static_cast( getDispatcher()->vkCreatePipelineCache( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipelineCache ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineCache" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, PipelineCache( *this, *reinterpret_cast( &pipelineCache ), allocator ) ); } @@ -16809,25 +17108,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPipelineCacheData( static_cast( m_device ), static_cast( m_pipelineCache ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( getDispatcher()->vkGetPipelineCacheData( + result_ = static_cast( getDispatcher()->vkGetPipelineCacheData( static_cast( m_device ), static_cast( m_pipelineCache ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PipelineCache::getData" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PipelineCache::getData" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkMergePipelineCaches, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergePipelineCaches.html @@ -16835,13 +17134,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkMergePipelineCaches && "Function requires " ); - Result result = static_cast( getDispatcher()->vkMergePipelineCaches( static_cast( m_device ), - static_cast( m_pipelineCache ), - srcCaches.size(), - reinterpret_cast( srcCaches.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PipelineCache::merge" ); + Result result_ = static_cast( getDispatcher()->vkMergePipelineCaches( static_cast( m_device ), + static_cast( m_pipelineCache ), + srcCaches.size(), + reinterpret_cast( srcCaches.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PipelineCache::merge" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html @@ -16853,7 +17152,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateComputePipelines && "Function requires " ); std::vector pipelines( createInfos.size() ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateComputePipelines( static_cast( m_device ), pipelineCache ? static_cast( **pipelineCache ) : 0, createInfos.size(), @@ -16861,17 +17160,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createComputePipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createComputePipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); std::vector pipelinesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelinesRAII.reserve( pipelines.size() ); for ( auto & pipeline : pipelines ) { - pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result ); + pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelinesRAII ) ); } // wrapper function for command vkCreateComputePipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateComputePipelines.html @@ -16883,15 +17182,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateComputePipelines && "Function requires " ); VULKAN_HPP_NAMESPACE::Pipeline pipeline; - Result result = static_cast( getDispatcher()->vkCreateComputePipelines( static_cast( m_device ), - pipelineCache ? static_cast( **pipelineCache ) : 0, - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( getDispatcher()->vkCreateComputePipelines( static_cast( m_device ), + pipelineCache ? static_cast( **pipelineCache ) : 0, + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createComputePipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result ) ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createComputePipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result_ ) ); } // wrapper function for command vkCreatePipelineLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePipelineLayout.html @@ -16902,13 +17202,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreatePipelineLayout && "Function requires " ); VULKAN_HPP_NAMESPACE::PipelineLayout pipelineLayout; - Result result = static_cast( getDispatcher()->vkCreatePipelineLayout( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipelineLayout ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineLayout" ); + Result result_ = static_cast( getDispatcher()->vkCreatePipelineLayout( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipelineLayout ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineLayout" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, PipelineLayout( *this, *reinterpret_cast( &pipelineLayout ), allocator ) ); + result_, PipelineLayout( *this, *reinterpret_cast( &pipelineLayout ), allocator ) ); } // wrapper function for command vkCreateSampler, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSampler.html @@ -16918,12 +17218,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateSampler && "Function requires " ); VULKAN_HPP_NAMESPACE::Sampler sampler; - Result result = static_cast( getDispatcher()->vkCreateSampler( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &sampler ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSampler" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Sampler( *this, *reinterpret_cast( &sampler ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateSampler( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &sampler ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSampler" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Sampler( *this, *reinterpret_cast( &sampler ), allocator ) ); } // wrapper function for command vkCreateDescriptorSetLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorSetLayout.html @@ -16934,14 +17234,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDescriptorSetLayout && "Function requires " ); VULKAN_HPP_NAMESPACE::DescriptorSetLayout setLayout; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDescriptorSetLayout( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &setLayout ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorSetLayout" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorSetLayout" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DescriptorSetLayout( *this, *reinterpret_cast( &setLayout ), allocator ) ); + result_, DescriptorSetLayout( *this, *reinterpret_cast( &setLayout ), allocator ) ); } // wrapper function for command vkCreateDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDescriptorPool.html @@ -16952,13 +17252,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDescriptorPool && "Function requires " ); VULKAN_HPP_NAMESPACE::DescriptorPool descriptorPool; - Result result = static_cast( getDispatcher()->vkCreateDescriptorPool( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &descriptorPool ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorPool" ); + Result result_ = static_cast( getDispatcher()->vkCreateDescriptorPool( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &descriptorPool ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorPool" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DescriptorPool( *this, *reinterpret_cast( &descriptorPool ), allocator ) ); + result_, DescriptorPool( *this, *reinterpret_cast( &descriptorPool ), allocator ) ); } // wrapper function for command vkResetDescriptorPool, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetDescriptorPool.html @@ -16966,11 +17266,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkResetDescriptorPool && "Function requires " ); - Result result = static_cast( getDispatcher()->vkResetDescriptorPool( + Result result_ = static_cast( getDispatcher()->vkResetDescriptorPool( static_cast( m_device ), static_cast( m_descriptorPool ), static_cast( flags ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DescriptorPool::reset" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DescriptorPool::reset" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkAllocateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAllocateDescriptorSets.html @@ -16980,12 +17280,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkAllocateDescriptorSets && "Function requires " ); std::vector descriptorSets( allocateInfo.descriptorSetCount ); - Result result = static_cast( getDispatcher()->vkAllocateDescriptorSets( static_cast( m_device ), - reinterpret_cast( &allocateInfo ), - reinterpret_cast( descriptorSets.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + Result result_ = static_cast( getDispatcher()->vkAllocateDescriptorSets( static_cast( m_device ), + reinterpret_cast( &allocateInfo ), + reinterpret_cast( descriptorSets.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); std::vector descriptorSetsRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { descriptorSetsRAII.reserve( descriptorSets.size() ); for ( auto & descriptorSet : descriptorSets ) @@ -16994,7 +17294,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE *this, *reinterpret_cast( &descriptorSet ), static_cast( allocateInfo.descriptorPool ) ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptorSetsRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( descriptorSetsRAII ) ); } // wrapper function for command vkUpdateDescriptorSets, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUpdateDescriptorSets.html @@ -17151,7 +17451,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateGraphicsPipelines && "Function requires " ); std::vector pipelines( createInfos.size() ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateGraphicsPipelines( static_cast( m_device ), pipelineCache ? static_cast( **pipelineCache ) : 0, createInfos.size(), @@ -17159,17 +17459,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGraphicsPipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGraphicsPipelines", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); std::vector pipelinesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelinesRAII.reserve( pipelines.size() ); for ( auto & pipeline : pipelines ) { - pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result ); + pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelinesRAII ) ); } // wrapper function for command vkCreateGraphicsPipelines, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGraphicsPipelines.html @@ -17181,15 +17481,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateGraphicsPipelines && "Function requires " ); VULKAN_HPP_NAMESPACE::Pipeline pipeline; - Result result = static_cast( getDispatcher()->vkCreateGraphicsPipelines( static_cast( m_device ), - pipelineCache ? static_cast( **pipelineCache ) : 0, - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &pipeline ) ) ); + Result result_ = static_cast( getDispatcher()->vkCreateGraphicsPipelines( static_cast( m_device ), + pipelineCache ? static_cast( **pipelineCache ) : 0, + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &pipeline ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGraphicsPipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result ) ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGraphicsPipeline", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result_ ) ); } // wrapper function for command vkCreateFramebuffer, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateFramebuffer.html @@ -17200,12 +17501,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateFramebuffer && "Function requires " ); VULKAN_HPP_NAMESPACE::Framebuffer framebuffer; - Result result = static_cast( getDispatcher()->vkCreateFramebuffer( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &framebuffer ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createFramebuffer" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Framebuffer( *this, *reinterpret_cast( &framebuffer ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateFramebuffer( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &framebuffer ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createFramebuffer" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Framebuffer( *this, *reinterpret_cast( &framebuffer ), allocator ) ); } // wrapper function for command vkCreateRenderPass, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateRenderPass.html @@ -17216,12 +17518,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateRenderPass && "Function requires " ); VULKAN_HPP_NAMESPACE::RenderPass renderPass; - Result result = static_cast( getDispatcher()->vkCreateRenderPass( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, RenderPass( *this, *reinterpret_cast( &renderPass ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateRenderPass( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, RenderPass( *this, *reinterpret_cast( &renderPass ), allocator ) ); } // wrapper function for command vkGetRenderAreaGranularity, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRenderAreaGranularity.html @@ -17272,11 +17574,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } // wrapper function for command vkCmdSetBlendConstants, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetBlendConstants.html - VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( float const blendConstants[4] ) const VULKAN_HPP_NOEXCEPT + VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants( std::array const & blendConstants ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetBlendConstants && "Function requires " ); - getDispatcher()->vkCmdSetBlendConstants( static_cast( m_commandBuffer ), blendConstants ); + getDispatcher()->vkCmdSetBlendConstants( static_cast( m_commandBuffer ), blendConstants.data() ); } // wrapper function for command vkCmdSetDepthBounds, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetDepthBounds.html @@ -17486,10 +17788,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkEnumerateInstanceVersion && "Function requires " ); uint32_t apiVersion; - Result result = static_cast( getDispatcher()->vkEnumerateInstanceVersion( &apiVersion ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceVersion" ); + Result result_ = static_cast( getDispatcher()->vkEnumerateInstanceVersion( &apiVersion ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Context::enumerateInstanceVersion" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( apiVersion ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( apiVersion ) ); } // wrapper function for command vkBindBufferMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindBufferMemory2.html @@ -17497,11 +17799,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory2 && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkBindBufferMemory2( + Result result_ = static_cast( getDispatcher()->vkBindBufferMemory2( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindBufferMemory2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindBufferMemory2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkBindImageMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2.html @@ -17509,11 +17811,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory2 && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkBindImageMemory2( + Result result_ = static_cast( getDispatcher()->vkBindImageMemory2( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindImageMemory2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindImageMemory2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetDeviceGroupPeerMemoryFeatures, see @@ -17553,27 +17855,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDeviceGroupProperties; uint32_t physicalDeviceGroupCount; - Result result; + Result result_; do { - result = + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceGroups( static_cast( m_instance ), &physicalDeviceGroupCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) + if ( ( result_ == Result::eSuccess ) && physicalDeviceGroupCount ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceGroups( static_cast( m_instance ), &physicalDeviceGroupCount, reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups" ); VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( physicalDeviceGroupProperties ) ); } // wrapper function for command vkGetImageMemoryRequirements2, see @@ -17789,13 +18091,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); ImageFormatProperties2 imageFormatProperties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see @@ -17809,13 +18111,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; ImageFormatProperties2 & imageFormatProperties = structureChain.template get(); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2, see @@ -18027,14 +18329,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDescriptorUpdateTemplate( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &descriptorUpdateTemplate ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplate" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DescriptorUpdateTemplate( *this, *reinterpret_cast( &descriptorUpdateTemplate ), allocator ) ); + result_, DescriptorUpdateTemplate( *this, *reinterpret_cast( &descriptorUpdateTemplate ), allocator ) ); } // wrapper function for command vkUpdateDescriptorSetWithTemplate, see @@ -18096,14 +18398,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateSamplerYcbcrConversion( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &ycbcrConversion ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSamplerYcbcrConversion" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, SamplerYcbcrConversion( *this, *reinterpret_cast( &ycbcrConversion ), allocator ) ); + result_, SamplerYcbcrConversion( *this, *reinterpret_cast( &ycbcrConversion ), allocator ) ); } //=== VK_VERSION_1_2 === @@ -18123,11 +18425,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); uint64_t value; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetSemaphoreCounterValue( static_cast( m_device ), static_cast( m_semaphore ), &value ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Semaphore::getCounterValue" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Semaphore::getCounterValue" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( value ) ); } // wrapper function for command vkWaitSemaphores, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphores.html @@ -18135,11 +18437,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphores && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkWaitSemaphores( static_cast( m_device ), reinterpret_cast( &waitInfo ), timeout ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitSemaphores", { Result::eSuccess, Result::eTimeout } ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitSemaphores", { Result::eSuccess, Result::eTimeout } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkSignalSemaphore, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphore.html @@ -18147,11 +18449,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSignalSemaphore && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkSignalSemaphore( static_cast( m_device ), reinterpret_cast( &signalInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::signalSemaphore" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::signalSemaphore" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetBufferDeviceAddress, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetBufferDeviceAddress.html @@ -18160,10 +18462,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferDeviceAddress && "Function requires or or " ); - VkDeviceAddress result = + VkDeviceAddress result_ = getDispatcher()->vkGetBufferDeviceAddress( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkGetBufferOpaqueCaptureAddress, see @@ -18173,10 +18475,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferOpaqueCaptureAddress && "Function requires or " ); - uint64_t result = + uint64_t result_ = getDispatcher()->vkGetBufferOpaqueCaptureAddress( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddress, see @@ -18187,10 +18489,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress && "Function requires or " ); - uint64_t result = getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress( static_cast( m_device ), - reinterpret_cast( &info ) ); + uint64_t result_ = getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress( static_cast( m_device ), + reinterpret_cast( &info ) ); - return result; + return result_; } // wrapper function for command vkCmdDrawIndirectCount, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDrawIndirectCount.html @@ -18242,12 +18544,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateRenderPass2 && "Function requires or " ); VULKAN_HPP_NAMESPACE::RenderPass renderPass; - Result result = static_cast( getDispatcher()->vkCreateRenderPass2( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, RenderPass( *this, *reinterpret_cast( &renderPass ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateRenderPass2( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass2" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, RenderPass( *this, *reinterpret_cast( &renderPass ), allocator ) ); } // wrapper function for command vkCmdBeginRenderPass2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2.html @@ -18292,25 +18594,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector toolProperties; uint32_t toolCount; - Result result; + Result result_; do { - result = + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceToolProperties( static_cast( m_physicalDevice ), &toolCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && toolCount ) + if ( ( result_ == Result::eSuccess ) && toolCount ) { toolProperties.resize( toolCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceToolProperties( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceToolProperties( static_cast( m_physicalDevice ), &toolCount, reinterpret_cast( toolProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getToolProperties" ); VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); if ( toolCount < toolProperties.size() ) { toolProperties.resize( toolCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( toolProperties ) ); } // wrapper function for command vkCreatePrivateDataSlot, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreatePrivateDataSlot.html @@ -18321,13 +18623,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreatePrivateDataSlot && "Function requires or " ); VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; - Result result = static_cast( getDispatcher()->vkCreatePrivateDataSlot( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &privateDataSlot ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPrivateDataSlot" ); + Result result_ = static_cast( getDispatcher()->vkCreatePrivateDataSlot( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &privateDataSlot ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPrivateDataSlot" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, PrivateDataSlot( *this, *reinterpret_cast( &privateDataSlot ), allocator ) ); + result_, PrivateDataSlot( *this, *reinterpret_cast( &privateDataSlot ), allocator ) ); } // wrapper function for command vkSetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetPrivateData.html @@ -18336,11 +18638,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSetPrivateData && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkSetPrivateData( + Result result_ = static_cast( getDispatcher()->vkSetPrivateData( static_cast( m_device ), static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setPrivateData" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setPrivateData" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetPrivateData, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateData.html @@ -18381,11 +18683,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit2 && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkQueueSubmit2( + Result result_ = static_cast( getDispatcher()->vkQueueSubmit2( static_cast( m_queue ), submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdCopyBuffer2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyBuffer2.html @@ -18771,11 +19073,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory2 && "Function requires or " ); void * pData; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkMapMemory2( static_cast( m_device ), reinterpret_cast( &memoryMapInfo ), &pData ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::mapMemory2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::mapMemory2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pData ) ); } // wrapper function for command vkUnmapMemory2, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2.html @@ -18783,11 +19085,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkUnmapMemory2 && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkUnmapMemory2( static_cast( m_device ), reinterpret_cast( &memoryUnmapInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::unmapMemory2" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::unmapMemory2" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetDeviceImageSubresourceLayout, see @@ -18866,11 +19168,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToImage && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkCopyMemoryToImage( + Result result_ = static_cast( getDispatcher()->vkCopyMemoryToImage( static_cast( m_device ), reinterpret_cast( ©MemoryToImageInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToImage" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToImage" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCopyImageToMemory, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemory.html @@ -18878,11 +19180,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToMemory && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkCopyImageToMemory( + Result result_ = static_cast( getDispatcher()->vkCopyImageToMemory( static_cast( m_device ), reinterpret_cast( ©ImageToMemoryInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToMemory" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToMemory" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCopyImageToImage, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImage.html @@ -18890,11 +19192,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToImage && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCopyImageToImage( static_cast( m_device ), reinterpret_cast( ©ImageToImageInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToImage" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToImage" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkTransitionImageLayout, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayout.html @@ -18904,11 +19206,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkTransitionImageLayout && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkTransitionImageLayout( + Result result_ = static_cast( getDispatcher()->vkTransitionImageLayout( static_cast( m_device ), transitions.size(), reinterpret_cast( transitions.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::transitionImageLayout" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::transitionImageLayout" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdPushDescriptorSet, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdPushDescriptorSet.html @@ -19056,13 +19358,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR && "Function requires " ); Bool32 supported; - Result result = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR( static_cast( m_physicalDevice ), - queueFamilyIndex, - static_cast( surface ), - reinterpret_cast( &supported ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR( static_cast( m_physicalDevice ), + queueFamilyIndex, + static_cast( surface ), + reinterpret_cast( &supported ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( supported ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( supported ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilitiesKHR, see @@ -19074,13 +19376,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); SurfaceCapabilitiesKHR surfaceCapabilities; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR( static_cast( m_physicalDevice ), static_cast( surface ), reinterpret_cast( &surfaceCapabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( surfaceCapabilities ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormatsKHR, see @@ -19092,28 +19394,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast( m_physicalDevice ), static_cast( surface ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { surfaceFormats.resize( surfaceFormatCount ); - result = + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR( static_cast( m_physicalDevice ), static_cast( surface ), &surfaceFormatCount, reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { surfaceFormats.resize( surfaceFormatCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( surfaceFormats ) ); } // wrapper function for command vkGetPhysicalDeviceSurfacePresentModesKHR, see @@ -19126,28 +19428,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentModes; uint32_t presentModeCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast( m_physicalDevice ), static_cast( surface ), &presentModeCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentModeCount ) + if ( ( result_ == Result::eSuccess ) && presentModeCount ) { presentModes.resize( presentModeCount ); - result = + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR( static_cast( m_physicalDevice ), static_cast( surface ), &presentModeCount, reinterpret_cast( presentModes.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR" ); VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); if ( presentModeCount < presentModes.size() ) { presentModes.resize( presentModeCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( presentModes ) ); } //=== VK_KHR_swapchain === @@ -19160,12 +19462,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateSwapchainKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; - Result result = static_cast( getDispatcher()->vkCreateSwapchainKHR( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &swapchain ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSwapchainKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SwapchainKHR( *this, *reinterpret_cast( &swapchain ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateSwapchainKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &swapchain ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSwapchainKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + SwapchainKHR( *this, *reinterpret_cast( &swapchain ), allocator ) ); } // wrapper function for command vkGetSwapchainImagesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainImagesKHR.html @@ -19175,27 +19478,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector swapchainImages; uint32_t swapchainImageCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetSwapchainImagesKHR( + result_ = static_cast( getDispatcher()->vkGetSwapchainImagesKHR( static_cast( m_device ), static_cast( m_swapchainKHR ), &swapchainImageCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && swapchainImageCount ) + if ( ( result_ == Result::eSuccess ) && swapchainImageCount ) { swapchainImages.resize( swapchainImageCount ); - result = static_cast( getDispatcher()->vkGetSwapchainImagesKHR( static_cast( m_device ), - static_cast( m_swapchainKHR ), - &swapchainImageCount, - reinterpret_cast( swapchainImages.data() ) ) ); + result_ = static_cast( getDispatcher()->vkGetSwapchainImagesKHR( static_cast( m_device ), + static_cast( m_swapchainKHR ), + &swapchainImageCount, + reinterpret_cast( swapchainImages.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getImages" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getImages" ); VULKAN_HPP_ASSERT( swapchainImageCount <= swapchainImages.size() ); if ( swapchainImageCount < swapchainImages.size() ) { swapchainImages.resize( swapchainImageCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchainImages ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( swapchainImages ) ); } // wrapper function for command vkAcquireNextImageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImageKHR.html @@ -19205,25 +19508,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImageKHR && "Function requires " ); uint32_t imageIndex; - Result result = static_cast( getDispatcher()->vkAcquireNextImageKHR( static_cast( m_device ), - static_cast( m_swapchainKHR ), - timeout, - static_cast( semaphore ), - static_cast( fence ), - &imageIndex ) ); + Result result_ = static_cast( getDispatcher()->vkAcquireNextImageKHR( static_cast( m_device ), + static_cast( m_swapchainKHR ), + timeout, + static_cast( semaphore ), + static_cast( fence ), + &imageIndex ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); # endif - return { result, imageIndex }; + return { result_, imageIndex }; } // wrapper function for command vkQueuePresentKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueuePresentKHR.html @@ -19231,17 +19534,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueuePresentKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkQueuePresentKHR( static_cast( m_queue ), reinterpret_cast( &presentInfo ) ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::presentKHR", { Result::eSuccess, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkGetDeviceGroupPresentCapabilitiesKHR, see @@ -19252,11 +19556,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities; - Result result = static_cast( getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR( + Result result_ = static_cast( getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR( static_cast( m_device ), reinterpret_cast( &deviceGroupPresentCapabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( deviceGroupPresentCapabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( deviceGroupPresentCapabilities ) ); } // wrapper function for command vkGetDeviceGroupSurfacePresentModesKHR, see @@ -19268,11 +19572,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); DeviceGroupPresentModeFlagsKHR modes; - Result result = static_cast( getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR( + Result result_ = static_cast( getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR( static_cast( m_device ), static_cast( surface ), reinterpret_cast( &modes ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( modes ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( modes ) ); } // wrapper function for command vkGetPhysicalDevicePresentRectanglesKHR, see @@ -19285,27 +19589,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector rects; uint32_t rectCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( static_cast( m_physicalDevice ), static_cast( surface ), &rectCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && rectCount ) + if ( ( result_ == Result::eSuccess ) && rectCount ) { rects.resize( rectCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( static_cast( m_physicalDevice ), - static_cast( surface ), - &rectCount, - reinterpret_cast( rects.data() ) ) ); + result_ = static_cast( getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR( static_cast( m_physicalDevice ), + static_cast( surface ), + &rectCount, + reinterpret_cast( rects.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR" ); VULKAN_HPP_ASSERT( rectCount <= rects.size() ); if ( rectCount < rects.size() ) { rects.resize( rectCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( rects ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( rects ) ); } // wrapper function for command vkAcquireNextImage2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkAcquireNextImage2KHR.html @@ -19314,21 +19618,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImage2KHR && "Function requires or " ); uint32_t imageIndex; - Result result = static_cast( getDispatcher()->vkAcquireNextImage2KHR( + Result result_ = static_cast( getDispatcher()->vkAcquireNextImage2KHR( static_cast( m_device ), reinterpret_cast( &acquireInfo ), &imageIndex ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireNextImage2KHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireNextImage2KHR", { Result::eSuccess, Result::eTimeout, Result::eNotReady, Result::eSuboptimalKHR } ); # endif - return { result, imageIndex }; + return { result_, imageIndex }; } //=== VK_KHR_display === @@ -19342,25 +19646,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceDisplayPlanePropertiesKHR, see @@ -19373,25 +19677,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDisplayPlaneSupportedDisplaysKHR, see @@ -19404,21 +19708,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector displays; uint32_t displayCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetDisplayPlaneSupportedDisplaysKHR( static_cast( m_physicalDevice ), planeIndex, &displayCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && displayCount ) + if ( ( result_ == Result::eSuccess ) && displayCount ) { displays.resize( displayCount ); - result = static_cast( getDispatcher()->vkGetDisplayPlaneSupportedDisplaysKHR( + result_ = static_cast( getDispatcher()->vkGetDisplayPlaneSupportedDisplaysKHR( static_cast( m_physicalDevice ), planeIndex, &displayCount, reinterpret_cast( displays.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR" ); std::vector displaysRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { displaysRAII.reserve( displays.size() ); for ( auto & display : displays ) @@ -19426,7 +19730,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE displaysRAII.emplace_back( *this, *reinterpret_cast( &display ) ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displaysRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( displaysRAII ) ); } // wrapper function for command vkGetDisplayModePropertiesKHR, see @@ -19437,27 +19741,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetDisplayModePropertiesKHR( + result_ = static_cast( getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), static_cast( m_displayKHR ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), - static_cast( m_displayKHR ), - &propertyCount, - reinterpret_cast( properties.data() ) ) ); + result_ = + static_cast( getDispatcher()->vkGetDisplayModePropertiesKHR( static_cast( m_physicalDevice ), + static_cast( m_displayKHR ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkCreateDisplayModeKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateDisplayModeKHR.html @@ -19468,13 +19773,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDisplayModeKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::DisplayModeKHR mode; - Result result = static_cast( getDispatcher()->vkCreateDisplayModeKHR( static_cast( m_physicalDevice ), - static_cast( m_displayKHR ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &mode ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::createMode" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayModeKHR( *this, *reinterpret_cast( &mode ) ) ); + Result result_ = static_cast( getDispatcher()->vkCreateDisplayModeKHR( static_cast( m_physicalDevice ), + static_cast( m_displayKHR ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &mode ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::createMode" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, DisplayModeKHR( *this, *reinterpret_cast( &mode ) ) ); } // wrapper function for command vkGetDisplayPlaneCapabilitiesKHR, see @@ -19485,14 +19790,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR && "Function requires " ); DisplayPlaneCapabilitiesKHR capabilities; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR( static_cast( m_physicalDevice ), static_cast( m_displayModeKHR ), planeIndex, reinterpret_cast( &capabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayModeKHR::getDisplayPlaneCapabilities" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayModeKHR::getDisplayPlaneCapabilities" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( capabilities ) ); } // wrapper function for command vkCreateDisplayPlaneSurfaceKHR, see @@ -19504,13 +19809,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDisplayPlaneSurfaceKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDisplayPlaneSurfaceKHR( static_cast( m_instance ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDisplayPlaneSurfaceKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } //=== VK_KHR_display_swapchain === @@ -19522,15 +19827,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateSharedSwapchainsKHR && "Function requires " ); std::vector swapchains( createInfos.size() ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateSharedSwapchainsKHR( static_cast( m_device ), createInfos.size(), reinterpret_cast( createInfos.data() ), reinterpret_cast( allocator.get() ), reinterpret_cast( swapchains.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); std::vector swapchainsRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { swapchainsRAII.reserve( swapchains.size() ); for ( auto & swapchain : swapchains ) @@ -19538,7 +19843,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE swapchainsRAII.emplace_back( *this, *reinterpret_cast( &swapchain ), allocator ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( swapchainsRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( swapchainsRAII ) ); } // wrapper function for command vkCreateSharedSwapchainsKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateSharedSwapchainsKHR.html @@ -19549,13 +19854,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateSharedSwapchainsKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain; - Result result = static_cast( getDispatcher()->vkCreateSharedSwapchainsKHR( static_cast( m_device ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &swapchain ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SwapchainKHR( *this, *reinterpret_cast( &swapchain ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateSharedSwapchainsKHR( static_cast( m_device ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &swapchain ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSharedSwapchainKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + SwapchainKHR( *this, *reinterpret_cast( &swapchain ), allocator ) ); } # if defined( VK_USE_PLATFORM_XLIB_KHR ) @@ -19569,12 +19875,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateXlibSurfaceKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateXlibSurfaceKHR( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateXlibSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createXlibSurfaceKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceXlibPresentationSupportKHR, see @@ -19586,10 +19892,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR && "Function requires " ); - VkBool32 result = + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &dpy, visualID ); - return static_cast( result ); + return static_cast( result_ ); } # endif /*VK_USE_PLATFORM_XLIB_KHR*/ @@ -19604,12 +19910,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateXcbSurfaceKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateXcbSurfaceKHR( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateXcbSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createXcbSurfaceKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceXcbPresentationSupportKHR, see @@ -19621,10 +19927,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR && "Function requires " ); - VkBool32 result = getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR( + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &connection, visual_id ); - return static_cast( result ); + return static_cast( result_ ); } # endif /*VK_USE_PLATFORM_XCB_KHR*/ @@ -19639,12 +19945,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateWaylandSurfaceKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateWaylandSurfaceKHR( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateWaylandSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createWaylandSurfaceKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceWaylandPresentationSupportKHR, see @@ -19655,10 +19961,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR && "Function requires " ); - VkBool32 result = + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &display ); - return static_cast( result ); + return static_cast( result_ ); } # endif /*VK_USE_PLATFORM_WAYLAND_KHR*/ @@ -19673,12 +19979,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateAndroidSurfaceKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateAndroidSurfaceKHR( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateAndroidSurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createAndroidSurfaceKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ @@ -19693,12 +19999,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateWin32SurfaceKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateWin32SurfaceKHR( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateWin32SurfaceKHR( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createWin32SurfaceKHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceWin32PresentationSupportKHR, see @@ -19708,9 +20014,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR && "Function requires " ); - VkBool32 result = getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex ); + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR( static_cast( m_physicalDevice ), queueFamilyIndex ); - return static_cast( result ); + return static_cast( result_ ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -19725,14 +20031,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDebugReportCallbackEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT callback; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDebugReportCallbackEXT( static_cast( m_instance ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &callback ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDebugReportCallbackEXT" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DebugReportCallbackEXT( *this, *reinterpret_cast( &callback ), allocator ) ); + result_, DebugReportCallbackEXT( *this, *reinterpret_cast( &callback ), allocator ) ); } // wrapper function for command vkDebugReportMessageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDebugReportMessageEXT.html @@ -19764,11 +20070,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkDebugMarkerSetObjectTagEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkDebugMarkerSetObjectTagEXT( + Result result_ = static_cast( getDispatcher()->vkDebugMarkerSetObjectTagEXT( static_cast( m_device ), reinterpret_cast( &tagInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkDebugMarkerSetObjectNameEXT, see @@ -19777,11 +20083,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkDebugMarkerSetObjectNameEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkDebugMarkerSetObjectNameEXT( + Result result_ = static_cast( getDispatcher()->vkDebugMarkerSetObjectNameEXT( static_cast( m_device ), reinterpret_cast( &nameInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdDebugMarkerBeginEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDebugMarkerBeginEXT.html @@ -19821,13 +20127,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VideoCapabilitiesKHR capabilities; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoProfile ), reinterpret_cast( &capabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( capabilities ) ); } // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see @@ -19841,13 +20147,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; VideoCapabilitiesKHR & capabilities = structureChain.template get(); - Result result = + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoProfile ), reinterpret_cast( &capabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see @@ -19860,31 +20166,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector videoFormatProperties; uint32_t videoFormatPropertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) + if ( ( result_ == Result::eSuccess ) && videoFormatPropertyCount ) { videoFormatProperties.resize( videoFormatPropertyCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, reinterpret_cast( videoFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); if ( videoFormatPropertyCount < videoFormatProperties.size() ) { videoFormatProperties.resize( videoFormatPropertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( videoFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( videoFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceVideoFormatPropertiesKHR, see @@ -19899,15 +20205,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector videoFormatProperties; uint32_t videoFormatPropertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && videoFormatPropertyCount ) + if ( ( result_ == Result::eSuccess ) && videoFormatPropertyCount ) { structureChains.resize( videoFormatPropertyCount ); videoFormatProperties.resize( videoFormatPropertyCount ); @@ -19915,14 +20221,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { videoFormatProperties[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &videoFormatInfo ), &videoFormatPropertyCount, reinterpret_cast( videoFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR" ); VULKAN_HPP_ASSERT( videoFormatPropertyCount <= videoFormatProperties.size() ); if ( videoFormatPropertyCount < videoFormatProperties.size() ) { @@ -19932,7 +20238,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = videoFormatProperties[i]; } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChains ) ); } // wrapper function for command vkCreateVideoSessionKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateVideoSessionKHR.html @@ -19943,13 +20249,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateVideoSessionKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::VideoSessionKHR videoSession; - Result result = static_cast( getDispatcher()->vkCreateVideoSessionKHR( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &videoSession ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createVideoSessionKHR" ); + Result result_ = static_cast( getDispatcher()->vkCreateVideoSessionKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &videoSession ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createVideoSessionKHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, VideoSessionKHR( *this, *reinterpret_cast( &videoSession ), allocator ) ); + result_, VideoSessionKHR( *this, *reinterpret_cast( &videoSession ), allocator ) ); } // wrapper function for command vkGetVideoSessionMemoryRequirementsKHR, see @@ -19962,28 +20268,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector memoryRequirements; uint32_t memoryRequirementsCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( + result_ = static_cast( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( static_cast( m_device ), static_cast( m_videoSessionKHR ), &memoryRequirementsCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && memoryRequirementsCount ) + if ( ( result_ == Result::eSuccess ) && memoryRequirementsCount ) { memoryRequirements.resize( memoryRequirementsCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR( static_cast( m_device ), static_cast( m_videoSessionKHR ), &memoryRequirementsCount, reinterpret_cast( memoryRequirements.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionKHR::getMemoryRequirements" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionKHR::getMemoryRequirements" ); VULKAN_HPP_ASSERT( memoryRequirementsCount <= memoryRequirements.size() ); if ( memoryRequirementsCount < memoryRequirements.size() ) { memoryRequirements.resize( memoryRequirementsCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryRequirements ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( memoryRequirements ) ); } // wrapper function for command vkBindVideoSessionMemoryKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindVideoSessionMemoryKHR.html @@ -19992,14 +20298,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindVideoSessionMemoryKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkBindVideoSessionMemoryKHR( static_cast( m_device ), static_cast( m_videoSessionKHR ), bindSessionMemoryInfos.size(), reinterpret_cast( bindSessionMemoryInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionKHR::bindMemory" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionKHR::bindMemory" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCreateVideoSessionParametersKHR, see @@ -20011,14 +20317,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateVideoSessionParametersKHR && "Function requires " ); VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR videoSessionParameters; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &videoSessionParameters ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createVideoSessionParametersKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createVideoSessionParametersKHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, VideoSessionParametersKHR( *this, *reinterpret_cast( &videoSessionParameters ), allocator ) ); + result_, VideoSessionParametersKHR( *this, *reinterpret_cast( &videoSessionParameters ), allocator ) ); } // wrapper function for command vkUpdateVideoSessionParametersKHR, see @@ -20027,13 +20333,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkUpdateVideoSessionParametersKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkUpdateVideoSessionParametersKHR( static_cast( m_device ), static_cast( m_videoSessionParametersKHR ), reinterpret_cast( &updateInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionParametersKHR::update" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::VideoSessionParametersKHR::update" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdBeginVideoCodingKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginVideoCodingKHR.html @@ -20203,12 +20509,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateCuModuleNVX && "Function requires " ); VULKAN_HPP_NAMESPACE::CuModuleNVX module; - Result result = static_cast( getDispatcher()->vkCreateCuModuleNVX( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &module ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCuModuleNVX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, CuModuleNVX( *this, *reinterpret_cast( &module ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateCuModuleNVX( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &module ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCuModuleNVX" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, CuModuleNVX( *this, *reinterpret_cast( &module ), allocator ) ); } // wrapper function for command vkCreateCuFunctionNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCuFunctionNVX.html @@ -20219,12 +20525,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateCuFunctionNVX && "Function requires " ); VULKAN_HPP_NAMESPACE::CuFunctionNVX function; - Result result = static_cast( getDispatcher()->vkCreateCuFunctionNVX( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &function ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCuFunctionNVX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, + Result result_ = static_cast( getDispatcher()->vkCreateCuFunctionNVX( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &function ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCuFunctionNVX" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, CuFunctionNVX( *this, *reinterpret_cast( &function ), allocator ) ); } @@ -20243,10 +20549,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewHandleNVX && "Function requires " ); - uint32_t result = + uint32_t result_ = getDispatcher()->vkGetImageViewHandleNVX( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } // wrapper function for command vkGetImageViewHandle64NVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewHandle64NVX.html @@ -20254,10 +20560,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewHandle64NVX && "Function requires " ); - uint64_t result = + uint64_t result_ = getDispatcher()->vkGetImageViewHandle64NVX( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } // wrapper function for command vkGetImageViewAddressNVX, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetImageViewAddressNVX.html @@ -20266,11 +20572,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewAddressNVX && "Function requires " ); ImageViewAddressPropertiesNVX properties; - Result result = static_cast( getDispatcher()->vkGetImageViewAddressNVX( + Result result_ = static_cast( getDispatcher()->vkGetImageViewAddressNVX( static_cast( m_device ), static_cast( m_imageView ), reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ImageView::getAddressNVX" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::ImageView::getAddressNVX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDeviceCombinedImageSamplerIndexNVX, see @@ -20281,9 +20587,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceCombinedImageSamplerIndexNVX && "Function requires " ); - uint64_t result = getDispatcher()->vkGetDeviceCombinedImageSamplerIndexNVX( static_cast( m_device ), imageViewIndex, samplerIndex ); + uint64_t result_ = getDispatcher()->vkGetDeviceCombinedImageSamplerIndexNVX( static_cast( m_device ), imageViewIndex, samplerIndex ); - return result; + return result_; } //=== VK_AMD_draw_indirect_count === @@ -20340,33 +20646,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector info; size_t infoSize; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetShaderInfoAMD( static_cast( m_device ), - static_cast( m_pipeline ), - static_cast( shaderStage ), - static_cast( infoType ), - &infoSize, - nullptr ) ); - if ( ( result == Result::eSuccess ) && infoSize ) + result_ = static_cast( getDispatcher()->vkGetShaderInfoAMD( static_cast( m_device ), + static_cast( m_pipeline ), + static_cast( shaderStage ), + static_cast( infoType ), + &infoSize, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && infoSize ) { info.resize( infoSize ); - result = static_cast( getDispatcher()->vkGetShaderInfoAMD( static_cast( m_device ), - static_cast( m_pipeline ), - static_cast( shaderStage ), - static_cast( infoType ), - &infoSize, - reinterpret_cast( info.data() ) ) ); + result_ = static_cast( getDispatcher()->vkGetShaderInfoAMD( static_cast( m_device ), + static_cast( m_pipeline ), + static_cast( shaderStage ), + static_cast( infoType ), + &infoSize, + reinterpret_cast( info.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getShaderInfoAMD" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getShaderInfoAMD" ); VULKAN_HPP_ASSERT( infoSize <= info.size() ); if ( infoSize < info.size() ) { info.resize( infoSize ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( info ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( info ) ); } //=== VK_KHR_dynamic_rendering === @@ -20401,13 +20707,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateStreamDescriptorSurfaceGGP( static_cast( m_instance ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createStreamDescriptorSurfaceGGP" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_GGP*/ @@ -20427,7 +20733,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); ExternalImageFormatPropertiesNV externalImageFormatProperties; - Result result = static_cast( getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV( static_cast( m_physicalDevice ), static_cast( format ), static_cast( type ), @@ -20436,9 +20742,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE static_cast( flags ), static_cast( externalHandleType ), reinterpret_cast( &externalImageFormatProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( externalImageFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( externalImageFormatProperties ) ); } # if defined( VK_USE_PLATFORM_WIN32_KHR ) @@ -20451,13 +20757,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryWin32HandleNV && "Function requires " ); HANDLE handle; - Result result = static_cast( getDispatcher()->vkGetMemoryWin32HandleNV( static_cast( m_device ), - static_cast( m_deviceMemory ), - static_cast( handleType ), - &handle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeviceMemory::getMemoryWin32HandleNV" ); + Result result_ = static_cast( getDispatcher()->vkGetMemoryWin32HandleNV( static_cast( m_device ), + static_cast( m_deviceMemory ), + static_cast( handleType ), + &handle ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeviceMemory::getMemoryWin32HandleNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( handle ) ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -20582,13 +20888,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); ImageFormatProperties2 imageFormatProperties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see @@ -20602,13 +20908,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; ImageFormatProperties2 & imageFormatProperties = structureChain.template get(); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &imageFormatInfo ), reinterpret_cast( &imageFormatProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetPhysicalDeviceQueueFamilyProperties2KHR, see @@ -20781,12 +21087,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateViSurfaceNN && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateViSurfaceNN( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createViSurfaceNN" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateViSurfaceNN( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createViSurfaceNN" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_VI_NN*/ @@ -20813,27 +21119,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector physicalDeviceGroupProperties; uint32_t physicalDeviceGroupCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( static_cast( m_instance ), &physicalDeviceGroupCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && physicalDeviceGroupCount ) + if ( ( result_ == Result::eSuccess ) && physicalDeviceGroupCount ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR( static_cast( m_instance ), &physicalDeviceGroupCount, reinterpret_cast( physicalDeviceGroupProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR" ); VULKAN_HPP_ASSERT( physicalDeviceGroupCount <= physicalDeviceGroupProperties.size() ); if ( physicalDeviceGroupCount < physicalDeviceGroupProperties.size() ) { physicalDeviceGroupProperties.resize( physicalDeviceGroupCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( physicalDeviceGroupProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( physicalDeviceGroupProperties ) ); } //=== VK_KHR_external_memory_capabilities === @@ -20864,11 +21170,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryWin32HandleKHR && "Function requires " ); HANDLE handle; - Result result = static_cast( getDispatcher()->vkGetMemoryWin32HandleKHR( + Result result_ = static_cast( getDispatcher()->vkGetMemoryWin32HandleKHR( static_cast( m_device ), reinterpret_cast( &getWin32HandleInfo ), &handle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( handle ) ); } // wrapper function for command vkGetMemoryWin32HandlePropertiesKHR, see @@ -20880,14 +21186,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR( static_cast( m_device ), static_cast( handleType ), handle, reinterpret_cast( &memoryWin32HandleProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryWin32HandleProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( memoryWin32HandleProperties ) ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -20899,11 +21205,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdKHR && "Function requires " ); int fd; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetMemoryFdKHR( static_cast( m_device ), reinterpret_cast( &getFdInfo ), &fd ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( fd ) ); } // wrapper function for command vkGetMemoryFdPropertiesKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryFdPropertiesKHR.html @@ -20913,13 +21219,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdPropertiesKHR && "Function requires " ); MemoryFdPropertiesKHR memoryFdProperties; - Result result = static_cast( getDispatcher()->vkGetMemoryFdPropertiesKHR( static_cast( m_device ), - static_cast( handleType ), - fd, - reinterpret_cast( &memoryFdProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetMemoryFdPropertiesKHR( static_cast( m_device ), + static_cast( handleType ), + fd, + reinterpret_cast( &memoryFdProperties ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryFdProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( memoryFdProperties ) ); } //=== VK_KHR_external_semaphore_capabilities === @@ -20952,11 +21258,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreWin32HandleKHR && "Function requires " ); - Result result = static_cast( getDispatcher()->vkImportSemaphoreWin32HandleKHR( + Result result_ = static_cast( getDispatcher()->vkImportSemaphoreWin32HandleKHR( static_cast( m_device ), reinterpret_cast( &importSemaphoreWin32HandleInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetSemaphoreWin32HandleKHR, see @@ -20968,11 +21274,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); HANDLE handle; - Result result = static_cast( getDispatcher()->vkGetSemaphoreWin32HandleKHR( + Result result_ = static_cast( getDispatcher()->vkGetSemaphoreWin32HandleKHR( static_cast( m_device ), reinterpret_cast( &getWin32HandleInfo ), &handle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( handle ) ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -20983,11 +21289,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreFdKHR && "Function requires " ); - Result result = static_cast( getDispatcher()->vkImportSemaphoreFdKHR( + Result result_ = static_cast( getDispatcher()->vkImportSemaphoreFdKHR( static_cast( m_device ), reinterpret_cast( &importSemaphoreFdInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreFdKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetSemaphoreFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSemaphoreFdKHR.html @@ -20996,11 +21302,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetSemaphoreFdKHR && "Function requires " ); int fd; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetSemaphoreFdKHR( static_cast( m_device ), reinterpret_cast( &getFdInfo ), &fd ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( fd ) ); } //=== VK_KHR_push_descriptor === @@ -21077,14 +21383,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateDescriptorUpdateTemplateKHR( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &descriptorUpdateTemplate ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDescriptorUpdateTemplateKHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DescriptorUpdateTemplate( *this, *reinterpret_cast( &descriptorUpdateTemplate ), allocator ) ); + result_, DescriptorUpdateTemplate( *this, *reinterpret_cast( &descriptorUpdateTemplate ), allocator ) ); } // wrapper function for command vkDestroyDescriptorUpdateTemplateKHR, see @@ -21138,11 +21444,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireXlibDisplayEXT && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkAcquireXlibDisplayEXT( static_cast( m_physicalDevice ), &dpy, static_cast( display ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetRandROutputDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetRandROutputDisplayEXT.html @@ -21152,10 +21458,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetRandROutputDisplayEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::DisplayKHR display; - Result result = static_cast( getDispatcher()->vkGetRandROutputDisplayEXT( + Result result_ = static_cast( getDispatcher()->vkGetRandROutputDisplayEXT( static_cast( m_physicalDevice ), &dpy, rrOutput, reinterpret_cast( &display ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayKHR( *this, *reinterpret_cast( &display ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getRandROutputDisplayEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, DisplayKHR( *this, *reinterpret_cast( &display ) ) ); } # endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/ @@ -21170,13 +21476,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); SurfaceCapabilities2EXT surfaceCapabilities; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT( static_cast( m_physicalDevice ), static_cast( surface ), reinterpret_cast( &surfaceCapabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( surfaceCapabilities ) ); } //=== VK_EXT_display_control === @@ -21187,11 +21493,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkDisplayPowerControlEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkDisplayPowerControlEXT( + Result result_ = static_cast( getDispatcher()->vkDisplayPowerControlEXT( static_cast( m_device ), static_cast( display ), reinterpret_cast( &displayPowerInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::displayPowerControlEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkRegisterDeviceEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDeviceEventEXT.html @@ -21202,12 +21508,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkRegisterDeviceEventEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::Fence fence; - Result result = static_cast( getDispatcher()->vkRegisterDeviceEventEXT( static_cast( m_device ), - reinterpret_cast( &deviceEventInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerEventEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Fence( *this, *reinterpret_cast( &fence ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkRegisterDeviceEventEXT( static_cast( m_device ), + reinterpret_cast( &deviceEventInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerEventEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Fence( *this, *reinterpret_cast( &fence ), allocator ) ); } // wrapper function for command vkRegisterDisplayEventEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkRegisterDisplayEventEXT.html @@ -21219,13 +21525,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkRegisterDisplayEventEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::Fence fence; - Result result = static_cast( getDispatcher()->vkRegisterDisplayEventEXT( static_cast( m_device ), - static_cast( *display ), - reinterpret_cast( &displayEventInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerDisplayEventEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Fence( *this, *reinterpret_cast( &fence ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkRegisterDisplayEventEXT( static_cast( m_device ), + static_cast( *display ), + reinterpret_cast( &displayEventInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &fence ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerDisplayEventEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, Fence( *this, *reinterpret_cast( &fence ), allocator ) ); } // wrapper function for command vkGetSwapchainCounterEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSwapchainCounterEXT.html @@ -21240,22 +21546,22 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainCounterEXT && "Function requires " ); uint64_t counterValue; - Result result = static_cast( getDispatcher()->vkGetSwapchainCounterEXT( static_cast( m_device ), - static_cast( m_swapchainKHR ), - static_cast( counter ), - &counterValue ) ); + Result result_ = static_cast( getDispatcher()->vkGetSwapchainCounterEXT( static_cast( m_device ), + static_cast( m_swapchainKHR ), + static_cast( counter ), + &counterValue ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT", { Result::eSuccess, Result::eErrorOutOfDateKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT", { Result::eSuccess, Result::eErrorOutOfDateKHR } ); # else - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT" ); # endif # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - return ResultValue( result, std::move( counterValue ) ); + return ResultValue( result_, std::move( counterValue ) ); # else - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( counterValue ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( counterValue ) ); # endif } @@ -21268,13 +21574,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetRefreshCycleDurationGOOGLE && "Function requires " ); RefreshCycleDurationGOOGLE displayTimingProperties; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetRefreshCycleDurationGOOGLE( static_cast( m_device ), static_cast( m_swapchainKHR ), reinterpret_cast( &displayTimingProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getRefreshCycleDurationGOOGLE" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getRefreshCycleDurationGOOGLE" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( displayTimingProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( displayTimingProperties ) ); } // wrapper function for command vkGetPastPresentationTimingGOOGLE, see @@ -21292,28 +21598,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentationTimings; uint32_t presentationTimingCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPastPresentationTimingGOOGLE( + result_ = static_cast( getDispatcher()->vkGetPastPresentationTimingGOOGLE( static_cast( m_device ), static_cast( m_swapchainKHR ), &presentationTimingCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentationTimingCount ) + if ( ( result_ == Result::eSuccess ) && presentationTimingCount ) { presentationTimings.resize( presentationTimingCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPastPresentationTimingGOOGLE( static_cast( m_device ), static_cast( m_swapchainKHR ), &presentationTimingCount, reinterpret_cast( presentationTimings.data() ) ) ); } - } while ( result == Result::eIncomplete ); + } while ( result_ == Result::eIncomplete ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE", { Result::eSuccess, Result::eIncomplete, Result::eErrorOutOfDateKHR } ); # else - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE" ); # endif VULKAN_HPP_ASSERT( presentationTimingCount <= presentationTimings.size() ); @@ -21323,9 +21629,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - return ResultValue>( result, std::move( presentationTimings ) ); + return ResultValue>( result_, std::move( presentationTimings ) ); # else - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentationTimings ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( presentationTimings ) ); # endif } @@ -21397,12 +21703,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); VULKAN_HPP_NAMESPACE::RenderPass renderPass; - Result result = static_cast( getDispatcher()->vkCreateRenderPass2KHR( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &renderPass ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, RenderPass( *this, *reinterpret_cast( &renderPass ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateRenderPass2KHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &renderPass ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRenderPass2KHR" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, RenderPass( *this, *reinterpret_cast( &renderPass ), allocator ) ); } // wrapper function for command vkCmdBeginRenderPass2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginRenderPass2KHR.html @@ -21444,18 +21750,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainStatusKHR && "Function requires " ); - Result result = + Result result_ = static_cast( getDispatcher()->vkGetSwapchainStatusKHR( static_cast( m_device ), static_cast( m_swapchainKHR ) ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getStatus", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getStatus", { Result::eSuccess, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getStatus", { Result::eSuccess, Result::eSuboptimalKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getStatus", { Result::eSuccess, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } //=== VK_KHR_external_fence_capabilities === @@ -21485,11 +21791,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkImportFenceWin32HandleKHR && "Function requires " ); - Result result = static_cast( getDispatcher()->vkImportFenceWin32HandleKHR( + Result result_ = static_cast( getDispatcher()->vkImportFenceWin32HandleKHR( static_cast( m_device ), reinterpret_cast( &importFenceWin32HandleInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetFenceWin32HandleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceWin32HandleKHR.html @@ -21499,11 +21805,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceWin32HandleKHR && "Function requires " ); HANDLE handle; - Result result = static_cast( getDispatcher()->vkGetFenceWin32HandleKHR( + Result result_ = static_cast( getDispatcher()->vkGetFenceWin32HandleKHR( static_cast( m_device ), reinterpret_cast( &getWin32HandleInfo ), &handle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( handle ) ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -21514,11 +21820,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkImportFenceFdKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkImportFenceFdKHR( static_cast( m_device ), reinterpret_cast( &importFenceFdInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importFenceFdKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importFenceFdKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetFenceFdKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetFenceFdKHR.html @@ -21527,11 +21833,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetFenceFdKHR && "Function requires " ); int fd; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetFenceFdKHR( static_cast( m_device ), reinterpret_cast( &getFdInfo ), &fd ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFenceFdKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFenceFdKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fd ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( fd ) ); } //=== VK_KHR_performance_query === @@ -21549,31 +21855,32 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector & counters = data_.first; std::vector & counterDescriptions = data_.second; uint32_t counterCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) + if ( ( result_ == Result::eSuccess ) && counterCount ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, reinterpret_cast( counters.data() ), reinterpret_cast( counterDescriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, + VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); VULKAN_HPP_ASSERT( counterCount <= counters.size() ); if ( counterCount < counters.size() ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, see @@ -21598,11 +21905,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireProfilingLockKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkAcquireProfilingLockKHR( static_cast( m_device ), reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquireProfilingLockKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkReleaseProfilingLockKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkReleaseProfilingLockKHR.html @@ -21636,13 +21943,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); SurfaceCapabilities2KHR surfaceCapabilities; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), reinterpret_cast( &surfaceCapabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceCapabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( surfaceCapabilities ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see @@ -21656,13 +21963,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; SurfaceCapabilities2KHR & surfaceCapabilities = structureChain.template get(); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), reinterpret_cast( &surfaceCapabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see @@ -21675,31 +21982,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { surfaceFormats.resize( surfaceFormatCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { surfaceFormats.resize( surfaceFormatCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( surfaceFormats ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( surfaceFormats ) ); } // wrapper function for command vkGetPhysicalDeviceSurfaceFormats2KHR, see @@ -21714,15 +22021,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector surfaceFormats; uint32_t surfaceFormatCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && surfaceFormatCount ) + if ( ( result_ == Result::eSuccess ) && surfaceFormatCount ) { structureChains.resize( surfaceFormatCount ); surfaceFormats.resize( surfaceFormatCount ); @@ -21730,14 +22037,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { surfaceFormats[i].pNext = structureChains[i].template get().pNext; } - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), &surfaceFormatCount, reinterpret_cast( surfaceFormats.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR" ); VULKAN_HPP_ASSERT( surfaceFormatCount <= surfaceFormats.size() ); if ( surfaceFormatCount < surfaceFormats.size() ) { @@ -21747,7 +22054,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = surfaceFormats[i]; } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChains ) ); } //=== VK_KHR_get_display_properties2 === @@ -21761,25 +22068,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPhysicalDeviceDisplayPlaneProperties2KHR, see @@ -21792,25 +22099,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDisplayModeProperties2KHR, see @@ -21822,28 +22129,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetDisplayModeProperties2KHR( + result_ = static_cast( getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( m_displayKHR ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = + result_ = static_cast( getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( m_displayKHR ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDisplayModeProperties2KHR, see @@ -21857,12 +22164,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector structureChains; std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetDisplayModeProperties2KHR( + result_ = static_cast( getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( m_displayKHR ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { structureChains.resize( propertyCount ); properties.resize( propertyCount ); @@ -21870,14 +22177,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { properties[i].pNext = structureChains[i].template get().pNext; } - result = + result_ = static_cast( getDispatcher()->vkGetDisplayModeProperties2KHR( static_cast( m_physicalDevice ), static_cast( m_displayKHR ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::getModeProperties2" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { @@ -21887,7 +22194,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { structureChains[i].template get() = properties[i]; } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChains ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChains ) ); } // wrapper function for command vkGetDisplayPlaneCapabilities2KHR, see @@ -21899,13 +22206,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DisplayPlaneCapabilities2KHR capabilities; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetDisplayPlaneCapabilities2KHR( static_cast( m_physicalDevice ), reinterpret_cast( &displayPlaneInfo ), reinterpret_cast( &capabilities ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( capabilities ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( capabilities ) ); } # if defined( VK_USE_PLATFORM_IOS_MVK ) @@ -21919,12 +22226,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateIOSSurfaceMVK && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateIOSSurfaceMVK( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateIOSSurfaceMVK( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createIOSSurfaceMVK" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_IOS_MVK*/ @@ -21939,12 +22246,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateMacOSSurfaceMVK && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateMacOSSurfaceMVK( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateMacOSSurfaceMVK( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createMacOSSurfaceMVK" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_MACOS_MVK*/ @@ -21956,11 +22263,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSetDebugUtilsObjectNameEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkSetDebugUtilsObjectNameEXT( + Result result_ = static_cast( getDispatcher()->vkSetDebugUtilsObjectNameEXT( static_cast( m_device ), reinterpret_cast( &nameInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkSetDebugUtilsObjectNameEXT, see @@ -21986,11 +22293,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSetDebugUtilsObjectTagEXT && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkSetDebugUtilsObjectTagEXT( static_cast( m_device ), reinterpret_cast( &tagInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkSetDebugUtilsObjectTagEXT, see @@ -22078,14 +22385,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDebugUtilsMessengerEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT messenger; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDebugUtilsMessengerEXT( static_cast( m_instance ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &messenger ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDebugUtilsMessengerEXT" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DebugUtilsMessengerEXT( *this, *reinterpret_cast( &messenger ), allocator ) ); + result_, DebugUtilsMessengerEXT( *this, *reinterpret_cast( &messenger ), allocator ) ); } // wrapper function for command vkSubmitDebugUtilsMessageEXT, see @@ -22114,11 +22421,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); AndroidHardwareBufferPropertiesANDROID properties; - Result result = static_cast( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( + Result result_ = static_cast( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see @@ -22132,11 +22439,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; AndroidHardwareBufferPropertiesANDROID & properties = structureChain.template get(); - Result result = static_cast( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( + Result result_ = static_cast( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetMemoryAndroidHardwareBufferANDROID, see @@ -22148,14 +22455,168 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); struct AHardwareBuffer * buffer; - Result result = static_cast( getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID( + Result result_ = static_cast( getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID( static_cast( m_device ), reinterpret_cast( &info ), &buffer ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( buffer ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( buffer ) ); } # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + //=== VK_AMD_gpa_interface === + + // wrapper function for command vkCreateGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateGpaSessionAMD.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type + Device::createGpaSessionAMD( GpaSessionCreateInfoAMD const & createInfo, + Optional allocator ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCreateGpaSessionAMD && "Function requires " ); + + VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession; + Result result_ = static_cast( getDispatcher()->vkCreateGpaSessionAMD( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &gpaSession ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createGpaSessionAMD" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + GpaSessionAMD( *this, *reinterpret_cast( &gpaSession ), allocator ) ); + } + + // wrapper function for command vkSetGpaDeviceClockModeAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetGpaDeviceClockModeAMD.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::setGpaClockModeAMD() const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkSetGpaDeviceClockModeAMD && "Function requires " ); + + GpaDeviceClockModeInfoAMD info; + Result result_ = static_cast( + getDispatcher()->vkSetGpaDeviceClockModeAMD( static_cast( m_device ), reinterpret_cast( &info ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setGpaClockModeAMD" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( info ) ); + } + + // wrapper function for command vkGetGpaDeviceClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaDeviceClockInfoAMD.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type Device::getGpaClockInfoAMD() const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkGetGpaDeviceClockInfoAMD && "Function requires " ); + + GpaDeviceGetClockInfoAMD info; + Result result_ = static_cast( + getDispatcher()->vkGetGpaDeviceClockInfoAMD( static_cast( m_device ), reinterpret_cast( &info ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGpaClockInfoAMD" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( info ) ); + } + + // wrapper function for command vkCmdBeginGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSessionAMD.html + VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::beginGpaSessionAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession ) const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginGpaSessionAMD && "Function requires " ); + + Result result_ = static_cast( + getDispatcher()->vkCmdBeginGpaSessionAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::beginGpaSessionAMD" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); + } + + // wrapper function for command vkCmdEndGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSessionAMD.html + VULKAN_HPP_INLINE typename ResultValueType::type CommandBuffer::endGpaSessionAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession ) const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndGpaSessionAMD && "Function requires " ); + + Result result_ = static_cast( + getDispatcher()->vkCmdEndGpaSessionAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::endGpaSessionAMD" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); + } + + // wrapper function for command vkCmdBeginGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginGpaSampleAMD.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type + CommandBuffer::beginGpaSampleAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession, GpaSampleBeginInfoAMD const & gpaSampleBeginInfo ) const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginGpaSampleAMD && "Function requires " ); + + uint32_t sampleID; + Result result_ = static_cast( getDispatcher()->vkCmdBeginGpaSampleAMD( static_cast( m_commandBuffer ), + static_cast( gpaSession ), + reinterpret_cast( &gpaSampleBeginInfo ), + &sampleID ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::beginGpaSampleAMD" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( sampleID ) ); + } + + // wrapper function for command vkCmdEndGpaSampleAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndGpaSampleAMD.html + VULKAN_HPP_INLINE void CommandBuffer::endGpaSampleAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession, uint32_t sampleID ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdEndGpaSampleAMD && "Function requires " ); + + getDispatcher()->vkCmdEndGpaSampleAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ), sampleID ); + } + + // wrapper function for command vkGetGpaSessionStatusAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionStatusAMD.html + VULKAN_HPP_INLINE typename ResultValueType::type GpaSessionAMD::getStatus() const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkGetGpaSessionStatusAMD && "Function requires " ); + + Result result_ = + static_cast( getDispatcher()->vkGetGpaSessionStatusAMD( static_cast( m_device ), static_cast( m_gpaSessionAMD ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::GpaSessionAMD::getStatus" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); + } + + // wrapper function for command vkGetGpaSessionResultsAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetGpaSessionResultsAMD.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type GpaSessionAMD::getResults( uint32_t sampleID ) const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkGetGpaSessionResultsAMD && "Function requires " ); + + std::vector data; + size_t sizeInBytes; + Result result_ = static_cast( getDispatcher()->vkGetGpaSessionResultsAMD( + static_cast( m_device ), static_cast( m_gpaSessionAMD ), sampleID, &sizeInBytes, nullptr ) ); + if ( result_ == Result::eSuccess ) + { + data.resize( sizeInBytes ); + result_ = static_cast( getDispatcher()->vkGetGpaSessionResultsAMD( static_cast( m_device ), + static_cast( m_gpaSessionAMD ), + sampleID, + &sizeInBytes, + reinterpret_cast( data.data() ) ) ); + } + + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::GpaSessionAMD::getResults" ); + VULKAN_HPP_ASSERT( sizeInBytes <= data.size() ); + if ( sizeInBytes < data.size() ) + { + data.resize( sizeInBytes ); + } + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); + } + + // wrapper function for command vkResetGpaSessionAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkResetGpaSessionAMD.html + VULKAN_HPP_INLINE typename ResultValueType::type GpaSessionAMD::reset() const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkResetGpaSessionAMD && "Function requires " ); + + Result result_ = + static_cast( getDispatcher()->vkResetGpaSessionAMD( static_cast( m_device ), static_cast( m_gpaSessionAMD ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::GpaSessionAMD::reset" ); + + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); + } + + // wrapper function for command vkCmdCopyGpaSessionResultsAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyGpaSessionResultsAMD.html + VULKAN_HPP_INLINE void CommandBuffer::copyGpaSessionResultsAMD( VULKAN_HPP_NAMESPACE::GpaSessionAMD gpaSession ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkCmdCopyGpaSessionResultsAMD && "Function requires " ); + + getDispatcher()->vkCmdCopyGpaSessionResultsAMD( static_cast( m_commandBuffer ), static_cast( gpaSession ) ); + } + # if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === @@ -22170,7 +22631,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); std::vector pipelines( createInfos.size() ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), pipelineCache ? static_cast( **pipelineCache ) : 0, createInfos.size(), @@ -22178,17 +22639,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExecutionGraphPipelinesAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); std::vector pipelinesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelinesRAII.reserve( pipelines.size() ); for ( auto & pipeline : pipelines ) { - pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result ); + pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelinesRAII ) ); } // wrapper function for command vkCreateExecutionGraphPipelinesAMDX, see @@ -22202,7 +22663,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::Pipeline pipeline; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateExecutionGraphPipelinesAMDX( static_cast( m_device ), pipelineCache ? static_cast( **pipelineCache ) : 0, 1, @@ -22210,8 +22671,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( &pipeline ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result ) ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExecutionGraphPipelineAMDX", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result_ ) ); } // wrapper function for command vkGetExecutionGraphPipelineScratchSizeAMDX, see @@ -22223,11 +22685,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); ExecutionGraphPipelineScratchSizeAMDX sizeInfo; - Result result = static_cast( getDispatcher()->vkGetExecutionGraphPipelineScratchSizeAMDX( + Result result_ = static_cast( getDispatcher()->vkGetExecutionGraphPipelineScratchSizeAMDX( static_cast( m_device ), static_cast( m_pipeline ), reinterpret_cast( &sizeInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getExecutionGraphScratchSizeAMDX" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getExecutionGraphScratchSizeAMDX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( sizeInfo ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( sizeInfo ) ); } // wrapper function for command vkGetExecutionGraphPipelineNodeIndexAMDX, see @@ -22239,14 +22701,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); uint32_t nodeIndex; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetExecutionGraphPipelineNodeIndexAMDX( static_cast( m_device ), static_cast( m_pipeline ), reinterpret_cast( &nodeInfo ), &nodeIndex ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getExecutionGraphNodeIndexAMDX" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getExecutionGraphNodeIndexAMDX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( nodeIndex ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( nodeIndex ) ); } // wrapper function for command vkCmdInitializeGraphScratchMemoryAMDX, see @@ -22322,14 +22784,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - Result result = + Result result_ = static_cast( getDispatcher()->vkWriteSamplerDescriptorsEXT( static_cast( m_device ), samplers.size(), reinterpret_cast( samplers.data() ), reinterpret_cast( descriptors.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeSamplerDescriptorsEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeSamplerDescriptorsEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkWriteResourceDescriptorsEXT, see @@ -22348,14 +22810,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - Result result = + Result result_ = static_cast( getDispatcher()->vkWriteResourceDescriptorsEXT( static_cast( m_device ), resources.size(), reinterpret_cast( resources.data() ), reinterpret_cast( descriptors.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeResourceDescriptorsEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeResourceDescriptorsEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdBindSamplerHeapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindSamplerHeapEXT.html @@ -22400,10 +22862,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDescriptorSizeEXT && "Function requires " ); - VkDeviceSize result = getDispatcher()->vkGetPhysicalDeviceDescriptorSizeEXT( static_cast( m_physicalDevice ), - static_cast( descriptorType ) ); + VkDeviceSize result_ = getDispatcher()->vkGetPhysicalDeviceDescriptorSizeEXT( static_cast( m_physicalDevice ), + static_cast( descriptorType ) ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkRegisterCustomBorderColorEXT, see @@ -22414,14 +22876,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkRegisterCustomBorderColorEXT && "Function requires " ); uint32_t index; - Result result = + Result result_ = static_cast( getDispatcher()->vkRegisterCustomBorderColorEXT( static_cast( m_device ), reinterpret_cast( &borderColor ), static_cast( requestIndex ), &index ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerCustomBorderColorEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::registerCustomBorderColorEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( index ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( index ) ); } // wrapper function for command vkUnregisterCustomBorderColorEXT, see @@ -22581,14 +23043,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateAccelerationStructureKHR( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &accelerationStructure ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructureKHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, AccelerationStructureKHR( *this, *reinterpret_cast( &accelerationStructure ), allocator ) ); + result_, AccelerationStructureKHR( *this, *reinterpret_cast( &accelerationStructure ), allocator ) ); } // wrapper function for command vkCmdBuildAccelerationStructuresKHR, see @@ -22670,17 +23132,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } # endif /*VULKAN_HPP_NO_EXCEPTIONS*/ - Result result = static_cast( getDispatcher()->vkBuildAccelerationStructuresKHR( + Result result_ = static_cast( getDispatcher()->vkBuildAccelerationStructuresKHR( static_cast( m_device ), static_cast( deferredOperation ), infos.size(), reinterpret_cast( infos.data() ), reinterpret_cast( pBuildRangeInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCopyAccelerationStructureKHR, see @@ -22691,15 +23153,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCopyAccelerationStructureKHR && "Function requires " ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCopyAccelerationStructureKHR( static_cast( m_device ), static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCopyAccelerationStructureToMemoryKHR, see @@ -22710,15 +23172,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCopyAccelerationStructureToMemoryKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCopyAccelerationStructureToMemoryKHR( static_cast( m_device ), static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCopyMemoryToAccelerationStructureKHR, see @@ -22729,15 +23191,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToAccelerationStructureKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCopyMemoryToAccelerationStructureKHR( static_cast( m_device ), static_cast( deferredOperation ), reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see @@ -22776,7 +23238,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR( static_cast( m_device ), accelerationStructures.size(), reinterpret_cast( accelerationStructures.data() ), @@ -22784,9 +23246,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE data.size() * sizeof( DataType ), reinterpret_cast( data.data() ), stride ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkWriteAccelerationStructuresPropertiesKHR, see @@ -22799,7 +23261,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR( static_cast( m_device ), accelerationStructures.size(), reinterpret_cast( accelerationStructures.data() ), @@ -22807,9 +23269,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE sizeof( DataType ), reinterpret_cast( &data ), stride ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkCmdCopyAccelerationStructureKHR, see @@ -22855,10 +23317,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR && "Function requires " ); - VkDeviceAddress result = getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR( + VkDeviceAddress result_ = getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesKHR, see @@ -22959,7 +23421,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); std::vector pipelines( createInfos.size() ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateRayTracingPipelinesKHR( static_cast( m_device ), deferredOperation ? static_cast( **deferredOperation ) : 0, pipelineCache ? static_cast( **pipelineCache ) : 0, @@ -22968,19 +23430,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT } ); std::vector pipelinesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelinesRAII.reserve( pipelines.size() ); for ( auto & pipeline : pipelines ) { - pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result ); + pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelinesRAII ) ); } // wrapper function for command vkCreateRayTracingPipelinesKHR, see @@ -22995,7 +23457,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::Pipeline pipeline; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateRayTracingPipelinesKHR( static_cast( m_device ), deferredOperation ? static_cast( **deferredOperation ) : 0, pipelineCache ? static_cast( **pipelineCache ) : 0, @@ -23004,10 +23466,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( &pipeline ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelineKHR", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR, Result::ePipelineCompileRequiredEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result_ ) ); } // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see @@ -23034,15 +23497,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast( m_device ), - static_cast( m_pipeline ), - firstGroup, - groupCount, - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast( m_device ), + static_cast( m_pipeline ), + firstGroup, + groupCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingShaderGroupHandlesKHR, see @@ -23055,15 +23518,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast( m_device ), - static_cast( m_pipeline ), - firstGroup, - groupCount, - sizeof( DataType ), - reinterpret_cast( &data ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR( static_cast( m_device ), + static_cast( m_pipeline ), + firstGroup, + groupCount, + sizeof( DataType ), + reinterpret_cast( &data ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see @@ -23090,15 +23553,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast( m_device ), - static_cast( m_pipeline ), - firstGroup, - groupCount, - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast( m_device ), + static_cast( m_pipeline ), + firstGroup, + groupCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, see @@ -23111,15 +23574,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast( m_device ), - static_cast( m_pipeline ), - firstGroup, - groupCount, - sizeof( DataType ), - reinterpret_cast( &data ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( static_cast( m_device ), + static_cast( m_pipeline ), + firstGroup, + groupCount, + sizeof( DataType ), + reinterpret_cast( &data ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkCmdTraceRaysIndirectKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdTraceRaysIndirectKHR.html @@ -23147,10 +23610,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR && "Function requires " ); - VkDeviceSize result = getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR( + VkDeviceSize result_ = getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR( static_cast( m_device ), static_cast( m_pipeline ), group, static_cast( groupShader ) ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCmdSetRayTracingPipelineStackSizeKHR, see @@ -23175,14 +23638,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateSamplerYcbcrConversionKHR( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &ycbcrConversion ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createSamplerYcbcrConversionKHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, SamplerYcbcrConversion( *this, *reinterpret_cast( &ycbcrConversion ), allocator ) ); + result_, SamplerYcbcrConversion( *this, *reinterpret_cast( &ycbcrConversion ), allocator ) ); } // wrapper function for command vkDestroySamplerYcbcrConversionKHR, see @@ -23205,11 +23668,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindBufferMemory2KHR && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkBindBufferMemory2KHR( + Result result_ = static_cast( getDispatcher()->vkBindBufferMemory2KHR( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindBufferMemory2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkBindImageMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkBindImageMemory2KHR.html @@ -23217,11 +23680,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindImageMemory2KHR && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkBindImageMemory2KHR( + Result result_ = static_cast( getDispatcher()->vkBindImageMemory2KHR( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindImageMemory2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_EXT_image_drm_format_modifier === @@ -23234,11 +23697,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); ImageDrmFormatModifierPropertiesEXT properties; - Result result = static_cast( getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT( + Result result_ = static_cast( getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT( static_cast( m_device ), static_cast( m_image ), reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::getDrmFormatModifierPropertiesEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Image::getDrmFormatModifierPropertiesEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } //=== VK_EXT_validation_cache === @@ -23251,13 +23714,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateValidationCacheEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::ValidationCacheEXT validationCache; - Result result = static_cast( getDispatcher()->vkCreateValidationCacheEXT( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &validationCache ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createValidationCacheEXT" ); + Result result_ = + static_cast( getDispatcher()->vkCreateValidationCacheEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &validationCache ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createValidationCacheEXT" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, ValidationCacheEXT( *this, *reinterpret_cast( &validationCache ), allocator ) ); + result_, ValidationCacheEXT( *this, *reinterpret_cast( &validationCache ), allocator ) ); } // wrapper function for command vkMergeValidationCachesEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkMergeValidationCachesEXT.html @@ -23266,13 +23730,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkMergeValidationCachesEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkMergeValidationCachesEXT( static_cast( m_device ), - static_cast( m_validationCacheEXT ), - srcCaches.size(), - reinterpret_cast( srcCaches.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ValidationCacheEXT::merge" ); + Result result_ = static_cast( getDispatcher()->vkMergeValidationCachesEXT( static_cast( m_device ), + static_cast( m_validationCacheEXT ), + srcCaches.size(), + reinterpret_cast( srcCaches.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::ValidationCacheEXT::merge" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetValidationCacheDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetValidationCacheDataEXT.html @@ -23282,27 +23746,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetValidationCacheDataEXT( + result_ = static_cast( getDispatcher()->vkGetValidationCacheDataEXT( static_cast( m_device ), static_cast( m_validationCacheEXT ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( getDispatcher()->vkGetValidationCacheDataEXT( static_cast( m_device ), - static_cast( m_validationCacheEXT ), - &dataSize, - reinterpret_cast( data.data() ) ) ); + result_ = static_cast( getDispatcher()->vkGetValidationCacheDataEXT( static_cast( m_device ), + static_cast( m_validationCacheEXT ), + &dataSize, + reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ValidationCacheEXT::getData" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::ValidationCacheEXT::getData" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } //=== VK_NV_shading_rate_image === @@ -23355,14 +23819,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateAccelerationStructureNV && "Function requires " ); VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateAccelerationStructureNV( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &accelerationStructure ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructureNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructureNV" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, AccelerationStructureNV( *this, *reinterpret_cast( &accelerationStructure ), allocator ) ); + result_, AccelerationStructureNV( *this, *reinterpret_cast( &accelerationStructure ), allocator ) ); } // wrapper function for command vkGetAccelerationStructureMemoryRequirementsNV, see @@ -23407,11 +23871,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkBindAccelerationStructureMemoryNV && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBindAccelerationStructureMemoryNV( + Result result_ = static_cast( getDispatcher()->vkBindAccelerationStructureMemoryNV( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdBuildAccelerationStructureNV, see @@ -23497,7 +23961,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateRayTracingPipelinesNV && "Function requires " ); std::vector pipelines( createInfos.size() ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateRayTracingPipelinesNV( static_cast( m_device ), pipelineCache ? static_cast( **pipelineCache ) : 0, createInfos.size(), @@ -23505,17 +23969,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); std::vector pipelinesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelinesRAII.reserve( pipelines.size() ); for ( auto & pipeline : pipelines ) { - pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result ); + pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelinesRAII ) ); } // wrapper function for command vkCreateRayTracingPipelinesNV, see @@ -23528,7 +23992,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateRayTracingPipelinesNV && "Function requires " ); VULKAN_HPP_NAMESPACE::Pipeline pipeline; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateRayTracingPipelinesNV( static_cast( m_device ), pipelineCache ? static_cast( **pipelineCache ) : 0, 1, @@ -23536,8 +24000,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( &pipeline ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result ) ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createRayTracingPipelineNV", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result_ ) ); } // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see @@ -23564,15 +24029,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast( m_device ), - static_cast( m_pipeline ), - firstGroup, - groupCount, - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesNV" ); + Result result_ = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast( m_device ), + static_cast( m_pipeline ), + firstGroup, + groupCount, + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetRayTracingShaderGroupHandlesNV, see @@ -23585,15 +24050,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast( m_device ), - static_cast( m_pipeline ), - firstGroup, - groupCount, - sizeof( DataType ), - reinterpret_cast( &data ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleNV" ); + Result result_ = static_cast( getDispatcher()->vkGetRayTracingShaderGroupHandlesNV( static_cast( m_device ), + static_cast( m_pipeline ), + firstGroup, + groupCount, + sizeof( DataType ), + reinterpret_cast( &data ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetAccelerationStructureHandleNV, see @@ -23614,14 +24079,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = + Result result_ = static_cast( getDispatcher()->vkGetAccelerationStructureHandleNV( static_cast( m_device ), static_cast( m_accelerationStructureNV ), data.size() * sizeof( DataType ), reinterpret_cast( data.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetAccelerationStructureHandleNV, see @@ -23632,14 +24097,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureHandleNV && "Function requires " ); DataType data; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetAccelerationStructureHandleNV( static_cast( m_device ), static_cast( m_accelerationStructureNV ), sizeof( DataType ), reinterpret_cast( &data ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::AccelerationStructureNV::getHandle" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkCmdWriteAccelerationStructuresPropertiesNV, see @@ -23666,11 +24131,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCompileDeferredNV && "Function requires " ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCompileDeferredNV( static_cast( m_device ), static_cast( m_pipeline ), shader ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::compileDeferredNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Pipeline::compileDeferredNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_KHR_maintenance3 === @@ -23764,14 +24229,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); MemoryHostPointerPropertiesEXT memoryHostPointerProperties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetMemoryHostPointerPropertiesEXT( static_cast( m_device ), static_cast( handleType ), pHostPointer, reinterpret_cast( &memoryHostPointerProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryHostPointerProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( memoryHostPointerProperties ) ); } //=== VK_AMD_buffer_marker === @@ -23818,25 +24283,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector timeDomains; uint32_t timeDomainCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( static_cast( m_physicalDevice ), &timeDomainCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && timeDomainCount ) + if ( ( result_ == Result::eSuccess ) && timeDomainCount ) { timeDomains.resize( timeDomainCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( static_cast( m_physicalDevice ), &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT" ); VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); if ( timeDomainCount < timeDomains.size() ) { timeDomains.resize( timeDomainCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( timeDomains ) ); } // wrapper function for command vkGetCalibratedTimestampsEXT, see @@ -23850,15 +24315,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair, uint64_t> data_( std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); std::vector & timestamps = data_.first; uint64_t & maxDeviation = data_.second; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetCalibratedTimestampsEXT( static_cast( m_device ), timestampInfos.size(), reinterpret_cast( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetCalibratedTimestampsEXT, see @@ -23872,11 +24337,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; uint64_t & timestamp = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( getDispatcher()->vkGetCalibratedTimestampsEXT( + Result result_ = static_cast( getDispatcher()->vkGetCalibratedTimestampsEXT( static_cast( m_device ), 1, reinterpret_cast( ×tampInfo ), ×tamp, &maxDeviation ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } //=== VK_NV_mesh_shader === @@ -24013,11 +24478,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); uint64_t value; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetSemaphoreCounterValueKHR( static_cast( m_device ), static_cast( m_semaphore ), &value ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Semaphore::getCounterValueKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Semaphore::getCounterValueKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( value ) ); } // wrapper function for command vkWaitSemaphoresKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkWaitSemaphoresKHR.html @@ -24025,12 +24490,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphoresKHR && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkWaitSemaphoresKHR( static_cast( m_device ), reinterpret_cast( &waitInfo ), timeout ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { Result::eSuccess, Result::eTimeout } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::waitSemaphoresKHR", { Result::eSuccess, Result::eTimeout } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkSignalSemaphoreKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSignalSemaphoreKHR.html @@ -24038,11 +24503,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSignalSemaphoreKHR && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkSignalSemaphoreKHR( static_cast( m_device ), reinterpret_cast( &signalInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::signalSemaphoreKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_EXT_present_timing === @@ -24054,12 +24519,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkSetSwapchainPresentTimingQueueSizeEXT && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkSetSwapchainPresentTimingQueueSizeEXT( static_cast( m_device ), static_cast( m_swapchainKHR ), size ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::setPresentTimingQueueSizeEXT", { Result::eSuccess, Result::eNotReady } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::setPresentTimingQueueSizeEXT", { Result::eSuccess, Result::eNotReady } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkGetSwapchainTimingPropertiesEXT, see @@ -24072,15 +24537,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; SwapchainTimingPropertiesEXT & swapchainTimingProperties = data_.first; uint64_t & swapchainTimingPropertiesCounter = data_.second; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetSwapchainTimingPropertiesEXT( static_cast( m_device ), static_cast( m_swapchainKHR ), reinterpret_cast( &swapchainTimingProperties ), &swapchainTimingPropertiesCounter ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getTimingPropertiesEXT", { Result::eSuccess, Result::eNotReady } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::getTimingPropertiesEXT", { Result::eSuccess, Result::eNotReady } ); - return { result, data_ }; + return { result_, data_ }; } // wrapper function for command vkGetSwapchainTimeDomainPropertiesEXT, see @@ -24119,11 +24584,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkInitializePerformanceApiINTEL && "Function requires " ); - Result result = static_cast( getDispatcher()->vkInitializePerformanceApiINTEL( + Result result_ = static_cast( getDispatcher()->vkInitializePerformanceApiINTEL( static_cast( m_device ), reinterpret_cast( &initializeInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkUninitializePerformanceApiINTEL, see @@ -24142,11 +24607,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPerformanceMarkerINTEL && "Function requires " ); - Result result = static_cast( getDispatcher()->vkCmdSetPerformanceMarkerINTEL( + Result result_ = static_cast( getDispatcher()->vkCmdSetPerformanceMarkerINTEL( static_cast( m_commandBuffer ), reinterpret_cast( &markerInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdSetPerformanceStreamMarkerINTEL, see @@ -24157,11 +24622,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL && "Function requires " ); - Result result = static_cast( getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL( + Result result_ = static_cast( getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL( static_cast( m_commandBuffer ), reinterpret_cast( &markerInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdSetPerformanceOverrideINTEL, see @@ -24171,11 +24636,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetPerformanceOverrideINTEL && "Function requires " ); - Result result = static_cast( getDispatcher()->vkCmdSetPerformanceOverrideINTEL( + Result result_ = static_cast( getDispatcher()->vkCmdSetPerformanceOverrideINTEL( static_cast( m_commandBuffer ), reinterpret_cast( &overrideInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkAcquirePerformanceConfigurationINTEL, see @@ -24187,13 +24652,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkAcquirePerformanceConfigurationINTEL( static_cast( m_device ), reinterpret_cast( &acquireInfo ), reinterpret_cast( &configuration ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::acquirePerformanceConfigurationINTEL" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, PerformanceConfigurationINTEL( *this, *reinterpret_cast( &configuration ) ) ); + result_, PerformanceConfigurationINTEL( *this, *reinterpret_cast( &configuration ) ) ); } // wrapper function for command vkQueueSetPerformanceConfigurationINTEL, see @@ -24204,11 +24669,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSetPerformanceConfigurationINTEL && "Function requires " ); - Result result = static_cast( getDispatcher()->vkQueueSetPerformanceConfigurationINTEL( + Result result_ = static_cast( getDispatcher()->vkQueueSetPerformanceConfigurationINTEL( static_cast( m_queue ), static_cast( configuration ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetPerformanceParameterINTEL, see @@ -24219,11 +24684,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPerformanceParameterINTEL && "Function requires " ); PerformanceValueINTEL value; - Result result = static_cast( getDispatcher()->vkGetPerformanceParameterINTEL( + Result result_ = static_cast( getDispatcher()->vkGetPerformanceParameterINTEL( static_cast( m_device ), static_cast( parameter ), reinterpret_cast( &value ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( value ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( value ) ); } //=== VK_AMD_display_native_hdr === @@ -24250,13 +24715,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateImagePipeSurfaceFUCHSIA( static_cast( m_instance ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createImagePipeSurfaceFUCHSIA" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -24271,12 +24736,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateMetalSurfaceEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateMetalSurfaceEXT( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateMetalSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createMetalSurfaceEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_METAL_EXT*/ @@ -24292,40 +24757,41 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector fragmentShadingRates; uint32_t fragmentShadingRateCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast( m_physicalDevice ), &fragmentShadingRateCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && fragmentShadingRateCount ) + if ( ( result_ == Result::eSuccess ) && fragmentShadingRateCount ) { fragmentShadingRates.resize( fragmentShadingRateCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR( static_cast( m_physicalDevice ), &fragmentShadingRateCount, reinterpret_cast( fragmentShadingRates.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR" ); VULKAN_HPP_ASSERT( fragmentShadingRateCount <= fragmentShadingRates.size() ); if ( fragmentShadingRateCount < fragmentShadingRates.size() ) { fragmentShadingRates.resize( fragmentShadingRateCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( fragmentShadingRates ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( fragmentShadingRates ) ); } // wrapper function for command vkCmdSetFragmentShadingRateKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateKHR.html - VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateKHR( Extent2D const & fragmentSize, - FragmentShadingRateCombinerOpKHR const combinerOps[2] ) const VULKAN_HPP_NOEXCEPT + VULKAN_HPP_INLINE void + CommandBuffer::setFragmentShadingRateKHR( Extent2D const & fragmentSize, + std::array const & combinerOps ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFragmentShadingRateKHR && "Function requires " ); getDispatcher()->vkCmdSetFragmentShadingRateKHR( static_cast( m_commandBuffer ), reinterpret_cast( &fragmentSize ), - reinterpret_cast( combinerOps ) ); + reinterpret_cast( combinerOps.data() ) ); } //=== VK_KHR_dynamic_rendering_local_read === @@ -24362,10 +24828,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE getDispatcher()->vkGetBufferDeviceAddressEXT && "Function requires or or " ); - VkDeviceAddress result = + VkDeviceAddress result_ = getDispatcher()->vkGetBufferDeviceAddressEXT( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } //=== VK_EXT_tooling_info === @@ -24380,25 +24846,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector toolProperties; uint32_t toolCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( static_cast( m_physicalDevice ), &toolCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && toolCount ) + if ( ( result_ == Result::eSuccess ) && toolCount ) { toolProperties.resize( toolCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT( static_cast( m_physicalDevice ), &toolCount, reinterpret_cast( toolProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT" ); VULKAN_HPP_ASSERT( toolCount <= toolProperties.size() ); if ( toolCount < toolProperties.size() ) { toolProperties.resize( toolCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( toolProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( toolProperties ) ); } //=== VK_KHR_present_wait === @@ -24408,19 +24874,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForPresentKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkWaitForPresentKHR( static_cast( m_device ), static_cast( m_swapchainKHR ), presentId, timeout ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } //=== VK_NV_cooperative_matrix === @@ -24435,25 +24901,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } //=== VK_NV_coverage_reduction_mode === @@ -24468,28 +24934,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector combinations; uint32_t combinationCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( static_cast( m_physicalDevice ), &combinationCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && combinationCount ) + if ( ( result_ == Result::eSuccess ) && combinationCount ) { combinations.resize( combinationCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( static_cast( m_physicalDevice ), &combinationCount, reinterpret_cast( combinations.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV" ); VULKAN_HPP_ASSERT( combinationCount <= combinations.size() ); if ( combinationCount < combinations.size() ) { combinations.resize( combinationCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( combinations ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( combinations ) ); } # if defined( VK_USE_PLATFORM_WIN32_KHR ) @@ -24505,31 +24971,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector presentModes; uint32_t presentModeCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), &presentModeCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && presentModeCount ) + if ( ( result_ == Result::eSuccess ) && presentModeCount ) { presentModes.resize( presentModeCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT( static_cast( m_physicalDevice ), reinterpret_cast( &surfaceInfo ), &presentModeCount, reinterpret_cast( presentModes.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT" ); VULKAN_HPP_ASSERT( presentModeCount <= presentModes.size() ); if ( presentModeCount < presentModes.size() ) { presentModes.resize( presentModeCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( presentModes ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( presentModes ) ); } // wrapper function for command vkAcquireFullScreenExclusiveModeEXT, see @@ -24539,11 +25005,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireFullScreenExclusiveModeEXT && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkAcquireFullScreenExclusiveModeEXT( static_cast( m_device ), static_cast( m_swapchainKHR ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireFullScreenExclusiveModeEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::acquireFullScreenExclusiveModeEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkReleaseFullScreenExclusiveModeEXT, see @@ -24553,11 +25019,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseFullScreenExclusiveModeEXT && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkReleaseFullScreenExclusiveModeEXT( static_cast( m_device ), static_cast( m_swapchainKHR ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::releaseFullScreenExclusiveModeEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::releaseFullScreenExclusiveModeEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetDeviceGroupSurfacePresentModes2EXT, see @@ -24569,13 +25035,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DeviceGroupPresentModeFlagsKHR modes; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT( static_cast( m_device ), reinterpret_cast( &surfaceInfo ), reinterpret_cast( &modes ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( modes ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( modes ) ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -24589,12 +25055,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateHeadlessSurfaceEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateHeadlessSurfaceEXT( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = + static_cast( getDispatcher()->vkCreateHeadlessSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createHeadlessSurfaceEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } //=== VK_KHR_buffer_device_address === @@ -24606,10 +25073,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE getDispatcher()->vkGetBufferDeviceAddressKHR && "Function requires or or " ); - VkDeviceAddress result = + VkDeviceAddress result_ = getDispatcher()->vkGetBufferDeviceAddressKHR( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkGetBufferOpaqueCaptureAddressKHR, see @@ -24619,10 +25086,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR && "Function requires or " ); - uint64_t result = + uint64_t result_ = getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR( static_cast( m_device ), reinterpret_cast( &info ) ); - return result; + return result_; } // wrapper function for command vkGetDeviceMemoryOpaqueCaptureAddressKHR, see @@ -24633,10 +25100,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR && "Function requires or " ); - uint64_t result = getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR( static_cast( m_device ), - reinterpret_cast( &info ) ); + uint64_t result_ = getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR( static_cast( m_device ), + reinterpret_cast( &info ) ); - return result; + return result_; } //=== VK_EXT_line_rasterization === @@ -24821,12 +25288,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation; - Result result = static_cast( getDispatcher()->vkCreateDeferredOperationKHR( static_cast( m_device ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &deferredOperation ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDeferredOperationKHR" ); + Result result_ = static_cast( getDispatcher()->vkCreateDeferredOperationKHR( static_cast( m_device ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &deferredOperation ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDeferredOperationKHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DeferredOperationKHR( *this, *reinterpret_cast( &deferredOperation ), allocator ) ); + result_, DeferredOperationKHR( *this, *reinterpret_cast( &deferredOperation ), allocator ) ); } // wrapper function for command vkGetDeferredOperationMaxConcurrencyKHR, see @@ -24836,10 +25303,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR && "Function requires " ); - uint32_t result = getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR( static_cast( m_device ), - static_cast( m_deferredOperationKHR ) ); + uint32_t result_ = getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR( static_cast( m_device ), + static_cast( m_deferredOperationKHR ) ); - return result; + return result_; } // wrapper function for command vkGetDeferredOperationResultKHR, see @@ -24849,12 +25316,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeferredOperationResultKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetDeferredOperationResultKHR( static_cast( m_device ), static_cast( m_deferredOperationKHR ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeferredOperationKHR::getResult", { Result::eSuccess, Result::eNotReady } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeferredOperationKHR::getResult", { Result::eSuccess, Result::eNotReady } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkDeferredOperationJoinKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDeferredOperationJoinKHR.html @@ -24862,12 +25329,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkDeferredOperationJoinKHR && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkDeferredOperationJoinKHR( static_cast( m_device ), static_cast( m_deferredOperationKHR ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeferredOperationKHR::join", { Result::eSuccess, Result::eThreadDoneKHR, Result::eThreadIdleKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DeferredOperationKHR::join", { Result::eSuccess, Result::eThreadDoneKHR, Result::eThreadIdleKHR } ); - return static_cast( result ); + return static_cast( result_ ); } //=== VK_KHR_pipeline_executable_properties === @@ -24882,28 +25349,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t executableCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPipelineExecutablePropertiesKHR( + result_ = static_cast( getDispatcher()->vkGetPipelineExecutablePropertiesKHR( static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &executableCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && executableCount ) + if ( ( result_ == Result::eSuccess ) && executableCount ) { properties.resize( executableCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPipelineExecutablePropertiesKHR( static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &executableCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR" ); VULKAN_HPP_ASSERT( executableCount <= properties.size() ); if ( executableCount < properties.size() ) { properties.resize( executableCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetPipelineExecutableStatisticsKHR, see @@ -24916,28 +25383,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector statistics; uint32_t statisticCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPipelineExecutableStatisticsKHR( + result_ = static_cast( getDispatcher()->vkGetPipelineExecutableStatisticsKHR( static_cast( m_device ), reinterpret_cast( &executableInfo ), &statisticCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && statisticCount ) + if ( ( result_ == Result::eSuccess ) && statisticCount ) { statistics.resize( statisticCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPipelineExecutableStatisticsKHR( static_cast( m_device ), reinterpret_cast( &executableInfo ), &statisticCount, reinterpret_cast( statistics.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR" ); VULKAN_HPP_ASSERT( statisticCount <= statistics.size() ); if ( statisticCount < statistics.size() ) { statistics.resize( statisticCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( statistics ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( statistics ) ); } // wrapper function for command vkGetPipelineExecutableInternalRepresentationsKHR, see @@ -24963,11 +25430,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToImageEXT && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkCopyMemoryToImageEXT( + Result result_ = static_cast( getDispatcher()->vkCopyMemoryToImageEXT( static_cast( m_device ), reinterpret_cast( ©MemoryToImageInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToImageEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToImageEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCopyImageToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToMemoryEXT.html @@ -24975,11 +25442,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToMemoryEXT && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkCopyImageToMemoryEXT( + Result result_ = static_cast( getDispatcher()->vkCopyImageToMemoryEXT( static_cast( m_device ), reinterpret_cast( ©ImageToMemoryInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToMemoryEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToMemoryEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCopyImageToImageEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyImageToImageEXT.html @@ -24987,11 +25454,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyImageToImageEXT && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkCopyImageToImageEXT( + Result result_ = static_cast( getDispatcher()->vkCopyImageToImageEXT( static_cast( m_device ), reinterpret_cast( ©ImageToImageInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToImageEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyImageToImageEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkTransitionImageLayoutEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkTransitionImageLayoutEXT.html @@ -25001,11 +25468,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkTransitionImageLayoutEXT && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkTransitionImageLayoutEXT( + Result result_ = static_cast( getDispatcher()->vkTransitionImageLayoutEXT( static_cast( m_device ), transitions.size(), reinterpret_cast( transitions.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::transitionImageLayoutEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::transitionImageLayoutEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetImageSubresourceLayout2EXT, see @@ -25053,11 +25520,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory2KHR && "Function requires or " ); void * pData; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkMapMemory2KHR( static_cast( m_device ), reinterpret_cast( &memoryMapInfo ), &pData ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::mapMemory2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::mapMemory2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pData ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pData ) ); } // wrapper function for command vkUnmapMemory2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkUnmapMemory2KHR.html @@ -25065,11 +25532,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkUnmapMemory2KHR && "Function requires or " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkUnmapMemory2KHR( static_cast( m_device ), reinterpret_cast( &memoryUnmapInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::unmapMemory2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::unmapMemory2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_EXT_swapchain_maintenance1 === @@ -25080,11 +25547,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseSwapchainImagesEXT && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkReleaseSwapchainImagesEXT( + Result result_ = static_cast( getDispatcher()->vkReleaseSwapchainImagesEXT( static_cast( m_device ), reinterpret_cast( &releaseInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseSwapchainImagesEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseSwapchainImagesEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_NV_device_generated_commands === @@ -25172,14 +25639,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV indirectCommandsLayout; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateIndirectCommandsLayoutNV( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &indirectCommandsLayout ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutNV" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, IndirectCommandsLayoutNV( *this, *reinterpret_cast( &indirectCommandsLayout ), allocator ) ); + result_, IndirectCommandsLayoutNV( *this, *reinterpret_cast( &indirectCommandsLayout ), allocator ) ); } //=== VK_EXT_depth_bias_control === @@ -25199,11 +25666,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireDrmDisplayEXT && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkAcquireDrmDisplayEXT( static_cast( m_physicalDevice ), drmFd, static_cast( display ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetDrmDisplayEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetDrmDisplayEXT.html @@ -25213,10 +25680,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetDrmDisplayEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::DisplayKHR display; - Result result = static_cast( getDispatcher()->vkGetDrmDisplayEXT( + Result result_ = static_cast( getDispatcher()->vkGetDrmDisplayEXT( static_cast( m_physicalDevice ), drmFd, connectorId, reinterpret_cast( &display ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayKHR( *this, *reinterpret_cast( &display ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getDrmDisplayEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, DisplayKHR( *this, *reinterpret_cast( &display ) ) ); } //=== VK_EXT_private_data === @@ -25230,13 +25697,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot; - Result result = static_cast( getDispatcher()->vkCreatePrivateDataSlotEXT( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &privateDataSlot ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" ); + Result result_ = static_cast( getDispatcher()->vkCreatePrivateDataSlotEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &privateDataSlot ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPrivateDataSlotEXT" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, PrivateDataSlot( *this, *reinterpret_cast( &privateDataSlot ), allocator ) ); + result_, PrivateDataSlot( *this, *reinterpret_cast( &privateDataSlot ), allocator ) ); } // wrapper function for command vkDestroyPrivateDataSlotEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkDestroyPrivateDataSlotEXT.html @@ -25257,11 +25724,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSetPrivateDataEXT && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkSetPrivateDataEXT( + Result result_ = static_cast( getDispatcher()->vkSetPrivateDataEXT( static_cast( m_device ), static_cast( objectType_ ), objectHandle, static_cast( privateDataSlot ), data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::setPrivateDataEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetPrivateDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPrivateDataEXT.html @@ -25289,13 +25756,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VideoEncodeQualityLevelPropertiesKHR qualityLevelProperties; - Result result = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &qualityLevelInfo ), reinterpret_cast( &qualityLevelProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( qualityLevelProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( qualityLevelProperties ) ); } // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see @@ -25309,13 +25776,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; VideoEncodeQualityLevelPropertiesKHR & qualityLevelProperties = structureChain.template get(); - Result result = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( static_cast( m_physicalDevice ), reinterpret_cast( &qualityLevelInfo ), reinterpret_cast( &qualityLevelProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see @@ -25330,29 +25797,29 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first; std::vector & data = data_.second; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( + result_ = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( + result_ = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetEncodedVideoSessionParametersKHR, see @@ -25368,29 +25835,29 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VideoEncodeSessionParametersFeedbackInfoKHR & feedbackInfo = data_.first.template get(); std::vector & data = data_.second; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( + result_ = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( + result_ = static_cast( getDispatcher()->vkGetEncodedVideoSessionParametersKHR( static_cast( m_device ), reinterpret_cast( &videoSessionParametersInfo ), reinterpret_cast( &feedbackInfo ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getEncodedVideoSessionParametersKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkCmdEncodeVideoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEncodeVideoKHR.html @@ -25408,11 +25875,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSetPerfHintQCOM && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkQueueSetPerfHintQCOM( static_cast( m_queue ), reinterpret_cast( &perfHintInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::setPerfHintQCOM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::setPerfHintQCOM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } # if defined( VK_ENABLE_BETA_EXTENSIONS ) @@ -25426,12 +25893,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateCudaModuleNV && "Function requires " ); VULKAN_HPP_NAMESPACE::CudaModuleNV module; - Result result = static_cast( getDispatcher()->vkCreateCudaModuleNV( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &module ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCudaModuleNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, CudaModuleNV( *this, *reinterpret_cast( &module ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateCudaModuleNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &module ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCudaModuleNV" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, CudaModuleNV( *this, *reinterpret_cast( &module ), allocator ) ); } // wrapper function for command vkGetCudaModuleCacheNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetCudaModuleCacheNV.html @@ -25441,25 +25908,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector cacheData; size_t cacheSize; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetCudaModuleCacheNV( static_cast( m_device ), static_cast( m_cudaModuleNV ), &cacheSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && cacheSize ) + if ( ( result_ == Result::eSuccess ) && cacheSize ) { cacheData.resize( cacheSize ); - result = static_cast( getDispatcher()->vkGetCudaModuleCacheNV( + result_ = static_cast( getDispatcher()->vkGetCudaModuleCacheNV( static_cast( m_device ), static_cast( m_cudaModuleNV ), &cacheSize, reinterpret_cast( cacheData.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::CudaModuleNV::getCache" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::CudaModuleNV::getCache" ); VULKAN_HPP_ASSERT( cacheSize <= cacheData.size() ); if ( cacheSize < cacheData.size() ) { cacheData.resize( cacheSize ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( cacheData ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( cacheData ) ); } // wrapper function for command vkCreateCudaFunctionNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateCudaFunctionNV.html @@ -25470,12 +25937,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateCudaFunctionNV && "Function requires " ); VULKAN_HPP_NAMESPACE::CudaFunctionNV function; - Result result = static_cast( getDispatcher()->vkCreateCudaFunctionNV( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &function ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCudaFunctionNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, + Result result_ = static_cast( getDispatcher()->vkCreateCudaFunctionNV( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &function ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createCudaFunctionNV" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, CudaFunctionNV( *this, *reinterpret_cast( &function ), allocator ) ); } @@ -25519,6 +25986,76 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( &perTileEndInfo ) ); } + //=== VK_NV_low_latency === + + // wrapper function for command vkSetLatencySleepModeLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencySleepModeLegacyNV.html + VULKAN_HPP_INLINE void + Device::setLatencySleepModeLegacyNV( Bool32 lowLatencyMode, Bool32 lowLatencyBoost, uint32_t minimumIntervalUs ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkSetLatencySleepModeLegacyNV && "Function requires " ); + + getDispatcher()->vkSetLatencySleepModeLegacyNV( + static_cast( m_device ), static_cast( lowLatencyMode ), static_cast( lowLatencyBoost ), minimumIntervalUs ); + } + + // wrapper function for command vkLatencySleepLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepLegacyNV.html + VULKAN_HPP_INLINE void Semaphore::latencySleepLegacyNV( uint64_t value ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkLatencySleepLegacyNV && "Function requires " ); + + getDispatcher()->vkLatencySleepLegacyNV( static_cast( m_device ), static_cast( m_semaphore ), value ); + } + + // wrapper function for command vkSetLatencyMarkerLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerLegacyNV.html + VULKAN_HPP_INLINE void Device::setLatencyMarkerLegacyNV( uint64_t frameID, uint32_t marker ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkSetLatencyMarkerLegacyNV && "Function requires " ); + + getDispatcher()->vkSetLatencyMarkerLegacyNV( static_cast( m_device ), frameID, marker ); + } + + // wrapper function for command vkGetLatencyTimingsLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetLatencyTimingsLegacyNV.html + template + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE TimingsType Device::getLatencyTimingsLegacyNV() const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkGetLatencyTimingsLegacyNV && "Function requires " ); + + TimingsType timings; + getDispatcher()->vkGetLatencyTimingsLegacyNV( static_cast( m_device ), &timings ); + + return timings; + } + + // wrapper function for command vkQueueNotifyOutOfBandLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkQueueNotifyOutOfBandLegacyNV.html + VULKAN_HPP_INLINE void Queue::notifyOutOfBandLegacyNV( uint32_t queueType ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkQueueNotifyOutOfBandLegacyNV && "Function requires " ); + + getDispatcher()->vkQueueNotifyOutOfBandLegacyNV( static_cast( m_queue ), queueType ); + } + + // wrapper function for command vkGetSleepStatusLegacyNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetSleepStatusLegacyNV.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Bool32 Device::getSleepStatusLegacyNV() const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkGetSleepStatusLegacyNV && "Function requires " ); + + Bool32 lowLatencyMode; + getDispatcher()->vkGetSleepStatusLegacyNV( static_cast( m_device ), reinterpret_cast( &lowLatencyMode ) ); + + return lowLatencyMode; + } + + // wrapper function for command vkShutdownLatencyDeviceLegacyNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkShutdownLatencyDeviceLegacyNV.html + VULKAN_HPP_INLINE void Device::shutdownLatencyLegacyNV() const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkShutdownLatencyDeviceLegacyNV && "Function requires " ); + + getDispatcher()->vkShutdownLatencyDeviceLegacyNV( static_cast( m_device ) ); + } + # if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_metal_objects === @@ -25598,11 +26135,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkQueueSubmit2KHR && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkQueueSubmit2KHR( + Result result_ = static_cast( getDispatcher()->vkQueueSubmit2KHR( static_cast( m_queue ), submits.size(), reinterpret_cast( submits.data() ), static_cast( fence ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Queue::submit2KHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_EXT_descriptor_buffer === @@ -25732,11 +26269,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetBufferOpaqueCaptureDescriptorDataEXT( + Result result_ = static_cast( getDispatcher()->vkGetBufferOpaqueCaptureDescriptorDataEXT( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetImageOpaqueCaptureDescriptorDataEXT, see @@ -25749,11 +26286,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetImageOpaqueCaptureDescriptorDataEXT( + Result result_ = static_cast( getDispatcher()->vkGetImageOpaqueCaptureDescriptorDataEXT( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetImageViewOpaqueCaptureDescriptorDataEXT, see @@ -25766,11 +26303,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetImageViewOpaqueCaptureDescriptorDataEXT( + Result result_ = static_cast( getDispatcher()->vkGetImageViewOpaqueCaptureDescriptorDataEXT( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetSamplerOpaqueCaptureDescriptorDataEXT, see @@ -25783,11 +26320,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetSamplerOpaqueCaptureDescriptorDataEXT( + Result result_ = static_cast( getDispatcher()->vkGetSamplerOpaqueCaptureDescriptorDataEXT( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, see @@ -25800,11 +26337,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( + Result result_ = static_cast( getDispatcher()->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } //=== VK_KHR_device_address_commands === @@ -26082,29 +26619,30 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateAccelerationStructure2KHR( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &accelerationStructure ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructure2KHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createAccelerationStructure2KHR" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, AccelerationStructureKHR( *this, *reinterpret_cast( &accelerationStructure ), allocator ) ); + result_, AccelerationStructureKHR( *this, *reinterpret_cast( &accelerationStructure ), allocator ) ); } //=== VK_NV_fragment_shading_rate_enums === // wrapper function for command vkCmdSetFragmentShadingRateEnumNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSetFragmentShadingRateEnumNV.html - VULKAN_HPP_INLINE void CommandBuffer::setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, - FragmentShadingRateCombinerOpKHR const combinerOps[2] ) const VULKAN_HPP_NOEXCEPT + VULKAN_HPP_INLINE void + CommandBuffer::setFragmentShadingRateEnumNV( FragmentShadingRateNV shadingRate, + std::array const & combinerOps ) const VULKAN_HPP_NOEXCEPT { VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetFragmentShadingRateEnumNV && "Function requires " ); getDispatcher()->vkCmdSetFragmentShadingRateEnumNV( static_cast( m_commandBuffer ), static_cast( shadingRate ), - reinterpret_cast( combinerOps ) ); + reinterpret_cast( combinerOps.data() ) ); } //=== VK_EXT_mesh_shader === @@ -26223,11 +26761,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireWinrtDisplayNV && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkAcquireWinrtDisplayNV( static_cast( m_physicalDevice ), static_cast( m_displayKHR ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::acquireWinrtNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::DisplayKHR::acquireWinrtNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetWinrtDisplayNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetWinrtDisplayNV.html @@ -26237,10 +26775,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetWinrtDisplayNV && "Function requires " ); VULKAN_HPP_NAMESPACE::DisplayKHR display; - Result result = static_cast( getDispatcher()->vkGetWinrtDisplayNV( + Result result_ = static_cast( getDispatcher()->vkGetWinrtDisplayNV( static_cast( m_physicalDevice ), deviceRelativeId, reinterpret_cast( &display ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, DisplayKHR( *this, *reinterpret_cast( &display ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getWinrtDisplayNV" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, DisplayKHR( *this, *reinterpret_cast( &display ) ) ); } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -26255,12 +26793,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDirectFBSurfaceEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateDirectFBSurfaceEXT( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = + static_cast( getDispatcher()->vkCreateDirectFBSurfaceEXT( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createDirectFBSurfaceEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceDirectFBPresentationSupportEXT, see @@ -26271,10 +26810,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT && "Function requires " ); - VkBool32 result = + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT( static_cast( m_physicalDevice ), queueFamilyIndex, &dfb ); - return static_cast( result ); + return static_cast( result_ ); } # endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/ @@ -26306,11 +26845,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryZirconHandleFUCHSIA && "Function requires " ); zx_handle_t zirconHandle; - Result result = static_cast( getDispatcher()->vkGetMemoryZirconHandleFUCHSIA( + Result result_ = static_cast( getDispatcher()->vkGetMemoryZirconHandleFUCHSIA( static_cast( m_device ), reinterpret_cast( &getZirconHandleInfo ), &zirconHandle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( zirconHandle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( zirconHandle ) ); } // wrapper function for command vkGetMemoryZirconHandlePropertiesFUCHSIA, see @@ -26322,14 +26861,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties; - Result result = static_cast( getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA( + Result result_ = static_cast( getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA( static_cast( m_device ), static_cast( handleType ), zirconHandle, reinterpret_cast( &memoryZirconHandleProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryZirconHandleProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( memoryZirconHandleProperties ) ); } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -26344,11 +26883,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA && "Function requires " ); - Result result = static_cast( getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA( + Result result_ = static_cast( getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA( static_cast( m_device ), reinterpret_cast( &importSemaphoreZirconHandleInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetSemaphoreZirconHandleFUCHSIA, see @@ -26360,11 +26899,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); zx_handle_t zirconHandle; - Result result = static_cast( getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA( + Result result_ = static_cast( getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA( static_cast( m_device ), reinterpret_cast( &getZirconHandleInfo ), &zirconHandle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( zirconHandle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( zirconHandle ) ); } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -26381,14 +26920,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA collection; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateBufferCollectionFUCHSIA( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &collection ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIA" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, BufferCollectionFUCHSIA( *this, *reinterpret_cast( &collection ), allocator ) ); + result_, BufferCollectionFUCHSIA( *this, *reinterpret_cast( &collection ), allocator ) ); } // wrapper function for command vkSetBufferCollectionImageConstraintsFUCHSIA, see @@ -26399,13 +26938,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA( static_cast( m_device ), static_cast( m_bufferCollectionFUCHSIA ), reinterpret_cast( &imageConstraintsInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setImageConstraints" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setImageConstraints" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkSetBufferCollectionBufferConstraintsFUCHSIA, see @@ -26416,13 +26955,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA && "Function requires " ); - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA( static_cast( m_device ), static_cast( m_bufferCollectionFUCHSIA ), reinterpret_cast( &bufferConstraintsInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setBufferConstraints" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setBufferConstraints" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetBufferCollectionPropertiesFUCHSIA, see @@ -26433,13 +26972,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); BufferCollectionPropertiesFUCHSIA properties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIA( static_cast( m_device ), static_cast( m_bufferCollectionFUCHSIA ), reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::getProperties" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::BufferCollectionFUCHSIA::getProperties" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -26453,11 +26992,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); Extent2D maxWorkgroupSize; - Result result = static_cast( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + Result result_ = static_cast( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( static_cast( m_device ), static_cast( m_renderPass ), reinterpret_cast( &maxWorkgroupSize ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( maxWorkgroupSize ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( maxWorkgroupSize ) ); } // wrapper function for command vkCmdSubpassShadingHUAWEI, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdSubpassShadingHUAWEI.html @@ -26490,13 +27029,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryRemoteAddressNV && "Function requires " ); RemoteAddressNV address; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetMemoryRemoteAddressNV( static_cast( m_device ), reinterpret_cast( &memoryGetRemoteAddressInfo ), reinterpret_cast( &address ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( address ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( address ) ); } //=== VK_EXT_pipeline_properties === @@ -26508,12 +27047,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelinePropertiesEXT && "Function requires " ); BaseOutStructure pipelineProperties; - Result result = static_cast( getDispatcher()->vkGetPipelinePropertiesEXT( static_cast( m_device ), - reinterpret_cast( &pipelineInfo ), - reinterpret_cast( &pipelineProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); + Result result_ = static_cast( getDispatcher()->vkGetPipelinePropertiesEXT( static_cast( m_device ), + reinterpret_cast( &pipelineInfo ), + reinterpret_cast( &pipelineProperties ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelineProperties ) ); } //=== VK_EXT_extended_dynamic_state2 === @@ -26579,12 +27118,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateScreenSurfaceQNX && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateScreenSurfaceQNX( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createScreenSurfaceQNX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateScreenSurfaceQNX( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createScreenSurfaceQNX" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceScreenPresentationSupportQNX, see @@ -26595,10 +27134,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX && "Function requires " ); - VkBool32 result = + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX( static_cast( m_physicalDevice ), queueFamilyIndex, &window ); - return static_cast( result ); + return static_cast( result_ ); } # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ @@ -26667,12 +27206,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateMicromapEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::MicromapEXT micromap; - Result result = static_cast( getDispatcher()->vkCreateMicromapEXT( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( µmap ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createMicromapEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, MicromapEXT( *this, *reinterpret_cast( µmap ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateMicromapEXT( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( µmap ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createMicromapEXT" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, MicromapEXT( *this, *reinterpret_cast( µmap ), allocator ) ); } // wrapper function for command vkCmdBuildMicromapsEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBuildMicromapsEXT.html @@ -26690,15 +27229,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBuildMicromapsEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBuildMicromapsEXT( static_cast( m_device ), - static_cast( deferredOperation ), - infos.size(), - reinterpret_cast( infos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + Result result_ = static_cast( getDispatcher()->vkBuildMicromapsEXT( static_cast( m_device ), + static_cast( deferredOperation ), + infos.size(), + reinterpret_cast( infos.data() ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::buildMicromapsEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapEXT.html @@ -26707,14 +27246,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMicromapEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkCopyMicromapEXT( static_cast( m_device ), - static_cast( deferredOperation ), - reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + Result result_ = static_cast( getDispatcher()->vkCopyMicromapEXT( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMicromapEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCopyMicromapToMemoryEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMicromapToMemoryEXT.html @@ -26723,14 +27262,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMicromapToMemoryEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkCopyMicromapToMemoryEXT( static_cast( m_device ), - static_cast( deferredOperation ), - reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + Result result_ = static_cast( getDispatcher()->vkCopyMicromapToMemoryEXT( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMicromapToMemoryEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCopyMemoryToMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCopyMemoryToMicromapEXT.html @@ -26739,14 +27278,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToMicromapEXT && "Function requires " ); - Result result = static_cast( getDispatcher()->vkCopyMemoryToMicromapEXT( static_cast( m_device ), - static_cast( deferredOperation ), - reinterpret_cast( &info ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + Result result_ = static_cast( getDispatcher()->vkCopyMemoryToMicromapEXT( static_cast( m_device ), + static_cast( deferredOperation ), + reinterpret_cast( &info ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::copyMemoryToMicromapEXT", { Result::eSuccess, Result::eOperationDeferredKHR, Result::eOperationNotDeferredKHR } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkWriteMicromapsPropertiesEXT, see @@ -26778,16 +27317,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); std::vector data( dataSize / sizeof( DataType ) ); - Result result = static_cast( getDispatcher()->vkWriteMicromapsPropertiesEXT( static_cast( m_device ), - micromaps.size(), - reinterpret_cast( micromaps.data() ), - static_cast( queryType ), - data.size() * sizeof( DataType ), - reinterpret_cast( data.data() ), - stride ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeMicromapsPropertiesEXT" ); + Result result_ = static_cast( getDispatcher()->vkWriteMicromapsPropertiesEXT( static_cast( m_device ), + micromaps.size(), + reinterpret_cast( micromaps.data() ), + static_cast( queryType ), + data.size() * sizeof( DataType ), + reinterpret_cast( data.data() ), + stride ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeMicromapsPropertiesEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkWriteMicromapsPropertiesEXT, see @@ -26799,16 +27338,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkWriteMicromapsPropertiesEXT && "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkWriteMicromapsPropertiesEXT( static_cast( m_device ), - micromaps.size(), - reinterpret_cast( micromaps.data() ), - static_cast( queryType ), - sizeof( DataType ), - reinterpret_cast( &data ), - stride ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeMicromapsPropertyEXT" ); + Result result_ = static_cast( getDispatcher()->vkWriteMicromapsPropertiesEXT( static_cast( m_device ), + micromaps.size(), + reinterpret_cast( micromaps.data() ), + static_cast( queryType ), + sizeof( DataType ), + reinterpret_cast( &data ), + stride ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::writeMicromapsPropertyEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkCmdCopyMicromapEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdCopyMicromapEXT.html @@ -27176,10 +27715,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineIndirectDeviceAddressNV && "Function requires " ); - VkDeviceAddress result = getDispatcher()->vkGetPipelineIndirectDeviceAddressNV( + VkDeviceAddress result_ = getDispatcher()->vkGetPipelineIndirectDeviceAddressNV( static_cast( m_device ), reinterpret_cast( &info ) ); - return static_cast( result ); + return static_cast( result_ ); } # if defined( VK_USE_PLATFORM_OHOS ) @@ -27193,11 +27732,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetNativeBufferPropertiesOHOS && "Function requires " ); NativeBufferPropertiesOHOS properties; - Result result = static_cast( getDispatcher()->vkGetNativeBufferPropertiesOHOS( + Result result_ = static_cast( getDispatcher()->vkGetNativeBufferPropertiesOHOS( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetNativeBufferPropertiesOHOS, see @@ -27210,11 +27749,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; NativeBufferPropertiesOHOS & properties = structureChain.template get(); - Result result = static_cast( getDispatcher()->vkGetNativeBufferPropertiesOHOS( + Result result_ = static_cast( getDispatcher()->vkGetNativeBufferPropertiesOHOS( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getNativeBufferPropertiesOHOS" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } // wrapper function for command vkGetMemoryNativeBufferOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetMemoryNativeBufferOHOS.html @@ -27224,11 +27763,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryNativeBufferOHOS && "Function requires " ); struct OH_NativeBuffer * buffer; - Result result = static_cast( getDispatcher()->vkGetMemoryNativeBufferOHOS( + Result result_ = static_cast( getDispatcher()->vkGetMemoryNativeBufferOHOS( static_cast( m_device ), reinterpret_cast( &info ), &buffer ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryNativeBufferOHOS" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryNativeBufferOHOS" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( buffer ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( buffer ) ); } # endif /*VK_USE_PLATFORM_OHOS*/ @@ -27589,12 +28128,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateTensorARM && "Function requires " ); VULKAN_HPP_NAMESPACE::TensorARM tensor; - Result result = static_cast( getDispatcher()->vkCreateTensorARM( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &tensor ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createTensorARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, TensorARM( *this, *reinterpret_cast( &tensor ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateTensorARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &tensor ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createTensorARM" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, TensorARM( *this, *reinterpret_cast( &tensor ), allocator ) ); } // wrapper function for command vkCreateTensorViewARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateTensorViewARM.html @@ -27605,12 +28144,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateTensorViewARM && "Function requires " ); VULKAN_HPP_NAMESPACE::TensorViewARM view; - Result result = static_cast( getDispatcher()->vkCreateTensorViewARM( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &view ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createTensorViewARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, TensorViewARM( *this, *reinterpret_cast( &view ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateTensorViewARM( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &view ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createTensorViewARM" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, TensorViewARM( *this, *reinterpret_cast( &view ), allocator ) ); } // wrapper function for command vkGetTensorMemoryRequirementsARM, see @@ -27650,11 +28189,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindTensorMemoryARM && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBindTensorMemoryARM( + Result result_ = static_cast( getDispatcher()->vkBindTensorMemoryARM( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindTensorMemoryARM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindTensorMemoryARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkGetDeviceTensorMemoryRequirementsARM, see @@ -27725,11 +28264,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetTensorOpaqueCaptureDescriptorDataARM( + Result result_ = static_cast( getDispatcher()->vkGetTensorOpaqueCaptureDescriptorDataARM( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getTensorOpaqueCaptureDescriptorDataARM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getTensorOpaqueCaptureDescriptorDataARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkGetTensorViewOpaqueCaptureDescriptorDataARM, see @@ -27742,11 +28281,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); DataType data; - Result result = static_cast( getDispatcher()->vkGetTensorViewOpaqueCaptureDescriptorDataARM( + Result result_ = static_cast( getDispatcher()->vkGetTensorViewOpaqueCaptureDescriptorDataARM( static_cast( m_device ), reinterpret_cast( &info ), &data ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getTensorViewOpaqueCaptureDescriptorDataARM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getTensorViewOpaqueCaptureDescriptorDataARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } //=== VK_EXT_shader_module_identifier === @@ -27793,31 +28332,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector imageFormatProperties; uint32_t formatCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast( m_physicalDevice ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && formatCount ) + if ( ( result_ == Result::eSuccess ) && formatCount ) { imageFormatProperties.resize( formatCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceOpticalFlowImageFormatsNV( static_cast( m_physicalDevice ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, reinterpret_cast( imageFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getOpticalFlowImageFormatsNV" ); VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); if ( formatCount < imageFormatProperties.size() ) { imageFormatProperties.resize( formatCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } // wrapper function for command vkCreateOpticalFlowSessionNV, see @@ -27829,14 +28368,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateOpticalFlowSessionNV && "Function requires " ); VULKAN_HPP_NAMESPACE::OpticalFlowSessionNV session; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateOpticalFlowSessionNV( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &session ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createOpticalFlowSessionNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createOpticalFlowSessionNV" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, OpticalFlowSessionNV( *this, *reinterpret_cast( &session ), allocator ) ); + result_, OpticalFlowSessionNV( *this, *reinterpret_cast( &session ), allocator ) ); } // wrapper function for command vkBindOpticalFlowSessionImageNV, see @@ -27846,14 +28385,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkBindOpticalFlowSessionImageNV && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBindOpticalFlowSessionImageNV( static_cast( m_device ), - static_cast( m_opticalFlowSessionNV ), - static_cast( bindingPoint ), - static_cast( view ), - static_cast( layout ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::OpticalFlowSessionNV::bindImage" ); + Result result_ = static_cast( getDispatcher()->vkBindOpticalFlowSessionImageNV( static_cast( m_device ), + static_cast( m_opticalFlowSessionNV ), + static_cast( bindingPoint ), + static_cast( view ), + static_cast( layout ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::OpticalFlowSessionNV::bindImage" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdOpticalFlowExecuteNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdOpticalFlowExecuteNV.html @@ -27989,20 +28528,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForPresent2KHR && "Function requires " ); - Result result = static_cast( getDispatcher()->vkWaitForPresent2KHR( static_cast( m_device ), - static_cast( m_swapchainKHR ), - reinterpret_cast( &presentWait2Info ) ) ); + Result result_ = static_cast( getDispatcher()->vkWaitForPresent2KHR( static_cast( m_device ), + static_cast( m_swapchainKHR ), + reinterpret_cast( &presentWait2Info ) ) ); # if defined( VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS ) - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent2", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR, Result::eErrorOutOfDateKHR } ); # else VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent2", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::waitForPresent2", { Result::eSuccess, Result::eTimeout, Result::eSuboptimalKHR } ); # endif - return static_cast( result ); + return static_cast( result_ ); } //=== VK_EXT_shader_object === @@ -28014,23 +28553,23 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateShadersEXT && "Function requires " ); std::vector shaders( createInfos.size() ); - Result result = static_cast( getDispatcher()->vkCreateShadersEXT( static_cast( m_device ), - createInfos.size(), - reinterpret_cast( createInfos.data() ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( shaders.data() ) ) ); + Result result_ = static_cast( getDispatcher()->vkCreateShadersEXT( static_cast( m_device ), + createInfos.size(), + reinterpret_cast( createInfos.data() ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( shaders.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShadersEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); std::vector shadersRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { shadersRAII.reserve( shaders.size() ); for ( auto & shader : shaders ) { - shadersRAII.emplace_back( *this, *reinterpret_cast( &shader ), allocator, result ); + shadersRAII.emplace_back( *this, *reinterpret_cast( &shader ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( shadersRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( shadersRAII ) ); } // wrapper function for command vkCreateShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCreateShadersEXT.html @@ -28041,14 +28580,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateShadersEXT && "Function requires " ); VULKAN_HPP_NAMESPACE::ShaderEXT shader; - Result result = static_cast( getDispatcher()->vkCreateShadersEXT( static_cast( m_device ), - 1, - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &shader ) ) ); + Result result_ = static_cast( getDispatcher()->vkCreateShadersEXT( static_cast( m_device ), + 1, + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &shader ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, ShaderEXT( *this, *reinterpret_cast( &shader ), allocator, result ) ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderEXT", { Result::eSuccess, Result::eIncompatibleShaderBinaryEXT } ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + ShaderEXT( *this, *reinterpret_cast( &shader ), allocator, result_ ) ); } // wrapper function for command vkGetShaderBinaryDataEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetShaderBinaryDataEXT.html @@ -28058,25 +28598,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector data; size_t dataSize; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetShaderBinaryDataEXT( static_cast( m_device ), static_cast( m_shaderEXT ), &dataSize, nullptr ) ); - if ( ( result == Result::eSuccess ) && dataSize ) + if ( ( result_ == Result::eSuccess ) && dataSize ) { data.resize( dataSize ); - result = static_cast( getDispatcher()->vkGetShaderBinaryDataEXT( + result_ = static_cast( getDispatcher()->vkGetShaderBinaryDataEXT( static_cast( m_device ), static_cast( m_shaderEXT ), &dataSize, reinterpret_cast( data.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::ShaderEXT::getBinaryData" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::ShaderEXT::getBinaryData" ); VULKAN_HPP_ASSERT( dataSize <= data.size() ); if ( dataSize < data.size() ) { data.resize( dataSize ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data ) ); } // wrapper function for command vkCmdBindShadersEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBindShadersEXT.html @@ -28121,49 +28661,49 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector pipelineBinaries; PipelineBinaryHandlesInfoKHR binaries; - Result result; + Result result_; if ( createInfo.pKeysAndDataInfo ) { VULKAN_HPP_ASSERT( !createInfo.pipeline && !createInfo.pPipelineCreateInfo ); pipelineBinaries.resize( createInfo.pKeysAndDataInfo->binaryCount ); binaries.pipelineBinaryCount = createInfo.pKeysAndDataInfo->binaryCount; binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } else { VULKAN_HPP_ASSERT( !createInfo.pipeline ^ !createInfo.pPipelineCreateInfo ); - result = static_cast( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); - if ( result == Result::eSuccess ) + result_ = static_cast( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaries.resize( binaries.pipelineBinaryCount ); binaries.pPipelineBinaries = pipelineBinaries.data(); - result = static_cast( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast( m_device ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &binaries ) ) ); + result_ = static_cast( getDispatcher()->vkCreatePipelineBinariesKHR( static_cast( m_device ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &binaries ) ) ); } } - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createPipelineBinariesKHR", { Result::eSuccess, Result::eIncomplete, Result::ePipelineBinaryMissingKHR } ); std::vector pipelineBinariesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelineBinariesRAII.reserve( pipelineBinaries.size() ); for ( auto & pipelineBinary : pipelineBinaries ) { - pipelineBinariesRAII.emplace_back( *this, *reinterpret_cast( &pipelineBinary ), allocator, result ); + pipelineBinariesRAII.emplace_back( *this, *reinterpret_cast( &pipelineBinary ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineBinariesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelineBinariesRAII ) ); } // wrapper function for command vkGetPipelineKeyKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineKeyKHR.html @@ -28173,12 +28713,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetPipelineKeyKHR && "Function requires " ); PipelineBinaryKeyKHR pipelineKey; - Result result = static_cast( getDispatcher()->vkGetPipelineKeyKHR( static_cast( m_device ), - reinterpret_cast( pipelineCreateInfo.get() ), - reinterpret_cast( &pipelineKey ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineKeyKHR" ); + Result result_ = static_cast( getDispatcher()->vkGetPipelineKeyKHR( static_cast( m_device ), + reinterpret_cast( pipelineCreateInfo.get() ), + reinterpret_cast( &pipelineKey ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineKeyKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelineKey ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelineKey ) ); } // wrapper function for command vkGetPipelineBinaryDataKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPipelineBinaryDataKHR.html @@ -28191,24 +28731,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE PipelineBinaryKeyKHR & pipelineBinaryKey = data_.first; std::vector & pipelineBinaryData = data_.second; size_t pipelineBinaryDataSize; - Result result = static_cast( getDispatcher()->vkGetPipelineBinaryDataKHR( static_cast( m_device ), - reinterpret_cast( &info ), - reinterpret_cast( &pipelineBinaryKey ), - &pipelineBinaryDataSize, - nullptr ) ); - if ( result == Result::eSuccess ) + Result result_ = static_cast( getDispatcher()->vkGetPipelineBinaryDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &pipelineBinaryKey ), + &pipelineBinaryDataSize, + nullptr ) ); + if ( result_ == Result::eSuccess ) { pipelineBinaryData.resize( pipelineBinaryDataSize ); - result = static_cast( getDispatcher()->vkGetPipelineBinaryDataKHR( static_cast( m_device ), - reinterpret_cast( &info ), - reinterpret_cast( &pipelineBinaryKey ), - &pipelineBinaryDataSize, - reinterpret_cast( pipelineBinaryData.data() ) ) ); + result_ = static_cast( getDispatcher()->vkGetPipelineBinaryDataKHR( static_cast( m_device ), + reinterpret_cast( &info ), + reinterpret_cast( &pipelineBinaryKey ), + &pipelineBinaryDataSize, + reinterpret_cast( pipelineBinaryData.data() ) ) ); } - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getPipelineBinaryDataKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkReleaseCapturedPipelineDataKHR, see @@ -28218,13 +28758,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseCapturedPipelineDataKHR && "Function requires " ); - Result result = + Result result_ = static_cast( getDispatcher()->vkReleaseCapturedPipelineDataKHR( static_cast( m_device ), reinterpret_cast( &info ), reinterpret_cast( allocator.get() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseCapturedPipelineDataKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseCapturedPipelineDataKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_QCOM_tile_properties === @@ -28238,27 +28778,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertiesCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetFramebufferTilePropertiesQCOM( + result_ = static_cast( getDispatcher()->vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), static_cast( m_framebuffer ), &propertiesCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertiesCount ) + if ( ( result_ == Result::eSuccess ) && propertiesCount ) { properties.resize( propertiesCount ); - result = static_cast( getDispatcher()->vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), - static_cast( m_framebuffer ), - &propertiesCount, - reinterpret_cast( properties.data() ) ) ); + result_ = static_cast( getDispatcher()->vkGetFramebufferTilePropertiesQCOM( static_cast( m_device ), + static_cast( m_framebuffer ), + &propertiesCount, + reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Framebuffer::getTilePropertiesQCOM" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Framebuffer::getTilePropertiesQCOM" ); VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); if ( propertiesCount < properties.size() ) { properties.resize( propertiesCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDynamicRenderingTilePropertiesQCOM, see @@ -28270,13 +28810,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); TilePropertiesQCOM properties; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetDynamicRenderingTilePropertiesQCOM( static_cast( m_device ), reinterpret_cast( &renderingInfo ), reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDynamicRenderingTilePropertiesQCOM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDynamicRenderingTilePropertiesQCOM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } //=== VK_KHR_swapchain_maintenance1 === @@ -28287,11 +28827,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkReleaseSwapchainImagesKHR && "Function requires or " ); - Result result = static_cast( getDispatcher()->vkReleaseSwapchainImagesKHR( + Result result_ = static_cast( getDispatcher()->vkReleaseSwapchainImagesKHR( static_cast( m_device ), reinterpret_cast( &releaseInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseSwapchainImagesKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::releaseSwapchainImagesKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } //=== VK_NV_cooperative_vector === @@ -28306,25 +28846,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeVectorPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeVectorPropertiesNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeVectorPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeVectorPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkConvertCooperativeVectorMatrixNV, see @@ -28334,12 +28874,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkConvertCooperativeVectorMatrixNV && "Function requires " ); - Result result = static_cast( getDispatcher()->vkConvertCooperativeVectorMatrixNV( + Result result_ = static_cast( getDispatcher()->vkConvertCooperativeVectorMatrixNV( static_cast( m_device ), reinterpret_cast( &info ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::convertCooperativeVectorMatrixNV", { Result::eSuccess, Result::eIncomplete } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::convertCooperativeVectorMatrixNV", { Result::eSuccess, Result::eIncomplete } ); - return static_cast( result ); + return static_cast( result_ ); } // wrapper function for command vkCmdConvertCooperativeVectorMatrixNV, see @@ -28361,12 +28901,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkSetLatencySleepModeNV && "Function requires " ); - Result result = static_cast( getDispatcher()->vkSetLatencySleepModeNV( static_cast( m_device ), - static_cast( m_swapchainKHR ), - reinterpret_cast( &sleepModeInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::setLatencySleepModeNV" ); + Result result_ = static_cast( getDispatcher()->vkSetLatencySleepModeNV( static_cast( m_device ), + static_cast( m_swapchainKHR ), + reinterpret_cast( &sleepModeInfo ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::setLatencySleepModeNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkLatencySleepNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkLatencySleepNV.html @@ -28374,11 +28914,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkLatencySleepNV && "Function requires " ); - Result result = static_cast( getDispatcher()->vkLatencySleepNV( + Result result_ = static_cast( getDispatcher()->vkLatencySleepNV( static_cast( m_device ), static_cast( m_swapchainKHR ), reinterpret_cast( &sleepInfo ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::latencySleepNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::SwapchainKHR::latencySleepNV" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkSetLatencyMarkerNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkSetLatencyMarkerNV.html @@ -28419,25 +28959,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesKHR" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } //=== VK_ARM_data_graph === @@ -28453,7 +28993,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDataGraphPipelinesARM && "Function requires " ); std::vector pipelines( createInfos.size() ); - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDataGraphPipelinesARM( static_cast( m_device ), deferredOperation ? static_cast( **deferredOperation ) : 0, pipelineCache ? static_cast( **pipelineCache ) : 0, @@ -28462,17 +29002,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( pipelines.data() ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelinesARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelinesARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); std::vector pipelinesRAII; - if ( result == Result::eSuccess ) + if ( result_ == Result::eSuccess ) { pipelinesRAII.reserve( pipelines.size() ); for ( auto & pipeline : pipelines ) { - pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result ); + pipelinesRAII.emplace_back( *this, *reinterpret_cast( &pipeline ), allocator, result_ ); } } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( pipelinesRAII ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( pipelinesRAII ) ); } // wrapper function for command vkCreateDataGraphPipelinesARM, see @@ -28486,7 +29026,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateDataGraphPipelinesARM && "Function requires " ); VULKAN_HPP_NAMESPACE::Pipeline pipeline; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateDataGraphPipelinesARM( static_cast( m_device ), deferredOperation ? static_cast( **deferredOperation ) : 0, pipelineCache ? static_cast( **pipelineCache ) : 0, @@ -28495,8 +29035,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( allocator.get() ), reinterpret_cast( &pipeline ) ) ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelineARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result ) ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelineARM", { Result::eSuccess, Result::ePipelineCompileRequiredEXT } ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, + Pipeline( *this, *reinterpret_cast( &pipeline ), allocator, result_ ) ); } // wrapper function for command vkCreateDataGraphPipelineSessionARM, see @@ -28509,14 +29050,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::DataGraphPipelineSessionARM session; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkCreateDataGraphPipelineSessionARM( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &session ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createDataGraphPipelineSessionARM" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, DataGraphPipelineSessionARM( *this, *reinterpret_cast( &session ), allocator ) ); + result_, DataGraphPipelineSessionARM( *this, *reinterpret_cast( &session ), allocator ) ); } // wrapper function for command vkGetDataGraphPipelineSessionBindPointRequirementsARM, see @@ -28529,31 +29070,31 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector bindPointRequirements; uint32_t bindPointRequirementCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM( + result_ = static_cast( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM( static_cast( m_device ), reinterpret_cast( &info ), &bindPointRequirementCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && bindPointRequirementCount ) + if ( ( result_ == Result::eSuccess ) && bindPointRequirementCount ) { bindPointRequirements.resize( bindPointRequirementCount ); - result = static_cast( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM( + result_ = static_cast( getDispatcher()->vkGetDataGraphPipelineSessionBindPointRequirementsARM( static_cast( m_device ), reinterpret_cast( &info ), &bindPointRequirementCount, reinterpret_cast( bindPointRequirements.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDataGraphPipelineSessionBindPointRequirementsARM" ); VULKAN_HPP_ASSERT( bindPointRequirementCount <= bindPointRequirements.size() ); if ( bindPointRequirementCount < bindPointRequirements.size() ) { bindPointRequirements.resize( bindPointRequirementCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( bindPointRequirements ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( bindPointRequirements ) ); } // wrapper function for command vkGetDataGraphPipelineSessionMemoryRequirementsARM, see @@ -28600,11 +29141,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkBindDataGraphPipelineSessionMemoryARM && "Function requires " ); - Result result = static_cast( getDispatcher()->vkBindDataGraphPipelineSessionMemoryARM( + Result result_ = static_cast( getDispatcher()->vkBindDataGraphPipelineSessionMemoryARM( static_cast( m_device ), bindInfos.size(), reinterpret_cast( bindInfos.data() ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindDataGraphPipelineSessionMemoryARM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::bindDataGraphPipelineSessionMemoryARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_ ); } // wrapper function for command vkCmdDispatchDataGraphARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdDispatchDataGraphARM.html @@ -28628,28 +29169,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertiesCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetDataGraphPipelineAvailablePropertiesARM( + result_ = static_cast( getDispatcher()->vkGetDataGraphPipelineAvailablePropertiesARM( static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &propertiesCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertiesCount ) + if ( ( result_ == Result::eSuccess ) && propertiesCount ) { properties.resize( propertiesCount ); - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetDataGraphPipelineAvailablePropertiesARM( static_cast( m_device ), reinterpret_cast( &pipelineInfo ), &propertiesCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getDataGraphPipelineAvailablePropertiesARM" ); VULKAN_HPP_ASSERT( propertiesCount <= properties.size() ); if ( propertiesCount < properties.size() ) { properties.resize( propertiesCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetDataGraphPipelinePropertiesARM, see @@ -28678,28 +29219,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector queueFamilyDataGraphProperties; uint32_t queueFamilyDataGraphPropertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( static_cast( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) + if ( ( result_ == Result::eSuccess ) && queueFamilyDataGraphPropertyCount ) { queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( static_cast( m_physicalDevice ), queueFamilyIndex, &queueFamilyDataGraphPropertyCount, reinterpret_cast( queueFamilyDataGraphProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphPropertiesARM" ); VULKAN_HPP_ASSERT( queueFamilyDataGraphPropertyCount <= queueFamilyDataGraphProperties.size() ); if ( queueFamilyDataGraphPropertyCount < queueFamilyDataGraphProperties.size() ) { queueFamilyDataGraphProperties.resize( queueFamilyDataGraphPropertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( queueFamilyDataGraphProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( queueFamilyDataGraphProperties ) ); } // wrapper function for command vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, see @@ -28733,15 +29274,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires or " ); BaseOutStructure properties; - Result result = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM( + Result result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM( static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphEngineOperationPropertiesARM" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } //=== VK_EXT_attachment_feedback_loop_dynamic_state === @@ -28769,11 +29310,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); ScreenBufferPropertiesQNX properties; - Result result = static_cast( getDispatcher()->vkGetScreenBufferPropertiesQNX( + Result result_ = static_cast( getDispatcher()->vkGetScreenBufferPropertiesQNX( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } // wrapper function for command vkGetScreenBufferPropertiesQNX, see @@ -28787,11 +29328,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE StructureChain structureChain; ScreenBufferPropertiesQNX & properties = structureChain.template get(); - Result result = static_cast( getDispatcher()->vkGetScreenBufferPropertiesQNX( + Result result_ = static_cast( getDispatcher()->vkGetScreenBufferPropertiesQNX( static_cast( m_device ), &buffer, reinterpret_cast( &properties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getScreenBufferPropertiesQNX" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( structureChain ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( structureChain ) ); } # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ @@ -28818,25 +29359,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector timeDomains; uint32_t timeDomainCount; - Result result; + Result result_; do { - result = static_cast( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( static_cast( m_physicalDevice ), &timeDomainCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && timeDomainCount ) + if ( ( result_ == Result::eSuccess ) && timeDomainCount ) { timeDomains.resize( timeDomainCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( static_cast( m_physicalDevice ), &timeDomainCount, reinterpret_cast( timeDomains.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsKHR" ); VULKAN_HPP_ASSERT( timeDomainCount <= timeDomains.size() ); if ( timeDomainCount < timeDomains.size() ) { timeDomains.resize( timeDomainCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( timeDomains ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( timeDomains ) ); } // wrapper function for command vkGetCalibratedTimestampsKHR, see @@ -28850,15 +29391,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair, uint64_t> data_( std::piecewise_construct, std::forward_as_tuple( timestampInfos.size() ), std::forward_as_tuple( 0 ) ); std::vector & timestamps = data_.first; uint64_t & maxDeviation = data_.second; - Result result = + Result result_ = static_cast( getDispatcher()->vkGetCalibratedTimestampsKHR( static_cast( m_device ), timestampInfos.size(), reinterpret_cast( timestampInfos.data() ), timestamps.data(), &maxDeviation ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampsKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } // wrapper function for command vkGetCalibratedTimestampsKHR, see @@ -28872,11 +29413,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::pair data_; uint64_t & timestamp = data_.first; uint64_t & maxDeviation = data_.second; - Result result = static_cast( getDispatcher()->vkGetCalibratedTimestampsKHR( + Result result_ = static_cast( getDispatcher()->vkGetCalibratedTimestampsKHR( static_cast( m_device ), 1, reinterpret_cast( ×tampInfo ), ×tamp, &maxDeviation ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampKHR" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getCalibratedTimestampKHR" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } //=== VK_KHR_maintenance6 === @@ -29023,14 +29564,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::ExternalComputeQueueNV externalQueue; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateExternalComputeQueueNV( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &externalQueue ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExternalComputeQueueNV" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createExternalComputeQueueNV" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, ExternalComputeQueueNV( *this, *reinterpret_cast( &externalQueue ), allocator ) ); + result_, ExternalComputeQueueNV( *this, *reinterpret_cast( &externalQueue ), allocator ) ); } // wrapper function for command vkGetExternalComputeQueueDataNV, see @@ -29183,14 +29724,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutEXT indirectCommandsLayout; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateIndirectCommandsLayoutEXT( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &indirectCommandsLayout ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectCommandsLayoutEXT" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, IndirectCommandsLayoutEXT( *this, *reinterpret_cast( &indirectCommandsLayout ), allocator ) ); + result_, IndirectCommandsLayoutEXT( *this, *reinterpret_cast( &indirectCommandsLayout ), allocator ) ); } // wrapper function for command vkCreateIndirectExecutionSetEXT, see @@ -29203,14 +29744,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::IndirectExecutionSetEXT indirectExecutionSet; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateIndirectExecutionSetEXT( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &indirectExecutionSet ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createIndirectExecutionSetEXT" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, IndirectExecutionSetEXT( *this, *reinterpret_cast( &indirectExecutionSet ), allocator ) ); + result_, IndirectExecutionSetEXT( *this, *reinterpret_cast( &indirectExecutionSet ), allocator ) ); } // wrapper function for command vkUpdateIndirectExecutionSetPipelineEXT, see @@ -29250,25 +29791,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector faultInfo; uint32_t faultCounts; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetDeviceFaultReportsKHR( static_cast( m_device ), timeout, &faultCounts, nullptr ) ); - if ( ( result == Result::eSuccess ) && faultCounts ) + result_ = static_cast( getDispatcher()->vkGetDeviceFaultReportsKHR( static_cast( m_device ), timeout, &faultCounts, nullptr ) ); + if ( ( result_ == Result::eSuccess ) && faultCounts ) { faultInfo.resize( faultCounts ); - result = static_cast( getDispatcher()->vkGetDeviceFaultReportsKHR( + result_ = static_cast( getDispatcher()->vkGetDeviceFaultReportsKHR( static_cast( m_device ), timeout, &faultCounts, reinterpret_cast( faultInfo.data() ) ) ); } - } while ( result == Result::eIncomplete ); + } while ( result_ == Result::eIncomplete ); VULKAN_HPP_NAMESPACE::detail::resultCheck( - result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFaultReportsKHR", { Result::eSuccess, Result::eIncomplete, Result::eTimeout } ); + result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getFaultReportsKHR", { Result::eSuccess, Result::eIncomplete, Result::eTimeout } ); VULKAN_HPP_ASSERT( faultCounts <= faultInfo.size() ); if ( faultCounts < faultInfo.size() ) { faultInfo.resize( faultCounts ); } - return { result, faultInfo }; + return { result_, faultInfo }; } // wrapper function for command vkGetDeviceFaultDebugInfoKHR, see @@ -29290,12 +29831,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateSurfaceOHOS && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateSurfaceOHOS( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createSurfaceOHOS" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateSurfaceOHOS( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createSurfaceOHOS" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } # endif /*VK_USE_PLATFORM_OHOS*/ @@ -29311,28 +29852,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector properties; uint32_t propertyCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && propertyCount ) + if ( ( result_ == Result::eSuccess ) && propertyCount ) { properties.resize( propertyCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( static_cast( m_physicalDevice ), &propertyCount, reinterpret_cast( properties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixFlexibleDimensionsPropertiesNV" ); VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); if ( propertyCount < properties.size() ) { properties.resize( propertyCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( properties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); } # if defined( VK_USE_PLATFORM_METAL_EXT ) @@ -29345,11 +29886,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryMetalHandleEXT && "Function requires " ); void * handle; - Result result = static_cast( getDispatcher()->vkGetMemoryMetalHandleEXT( + Result result_ = static_cast( getDispatcher()->vkGetMemoryMetalHandleEXT( static_cast( m_device ), reinterpret_cast( &getMetalHandleInfo ), &handle ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryMetalHandleEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryMetalHandleEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( handle ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( handle ) ); } // wrapper function for command vkGetMemoryMetalHandlePropertiesEXT, see @@ -29362,14 +29903,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); MemoryMetalHandlePropertiesEXT memoryMetalHandleProperties; - Result result = static_cast( + Result result_ = static_cast( getDispatcher()->vkGetMemoryMetalHandlePropertiesEXT( static_cast( m_device ), static_cast( handleType ), reinterpret_cast( &handle ), reinterpret_cast( &memoryMetalHandleProperties ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryMetalHandlePropertiesEXT" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::getMemoryMetalHandlePropertiesEXT" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( memoryMetalHandleProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( memoryMetalHandleProperties ) ); } # endif /*VK_USE_PLATFORM_METAL_EXT*/ @@ -29388,24 +29929,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector & counters = data_.first; std::vector & counterDescriptions = data_.second; uint32_t counterCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, nullptr, nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) + if ( ( result_ == Result::eSuccess ) && counterCount ) { counters.resize( counterCount ); counterDescriptions.resize( counterCount ); - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM( static_cast( m_physicalDevice ), queueFamilyIndex, &counterCount, reinterpret_cast( counters.data() ), reinterpret_cast( counterDescriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceCountersByRegionARM" ); VULKAN_HPP_ASSERT( counterCount <= counters.size() ); if ( counterCount < counters.size() ) @@ -29413,7 +29954,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE counters.resize( counterCount ); counterDescriptions.resize( counterCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( data_ ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( data_ ) ); } //=== VK_ARM_shader_instrumentation === @@ -29428,27 +29969,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector descriptions; uint32_t descriptionCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( static_cast( m_physicalDevice ), &descriptionCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && descriptionCount ) + if ( ( result_ == Result::eSuccess ) && descriptionCount ) { descriptions.resize( descriptionCount ); - result = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( + result_ = static_cast( getDispatcher()->vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM( static_cast( m_physicalDevice ), &descriptionCount, reinterpret_cast( descriptions.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateShaderInstrumentationMetricsARM" ); + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::enumerateShaderInstrumentationMetricsARM" ); VULKAN_HPP_ASSERT( descriptionCount <= descriptions.size() ); if ( descriptionCount < descriptions.size() ) { descriptions.resize( descriptionCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( descriptions ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( descriptions ) ); } // wrapper function for command vkCreateShaderInstrumentationARM, see @@ -29461,14 +30002,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); VULKAN_HPP_NAMESPACE::ShaderInstrumentationARM instrumentation; - Result result = + Result result_ = static_cast( getDispatcher()->vkCreateShaderInstrumentationARM( static_cast( m_device ), reinterpret_cast( &createInfo ), reinterpret_cast( allocator.get() ), reinterpret_cast( &instrumentation ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderInstrumentationARM" ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Device::createShaderInstrumentationARM" ); return VULKAN_HPP_NAMESPACE::detail::createResultValueType( - result, ShaderInstrumentationARM( *this, *reinterpret_cast( &instrumentation ), allocator ) ); + result_, ShaderInstrumentationARM( *this, *reinterpret_cast( &instrumentation ), allocator ) ); } // wrapper function for command vkCmdBeginShaderInstrumentationARM, see @@ -29568,20 +30109,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE std::vector imageFormatProperties; uint32_t formatCount; - Result result; + Result result_; do { - result = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), reinterpret_cast( &opticalFlowImageFormatInfo ), &formatCount, nullptr ) ); - if ( ( result == Result::eSuccess ) && formatCount ) + if ( ( result_ == Result::eSuccess ) && formatCount ) { imageFormatProperties.resize( formatCount ); - result = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM( static_cast( m_physicalDevice ), queueFamilyIndex, reinterpret_cast( &queueFamilyDataGraphProperties ), @@ -29589,15 +30130,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE &formatCount, reinterpret_cast( imageFormatProperties.data() ) ) ); } - } while ( result == Result::eIncomplete ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getQueueFamilyDataGraphOpticalFlowImageFormatsARM" ); VULKAN_HPP_ASSERT( formatCount <= imageFormatProperties.size() ); if ( formatCount < imageFormatProperties.size() ) { imageFormatProperties.resize( formatCount ); } - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, std::move( imageFormatProperties ) ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( imageFormatProperties ) ); } //=== VK_NV_compute_occupancy_priority === @@ -29613,6 +30154,45 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE reinterpret_cast( ¶meters ) ); } + //=== VK_EXT_cooperative_matrix_maintenance1 === + + // wrapper function for command vkGetPhysicalDeviceCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceCooperativeMatrixProperties2EXT.html + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType>::type + PhysicalDevice::getCooperativeMatrixProperties2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & cooperativeMatrixInfo ) const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixProperties2EXT && + "Function requires " ); + + std::vector properties; + uint32_t propertyCount; + Result result_; + do + { + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( + static_cast( m_physicalDevice ), + reinterpret_cast( &cooperativeMatrixInfo ), + &propertyCount, + nullptr ) ); + if ( ( result_ == Result::eSuccess ) && propertyCount ) + { + properties.resize( propertyCount ); + result_ = static_cast( getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixProperties2EXT( + static_cast( m_physicalDevice ), + reinterpret_cast( &cooperativeMatrixInfo ), + &propertyCount, + reinterpret_cast( properties.data() ) ) ); + } + } while ( result_ == Result::eIncomplete ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixProperties2EXT" ); + VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + if ( propertyCount < properties.size() ) + { + properties.resize( propertyCount ); + } + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, std::move( properties ) ); + } + # if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === @@ -29624,12 +30204,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCreateUbmSurfaceSEC && "Function requires " ); VULKAN_HPP_NAMESPACE::SurfaceKHR surface; - Result result = static_cast( getDispatcher()->vkCreateUbmSurfaceSEC( static_cast( m_instance ), - reinterpret_cast( &createInfo ), - reinterpret_cast( allocator.get() ), - reinterpret_cast( &surface ) ) ); - VULKAN_HPP_NAMESPACE::detail::resultCheck( result, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createUbmSurfaceSEC" ); - return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); + Result result_ = static_cast( getDispatcher()->vkCreateUbmSurfaceSEC( static_cast( m_instance ), + reinterpret_cast( &createInfo ), + reinterpret_cast( allocator.get() ), + reinterpret_cast( &surface ) ) ); + VULKAN_HPP_NAMESPACE::detail::resultCheck( result_, VULKAN_HPP_RAII_NAMESPACE_STRING "::Instance::createUbmSurfaceSEC" ); + return VULKAN_HPP_NAMESPACE::detail::createResultValueType( result_, SurfaceKHR( *this, *reinterpret_cast( &surface ), allocator ) ); } // wrapper function for command vkGetPhysicalDeviceUbmPresentationSupportSEC, see @@ -29641,10 +30221,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE "Function requires " ); struct ubm_device device; - VkBool32 result = + VkBool32 result_ = getDispatcher()->vkGetPhysicalDeviceUbmPresentationSupportSEC( static_cast( m_physicalDevice ), queueFamilyIndex, &device ); - return { result, device }; + return { result_, device }; } # endif /*VK_USE_PLATFORM_UBM_SEC*/ diff --git a/third_party/vulkan/include/vulkan/vulkan_screen.h b/third_party/vulkan/include/vulkan/vulkan_screen.h index 15e9d0902..460432a44 100644 --- a/third_party/vulkan/include/vulkan/vulkan_screen.h +++ b/third_party/vulkan/include/vulkan/vulkan_screen.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_shared.hpp b/third_party/vulkan/include/vulkan/vulkan_shared.hpp index 19c957c39..29bd9a6bc 100644 --- a/third_party/vulkan/include/vulkan/vulkan_shared.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_shared.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -824,6 +823,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using SharedDebugUtilsMessengerEXT = SharedHandle; + //=== VK_AMD_gpa_interface === + template <> + class SharedHandleTraits + { + public: + using DestructorType = Device; + using deleter = detail::ObjectDestroyShared; + }; + + using SharedGpaSessionAMD = SharedHandle; + //=== VK_EXT_descriptor_heap === template <> class SharedHandleTraits diff --git a/third_party/vulkan/include/vulkan/vulkan_static_assertions.hpp b/third_party/vulkan/include/vulkan/vulkan_static_assertions.hpp index 5aabe370d..8a6823fe9 100644 --- a/third_party/vulkan/include/vulkan/vulkan_static_assertions.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_static_assertions.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -3546,6 +3545,65 @@ VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, "GpaSessionAMD is not copy_constructible!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, "GpaSessionAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::GpaPerfBlockPropertiesAMD ) == sizeof( VkGpaPerfBlockPropertiesAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "GpaPerfBlockPropertiesAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceGpaFeaturesAMD ) == sizeof( VkPhysicalDeviceGpaFeaturesAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceGpaFeaturesAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceGpaPropertiesAMD ) == sizeof( VkPhysicalDeviceGpaPropertiesAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceGpaPropertiesAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceGpaProperties2AMD ) == sizeof( VkPhysicalDeviceGpaProperties2AMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceGpaProperties2AMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::GpaPerfCounterAMD ) == sizeof( VkGpaPerfCounterAMD ), "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "GpaPerfCounterAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::GpaSampleBeginInfoAMD ) == sizeof( VkGpaSampleBeginInfoAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "GpaSampleBeginInfoAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::GpaDeviceClockModeInfoAMD ) == sizeof( VkGpaDeviceClockModeInfoAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "GpaDeviceClockModeInfoAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::GpaDeviceGetClockInfoAMD ) == sizeof( VkGpaDeviceGetClockInfoAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "GpaDeviceGetClockInfoAMD is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::GpaSessionCreateInfoAMD ) == sizeof( VkGpaSessionCreateInfoAMD ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "GpaSessionCreateInfoAMD is not nothrow_move_constructible!" ); + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_AMDX_shader_enqueue === @@ -4406,6 +4464,16 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM is not nothrow_move_constructible!" ); +//=== VK_QCOM_elapsed_timer_query === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceElapsedTimerQueryFeaturesQCOM ) == + sizeof( VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceElapsedTimerQueryFeaturesQCOM is not nothrow_move_constructible!" ); + //=== VK_EXT_external_memory_host === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImportMemoryHostPointerInfoEXT ) == sizeof( VkImportMemoryHostPointerInfoEXT ), @@ -5607,6 +5675,51 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDeviceQueuePerfHintPropertiesQCOM is not nothrow_move_constructible!" ); +//=== VK_QCOM_image_processing3 === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessing3FeaturesQCOM ) == sizeof( VkPhysicalDeviceImageProcessing3FeaturesQCOM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceImageProcessing3FeaturesQCOM is not nothrow_move_constructible!" ); + +//=== VK_QCOM_shader_multiple_wait_queues === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM ) == + sizeof( VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM ) == + sizeof( VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM is not nothrow_move_constructible!" ); + +//=== VK_EXT_shader_split_barrier === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSplitBarrierFeaturesEXT ) == + sizeof( VkPhysicalDeviceShaderSplitBarrierFeaturesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderSplitBarrierFeaturesEXT is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSplitBarrierPropertiesEXT ) == + sizeof( VkPhysicalDeviceShaderSplitBarrierPropertiesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderSplitBarrierPropertiesEXT is not nothrow_move_constructible!" ); + #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_cuda_kernel_launch === @@ -6809,11 +6922,6 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "AccelerationStructureTrianglesOpacityMicromapEXT is not nothrow_move_constructible!" ); -VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MicromapTriangleEXT ) == sizeof( VkMicromapTriangleEXT ), "struct and wrapper have different size!" ); -VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); -VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, - "MicromapTriangleEXT is not nothrow_move_constructible!" ); - #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_displacement_micromap === @@ -8028,16 +8136,6 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDeviceShaderCoreBuiltinsPropertiesARM is not nothrow_move_constructible!" ); -//=== VK_EXT_pipeline_library_group_handles === - -VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT ) == - sizeof( VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT ), - "struct and wrapper have different size!" ); -VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, - "struct wrapper is not a standard layout!" ); -VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, - "PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT is not nothrow_move_constructible!" ); - //=== VK_EXT_dynamic_rendering_unused_attachments === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT ) == @@ -9057,6 +9155,21 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDeviceShaderReplicatedCompositesFeaturesEXT is not nothrow_move_constructible!" ); +//=== VK_ARM_tensor_controls === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::TensorRollingBackingCreateInfoARM ) == sizeof( VkTensorRollingBackingCreateInfoARM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "TensorRollingBackingCreateInfoARM is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::TensorExplicitTilingFormatPropertiesARM ) == sizeof( VkTensorExplicitTilingFormatPropertiesARM ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "TensorExplicitTilingFormatPropertiesARM is not nothrow_move_constructible!" ); + //=== VK_EXT_shader_float8 === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFloat8FeaturesEXT ) == sizeof( VkPhysicalDeviceShaderFloat8FeaturesEXT ), @@ -9731,6 +9844,31 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDevicePipelineOpacityMicromapFeaturesARM is not nothrow_move_constructible!" ); +//=== VK_KHR_video_encode_feedback2 === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoEncodeFeedback2FeaturesKHR ) == + sizeof( VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceVideoEncodeFeedback2FeaturesKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoEncodeFeedback2CapabilitiesKHR ) == sizeof( VkVideoEncodeFeedback2CapabilitiesKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "VideoEncodeFeedback2CapabilitiesKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR ) == + sizeof( VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR is not nothrow_move_constructible!" ); + #if defined( VK_USE_PLATFORM_METAL_EXT ) //=== VK_EXT_external_memory_metal === @@ -9921,6 +10059,23 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDevicePresentMeteringFeaturesNV is not nothrow_move_constructible!" ); +//=== VK_EXT_multisampled_render_to_swapchain === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT ) == + sizeof( VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SwapchainFlagsSurfaceCapabilitiesEXT ) == sizeof( VkSwapchainFlagsSurfaceCapabilitiesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "SwapchainFlagsSurfaceCapabilitiesEXT is not nothrow_move_constructible!" ); + //=== VK_EXT_fragment_density_map_offset === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT ) == @@ -9967,6 +10122,48 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR is not nothrow_move_constructible!" ); +//=== VK_KHR_opacity_micromap === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureGeometryMicromapDataKHR ) == + sizeof( VkAccelerationStructureGeometryMicromapDataKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "AccelerationStructureGeometryMicromapDataKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MicromapUsageKHR ) == sizeof( VkMicromapUsageKHR ), "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "MicromapUsageKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapFeaturesKHR ) == sizeof( VkPhysicalDeviceOpacityMicromapFeaturesKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceOpacityMicromapFeaturesKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceOpacityMicromapPropertiesKHR ) == sizeof( VkPhysicalDeviceOpacityMicromapPropertiesKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceOpacityMicromapPropertiesKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MicromapTriangleKHR ) == sizeof( VkMicromapTriangleKHR ), "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "MicromapTriangleKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureTrianglesOpacityMicromapKHR ) == + sizeof( VkAccelerationStructureTrianglesOpacityMicromapKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "AccelerationStructureTrianglesOpacityMicromapKHR is not nothrow_move_constructible!" ); + //=== VK_EXT_shader_64bit_indexing === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT ) == @@ -10179,6 +10376,16 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDeviceComputeOccupancyPriorityFeaturesNV is not nothrow_move_constructible!" ); +//=== VK_KHR_pipeline_library_group_handles === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR ) == + sizeof( VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR is not nothrow_move_constructible!" ); + //=== VK_KHR_maintenance11 === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMaintenance11FeaturesKHR ) == sizeof( VkPhysicalDeviceMaintenance11FeaturesKHR ), @@ -10196,6 +10403,29 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "QueueFamilyOptimalImageTransferGranularityPropertiesKHR is not nothrow_move_constructible!" ); +//=== VK_EXT_cooperative_matrix_maintenance1 === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CooperativeMatrixProperties2EXT ) == sizeof( VkCooperativeMatrixProperties2EXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "CooperativeMatrixProperties2EXT is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixInfo2EXT ) == sizeof( VkPhysicalDeviceCooperativeMatrixInfo2EXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceCooperativeMatrixInfo2EXT is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT ) == + sizeof( VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT is not nothrow_move_constructible!" ); + //=== VK_EXT_shader_subgroup_partitioned === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT ) == @@ -10216,6 +10446,61 @@ VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "FormatProperties4KHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageUsageFlags2CreateInfoKHR ) == sizeof( VkImageUsageFlags2CreateInfoKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "ImageUsageFlags2CreateInfoKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageCreateFlags2CreateInfoKHR ) == sizeof( VkImageCreateFlags2CreateInfoKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "ImageCreateFlags2CreateInfoKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageViewUsage2CreateInfoKHR ) == sizeof( VkImageViewUsage2CreateInfoKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "ImageViewUsage2CreateInfoKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceExtendedFlagsFeaturesKHR ) == sizeof( VkPhysicalDeviceExtendedFlagsFeaturesKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceExtendedFlagsFeaturesKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageStencilUsage2CreateInfoKHR ) == sizeof( VkImageStencilUsage2CreateInfoKHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "ImageStencilUsage2CreateInfoKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SharedPresentSurfaceCapabilities2KHR ) == sizeof( VkSharedPresentSurfaceCapabilities2KHR ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "SharedPresentSurfaceCapabilities2KHR is not nothrow_move_constructible!" ); + +//=== VK_EXT_shader_ocp_microscaling_types === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT ) == + sizeof( VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT is not nothrow_move_constructible!" ); + //=== VK_VALVE_shader_mixed_float_dot_product === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE ) == @@ -10277,4 +10562,74 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PhysicalDevicePrimitiveRestartIndexFeaturesEXT is not nothrow_move_constructible!" ); +//=== VK_EXT_image_tiling_control === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageTilingControlFeaturesEXT ) == + sizeof( VkPhysicalDeviceImageTilingControlFeaturesEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceImageTilingControlFeaturesEXT is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageTilingControlCreateInfoEXT ) == sizeof( VkImageTilingControlCreateInfoEXT ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "ImageTilingControlCreateInfoEXT is not nothrow_move_constructible!" ); + +//=== VK_NV_cooperative_matrix_decode_vector === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV ) == + sizeof( VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV is not nothrow_move_constructible!" ); + +//=== VK_NV_private_data_base_handle === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDevicePrivateDataBaseHandleFeaturesNV ) == + sizeof( VkPhysicalDevicePrivateDataBaseHandleFeaturesNV ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDevicePrivateDataBaseHandleFeaturesNV is not nothrow_move_constructible!" ); + +//=== VK_INTEL_device_info === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceInfoPropertiesINTEL ) == sizeof( VkPhysicalDeviceInfoPropertiesINTEL ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceInfoPropertiesINTEL is not nothrow_move_constructible!" ); + +//=== VK_VALVE_buffer_device_address_allocation_alignment === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE ) == + sizeof( VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE ) == + sizeof( VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferDeviceAddressAlignmentAllocateInfoVALVE ) == + sizeof( VkBufferDeviceAddressAlignmentAllocateInfoVALVE ), + "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "BufferDeviceAddressAlignmentAllocateInfoVALVE is not nothrow_move_constructible!" ); + #endif diff --git a/third_party/vulkan/include/vulkan/vulkan_structs.hpp b/third_party/vulkan/include/vulkan/vulkan_structs.hpp index 8d8b2b0c9..29cbef288 100644 --- a/third_party/vulkan/include/vulkan/vulkan_structs.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_structs.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -3902,6 +3901,389 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = AccelerationStructureGeometryLinearSweptSpheresDataNV; }; + // wrapper struct for struct VkMicromapUsageKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapUsageKHR.html + struct MicromapUsageKHR + { + using NativeType = VkMicromapUsageKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR MicromapUsageKHR( uint32_t count_ = {}, + uint32_t subdivisionLevel_ = {}, + OpacityMicromapFormatKHR format_ = OpacityMicromapFormatKHR::e2State ) VULKAN_HPP_NOEXCEPT + : count{ count_ } + , subdivisionLevel{ subdivisionLevel_ } + , format{ format_ } + { + } + + VULKAN_HPP_CONSTEXPR MicromapUsageKHR( MicromapUsageKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + MicromapUsageKHR( VkMicromapUsageKHR const & rhs ) VULKAN_HPP_NOEXCEPT : MicromapUsageKHR( *reinterpret_cast( &rhs ) ) {} + + MicromapUsageKHR & operator=( MicromapUsageKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + MicromapUsageKHR & operator=( VkMicromapUsageKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 MicromapUsageKHR & setCount( uint32_t count_ ) & VULKAN_HPP_NOEXCEPT + { + count = count_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MicromapUsageKHR && setCount( uint32_t count_ ) && VULKAN_HPP_NOEXCEPT + { + count = count_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 MicromapUsageKHR & setSubdivisionLevel( uint32_t subdivisionLevel_ ) & VULKAN_HPP_NOEXCEPT + { + subdivisionLevel = subdivisionLevel_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MicromapUsageKHR && setSubdivisionLevel( uint32_t subdivisionLevel_ ) && VULKAN_HPP_NOEXCEPT + { + subdivisionLevel = subdivisionLevel_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 MicromapUsageKHR & setFormat( OpacityMicromapFormatKHR format_ ) & VULKAN_HPP_NOEXCEPT + { + format = format_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MicromapUsageKHR && setFormat( OpacityMicromapFormatKHR format_ ) && VULKAN_HPP_NOEXCEPT + { + format = format_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkMicromapUsageKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkMicromapUsageKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkMicromapUsageKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkMicromapUsageKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( count, subdivisionLevel, format ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( MicromapUsageKHR const & ) const = default; +#else + bool operator==( MicromapUsageKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( count == rhs.count ) && ( subdivisionLevel == rhs.subdivisionLevel ) && ( format == rhs.format ); +# endif + } + + bool operator!=( MicromapUsageKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + uint32_t count = {}; + uint32_t subdivisionLevel = {}; + OpacityMicromapFormatKHR format = OpacityMicromapFormatKHR::e2State; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = MicromapUsageKHR; + }; +#endif + + // wrapper struct for struct VkAccelerationStructureGeometryMicromapDataKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryMicromapDataKHR.html + struct AccelerationStructureGeometryMicromapDataKHR + { + using NativeType = VkAccelerationStructureGeometryMicromapDataKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureGeometryMicromapDataKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR AccelerationStructureGeometryMicromapDataKHR( uint32_t usageCountsCount_ = {}, + MicromapUsageKHR const * pUsageCounts_ = {}, + MicromapUsageKHR const * const * ppUsageCounts_ = {}, + DeviceAddress data_ = {}, + DeviceAddress triangleArray_ = {}, + DeviceSize triangleArrayStride_ = {}, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , usageCountsCount{ usageCountsCount_ } + , pUsageCounts{ pUsageCounts_ } + , ppUsageCounts{ ppUsageCounts_ } + , data{ data_ } + , triangleArray{ triangleArray_ } + , triangleArrayStride{ triangleArrayStride_ } + { + } + + VULKAN_HPP_CONSTEXPR AccelerationStructureGeometryMicromapDataKHR( AccelerationStructureGeometryMicromapDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + AccelerationStructureGeometryMicromapDataKHR( VkAccelerationStructureGeometryMicromapDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : AccelerationStructureGeometryMicromapDataKHR( *reinterpret_cast( &rhs ) ) + { + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + AccelerationStructureGeometryMicromapDataKHR( ArrayProxyNoTemporaries const & usageCounts_, + ArrayProxyNoTemporaries const & pUsageCounts_ = {}, + DeviceAddress data_ = {}, + DeviceAddress triangleArray_ = {}, + DeviceSize triangleArrayStride_ = {}, + void const * pNext_ = nullptr ) + : pNext( pNext_ ) + , usageCountsCount( static_cast( !usageCounts_.empty() ? usageCounts_.size() : pUsageCounts_.size() ) ) + , pUsageCounts( usageCounts_.data() ) + , ppUsageCounts( pUsageCounts_.data() ) + , data( data_ ) + , triangleArray( triangleArray_ ) + , triangleArrayStride( triangleArrayStride_ ) + { +# ifdef VULKAN_HPP_NO_EXCEPTIONS + VULKAN_HPP_ASSERT( ( !usageCounts_.empty() + !pUsageCounts_.empty() ) <= 1 ); +# else + if ( 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() ) ) + { + throw LogicError( + VULKAN_HPP_NAMESPACE_STRING + "::AccelerationStructureGeometryMicromapDataKHR::AccelerationStructureGeometryMicromapDataKHR: 1 < ( !usageCounts_.empty() + !pUsageCounts_.empty() )" ); + } +# endif /*VULKAN_HPP_NO_EXCEPTIONS*/ + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + AccelerationStructureGeometryMicromapDataKHR & operator=( AccelerationStructureGeometryMicromapDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + AccelerationStructureGeometryMicromapDataKHR & operator=( VkAccelerationStructureGeometryMicromapDataKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setUsageCountsCount( uint32_t usageCountsCount_ ) & VULKAN_HPP_NOEXCEPT + { + usageCountsCount = usageCountsCount_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setUsageCountsCount( uint32_t usageCountsCount_ ) && VULKAN_HPP_NOEXCEPT + { + usageCountsCount = usageCountsCount_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setPUsageCounts( MicromapUsageKHR const * pUsageCounts_ ) & VULKAN_HPP_NOEXCEPT + { + pUsageCounts = pUsageCounts_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setPUsageCounts( MicromapUsageKHR const * pUsageCounts_ ) && VULKAN_HPP_NOEXCEPT + { + pUsageCounts = pUsageCounts_; + return std::move( *this ); + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + AccelerationStructureGeometryMicromapDataKHR & setUsageCounts( ArrayProxyNoTemporaries const & usageCounts_ ) VULKAN_HPP_NOEXCEPT + { + usageCountsCount = static_cast( usageCounts_.size() ); + pUsageCounts = usageCounts_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setPpUsageCounts( MicromapUsageKHR const * const * ppUsageCounts_ ) & + VULKAN_HPP_NOEXCEPT + { + ppUsageCounts = ppUsageCounts_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setPpUsageCounts( MicromapUsageKHR const * const * ppUsageCounts_ ) && + VULKAN_HPP_NOEXCEPT + { + ppUsageCounts = ppUsageCounts_; + return std::move( *this ); + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + AccelerationStructureGeometryMicromapDataKHR & + setPUsageCounts( ArrayProxyNoTemporaries const & pUsageCounts_ ) VULKAN_HPP_NOEXCEPT + { + usageCountsCount = static_cast( pUsageCounts_.size() ); + ppUsageCounts = pUsageCounts_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setData( DeviceAddress data_ ) & VULKAN_HPP_NOEXCEPT + { + data = data_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setData( DeviceAddress data_ ) && VULKAN_HPP_NOEXCEPT + { + data = data_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setTriangleArray( DeviceAddress triangleArray_ ) & VULKAN_HPP_NOEXCEPT + { + triangleArray = triangleArray_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setTriangleArray( DeviceAddress triangleArray_ ) && VULKAN_HPP_NOEXCEPT + { + triangleArray = triangleArray_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR & setTriangleArrayStride( DeviceSize triangleArrayStride_ ) & VULKAN_HPP_NOEXCEPT + { + triangleArrayStride = triangleArrayStride_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureGeometryMicromapDataKHR && setTriangleArrayStride( DeviceSize triangleArrayStride_ ) && VULKAN_HPP_NOEXCEPT + { + triangleArrayStride = triangleArrayStride_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkAccelerationStructureGeometryMicromapDataKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkAccelerationStructureGeometryMicromapDataKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkAccelerationStructureGeometryMicromapDataKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkAccelerationStructureGeometryMicromapDataKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, usageCountsCount, pUsageCounts, ppUsageCounts, data, triangleArray, triangleArrayStride ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( AccelerationStructureGeometryMicromapDataKHR const & ) const = default; +#else + bool operator==( AccelerationStructureGeometryMicromapDataKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( usageCountsCount == rhs.usageCountsCount ) && ( pUsageCounts == rhs.pUsageCounts ) && + ( ppUsageCounts == rhs.ppUsageCounts ) && ( data == rhs.data ) && ( triangleArray == rhs.triangleArray ) && + ( triangleArrayStride == rhs.triangleArrayStride ); +# endif + } + + bool operator!=( AccelerationStructureGeometryMicromapDataKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eAccelerationStructureGeometryMicromapDataKHR; + void const * pNext = {}; + uint32_t usageCountsCount = {}; + MicromapUsageKHR const * pUsageCounts = {}; + MicromapUsageKHR const * const * ppUsageCounts = {}; + DeviceAddress data = {}; + DeviceAddress triangleArray = {}; + DeviceSize triangleArrayStride = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = AccelerationStructureGeometryMicromapDataKHR; + }; +#endif + + template <> + struct CppType + { + using Type = AccelerationStructureGeometryMicromapDataKHR; + }; + // wrapper struct for struct VkAccelerationStructureGeometryMotionTrianglesDataNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryMotionTrianglesDataNV.html struct AccelerationStructureGeometryMotionTrianglesDataNV @@ -6637,6 +7019,199 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = AccelerationStructureTrianglesOpacityMicromapEXT; }; + // wrapper struct for struct VkAccelerationStructureTrianglesOpacityMicromapKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureTrianglesOpacityMicromapKHR.html + struct AccelerationStructureTrianglesOpacityMicromapKHR + { + using NativeType = VkAccelerationStructureTrianglesOpacityMicromapKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureTrianglesOpacityMicromapKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR AccelerationStructureTrianglesOpacityMicromapKHR( IndexType indexType_ = IndexType::eUint16, + DeviceAddress indexBuffer_ = {}, + DeviceSize indexStride_ = {}, + uint32_t baseTriangle_ = {}, + AccelerationStructureKHR micromap_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , indexType{ indexType_ } + , indexBuffer{ indexBuffer_ } + , indexStride{ indexStride_ } + , baseTriangle{ baseTriangle_ } + , micromap{ micromap_ } + { + } + + VULKAN_HPP_CONSTEXPR + AccelerationStructureTrianglesOpacityMicromapKHR( AccelerationStructureTrianglesOpacityMicromapKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + AccelerationStructureTrianglesOpacityMicromapKHR( VkAccelerationStructureTrianglesOpacityMicromapKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : AccelerationStructureTrianglesOpacityMicromapKHR( *reinterpret_cast( &rhs ) ) + { + } + + AccelerationStructureTrianglesOpacityMicromapKHR & operator=( AccelerationStructureTrianglesOpacityMicromapKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + AccelerationStructureTrianglesOpacityMicromapKHR & operator=( VkAccelerationStructureTrianglesOpacityMicromapKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR & setIndexType( IndexType indexType_ ) & VULKAN_HPP_NOEXCEPT + { + indexType = indexType_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR && setIndexType( IndexType indexType_ ) && VULKAN_HPP_NOEXCEPT + { + indexType = indexType_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR & setIndexBuffer( DeviceAddress indexBuffer_ ) & VULKAN_HPP_NOEXCEPT + { + indexBuffer = indexBuffer_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR && setIndexBuffer( DeviceAddress indexBuffer_ ) && VULKAN_HPP_NOEXCEPT + { + indexBuffer = indexBuffer_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR & setIndexStride( DeviceSize indexStride_ ) & VULKAN_HPP_NOEXCEPT + { + indexStride = indexStride_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR && setIndexStride( DeviceSize indexStride_ ) && VULKAN_HPP_NOEXCEPT + { + indexStride = indexStride_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR & setBaseTriangle( uint32_t baseTriangle_ ) & VULKAN_HPP_NOEXCEPT + { + baseTriangle = baseTriangle_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR && setBaseTriangle( uint32_t baseTriangle_ ) && VULKAN_HPP_NOEXCEPT + { + baseTriangle = baseTriangle_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR & setMicromap( AccelerationStructureKHR micromap_ ) & VULKAN_HPP_NOEXCEPT + { + micromap = micromap_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 AccelerationStructureTrianglesOpacityMicromapKHR && setMicromap( AccelerationStructureKHR micromap_ ) && VULKAN_HPP_NOEXCEPT + { + micromap = micromap_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkAccelerationStructureTrianglesOpacityMicromapKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkAccelerationStructureTrianglesOpacityMicromapKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkAccelerationStructureTrianglesOpacityMicromapKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkAccelerationStructureTrianglesOpacityMicromapKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, indexType, indexBuffer, indexStride, baseTriangle, micromap ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( AccelerationStructureTrianglesOpacityMicromapKHR const & ) const = default; +#else + bool operator==( AccelerationStructureTrianglesOpacityMicromapKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( indexType == rhs.indexType ) && ( indexBuffer == rhs.indexBuffer ) && + ( indexStride == rhs.indexStride ) && ( baseTriangle == rhs.baseTriangle ) && ( micromap == rhs.micromap ); +# endif + } + + bool operator!=( AccelerationStructureTrianglesOpacityMicromapKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eAccelerationStructureTrianglesOpacityMicromapKHR; + void * pNext = {}; + IndexType indexType = IndexType::eUint16; + DeviceAddress indexBuffer = {}; + DeviceSize indexStride = {}; + uint32_t baseTriangle = {}; + AccelerationStructureKHR micromap = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = AccelerationStructureTrianglesOpacityMicromapKHR; + }; +#endif + + template <> + struct CppType + { + using Type = AccelerationStructureTrianglesOpacityMicromapKHR; + }; + // wrapper struct for struct VkAccelerationStructureVersionInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkAccelerationStructureVersionInfoKHR.html struct AccelerationStructureVersionInfoKHR @@ -18690,6 +19265,130 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using BufferCopy2KHR = BufferCopy2; + // wrapper struct for struct VkBufferDeviceAddressAlignmentAllocateInfoVALVE, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferDeviceAddressAlignmentAllocateInfoVALVE.html + struct BufferDeviceAddressAlignmentAllocateInfoVALVE + { + using NativeType = VkBufferDeviceAddressAlignmentAllocateInfoVALVE; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferDeviceAddressAlignmentAllocateInfoVALVE; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR BufferDeviceAddressAlignmentAllocateInfoVALVE( uint32_t alignment_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , alignment{ alignment_ } + { + } + + VULKAN_HPP_CONSTEXPR + BufferDeviceAddressAlignmentAllocateInfoVALVE( BufferDeviceAddressAlignmentAllocateInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + BufferDeviceAddressAlignmentAllocateInfoVALVE( VkBufferDeviceAddressAlignmentAllocateInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT + : BufferDeviceAddressAlignmentAllocateInfoVALVE( *reinterpret_cast( &rhs ) ) + { + } + + BufferDeviceAddressAlignmentAllocateInfoVALVE & operator=( BufferDeviceAddressAlignmentAllocateInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + BufferDeviceAddressAlignmentAllocateInfoVALVE & operator=( VkBufferDeviceAddressAlignmentAllocateInfoVALVE const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressAlignmentAllocateInfoVALVE & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressAlignmentAllocateInfoVALVE && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressAlignmentAllocateInfoVALVE & setAlignment( uint32_t alignment_ ) & VULKAN_HPP_NOEXCEPT + { + alignment = alignment_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 BufferDeviceAddressAlignmentAllocateInfoVALVE && setAlignment( uint32_t alignment_ ) && VULKAN_HPP_NOEXCEPT + { + alignment = alignment_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkBufferDeviceAddressAlignmentAllocateInfoVALVE const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkBufferDeviceAddressAlignmentAllocateInfoVALVE &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkBufferDeviceAddressAlignmentAllocateInfoVALVE const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkBufferDeviceAddressAlignmentAllocateInfoVALVE *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, alignment ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( BufferDeviceAddressAlignmentAllocateInfoVALVE const & ) const = default; +#else + bool operator==( BufferDeviceAddressAlignmentAllocateInfoVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( alignment == rhs.alignment ); +# endif + } + + bool operator!=( BufferDeviceAddressAlignmentAllocateInfoVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eBufferDeviceAddressAlignmentAllocateInfoVALVE; + void * pNext = {}; + uint32_t alignment = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = BufferDeviceAddressAlignmentAllocateInfoVALVE; + }; +#endif + + template <> + struct CppType + { + using Type = BufferDeviceAddressAlignmentAllocateInfoVALVE; + }; + // wrapper struct for struct VkBufferDeviceAddressCreateInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkBufferDeviceAddressCreateInfoEXT.html struct BufferDeviceAddressCreateInfoEXT @@ -28849,6 +29548,133 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = CooperativeMatrixFlexibleDimensionsPropertiesNV; }; + // wrapper struct for struct VkCooperativeMatrixProperties2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixProperties2EXT.html + struct CooperativeMatrixProperties2EXT + { + using NativeType = VkCooperativeMatrixProperties2EXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCooperativeMatrixProperties2EXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR CooperativeMatrixProperties2EXT( uint32_t MGranularity_ = {}, + uint32_t NGranularity_ = {}, + uint32_t KGranularity_ = {}, + ComponentTypeKHR AType_ = ComponentTypeKHR::eFloat16, + ComponentTypeKHR BType_ = ComponentTypeKHR::eFloat16, + ComponentTypeKHR CType_ = ComponentTypeKHR::eFloat16, + ComponentTypeKHR ResultType_ = ComponentTypeKHR::eFloat16, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , MGranularity{ MGranularity_ } + , NGranularity{ NGranularity_ } + , KGranularity{ KGranularity_ } + , AType{ AType_ } + , BType{ BType_ } + , CType{ CType_ } + , ResultType{ ResultType_ } + { + } + + VULKAN_HPP_CONSTEXPR CooperativeMatrixProperties2EXT( CooperativeMatrixProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + CooperativeMatrixProperties2EXT( VkCooperativeMatrixProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT + : CooperativeMatrixProperties2EXT( *reinterpret_cast( &rhs ) ) + { + } + + CooperativeMatrixProperties2EXT & operator=( CooperativeMatrixProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + CooperativeMatrixProperties2EXT & operator=( VkCooperativeMatrixProperties2EXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkCooperativeMatrixProperties2EXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkCooperativeMatrixProperties2EXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkCooperativeMatrixProperties2EXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkCooperativeMatrixProperties2EXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, MGranularity, NGranularity, KGranularity, AType, BType, CType, ResultType ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( CooperativeMatrixProperties2EXT const & ) const = default; +#else + bool operator==( CooperativeMatrixProperties2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( MGranularity == rhs.MGranularity ) && ( NGranularity == rhs.NGranularity ) && + ( KGranularity == rhs.KGranularity ) && ( AType == rhs.AType ) && ( BType == rhs.BType ) && ( CType == rhs.CType ) && + ( ResultType == rhs.ResultType ); +# endif + } + + bool operator!=( CooperativeMatrixProperties2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eCooperativeMatrixProperties2EXT; + void * pNext = {}; + uint32_t MGranularity = {}; + uint32_t NGranularity = {}; + uint32_t KGranularity = {}; + ComponentTypeKHR AType = ComponentTypeKHR::eFloat16; + ComponentTypeKHR BType = ComponentTypeKHR::eFloat16; + ComponentTypeKHR CType = ComponentTypeKHR::eFloat16; + ComponentTypeKHR ResultType = ComponentTypeKHR::eFloat16; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = CooperativeMatrixProperties2EXT; + }; +#endif + + template <> + struct CppType + { + using Type = CooperativeMatrixProperties2EXT; + }; + // wrapper struct for struct VkCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkCooperativeMatrixPropertiesKHR.html struct CooperativeMatrixPropertiesKHR @@ -55963,6 +56789,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = DeviceOrHostAddressConstAMDX; }; # endif + #endif /*VK_ENABLE_BETA_EXTENSIONS*/ // wrapper struct for struct VkDevicePipelineBinaryInternalCacheControlKHR, see @@ -67942,6 +68769,111 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using FormatProperties3KHR = FormatProperties3; + // wrapper struct for struct VkFormatProperties4KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkFormatProperties4KHR.html + struct FormatProperties4KHR + { + using NativeType = VkFormatProperties4KHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eFormatProperties4KHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR FormatProperties4KHR( FormatFeatureFlags4KHR linearTilingFeatures_ = {}, + FormatFeatureFlags4KHR optimalTilingFeatures_ = {}, + FormatFeatureFlags4KHR bufferFeatures_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , linearTilingFeatures{ linearTilingFeatures_ } + , optimalTilingFeatures{ optimalTilingFeatures_ } + , bufferFeatures{ bufferFeatures_ } + { + } + + VULKAN_HPP_CONSTEXPR FormatProperties4KHR( FormatProperties4KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + FormatProperties4KHR( VkFormatProperties4KHR const & rhs ) VULKAN_HPP_NOEXCEPT + : FormatProperties4KHR( *reinterpret_cast( &rhs ) ) + { + } + + FormatProperties4KHR & operator=( FormatProperties4KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + FormatProperties4KHR & operator=( VkFormatProperties4KHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkFormatProperties4KHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkFormatProperties4KHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkFormatProperties4KHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkFormatProperties4KHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, linearTilingFeatures, optimalTilingFeatures, bufferFeatures ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( FormatProperties4KHR const & ) const = default; +#else + bool operator==( FormatProperties4KHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( linearTilingFeatures == rhs.linearTilingFeatures ) && + ( optimalTilingFeatures == rhs.optimalTilingFeatures ) && ( bufferFeatures == rhs.bufferFeatures ); +# endif + } + + bool operator!=( FormatProperties4KHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eFormatProperties4KHR; + void * pNext = {}; + FormatFeatureFlags4KHR linearTilingFeatures = {}; + FormatFeatureFlags4KHR optimalTilingFeatures = {}; + FormatFeatureFlags4KHR bufferFeatures = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = FormatProperties4KHR; + }; +#endif + + template <> + struct CppType + { + using Type = FormatProperties4KHR; + }; + // wrapper struct for struct VkFragmentShadingRateAttachmentInfoKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkFragmentShadingRateAttachmentInfoKHR.html struct FragmentShadingRateAttachmentInfoKHR @@ -71057,6 +71989,1174 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = GetLatencyMarkerInfoNV; }; + // wrapper struct for struct VkGpaDeviceClockModeInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaDeviceClockModeInfoAMD.html + struct GpaDeviceClockModeInfoAMD + { + using NativeType = VkGpaDeviceClockModeInfoAMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGpaDeviceClockModeInfoAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR GpaDeviceClockModeInfoAMD( GpaDeviceClockModeAMD clockMode_ = GpaDeviceClockModeAMD::eDefault, + float memoryClockRatioToPeak_ = {}, + float engineClockRatioToPeak_ = {}, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , clockMode{ clockMode_ } + , memoryClockRatioToPeak{ memoryClockRatioToPeak_ } + , engineClockRatioToPeak{ engineClockRatioToPeak_ } + { + } + + VULKAN_HPP_CONSTEXPR GpaDeviceClockModeInfoAMD( GpaDeviceClockModeInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + GpaDeviceClockModeInfoAMD( VkGpaDeviceClockModeInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : GpaDeviceClockModeInfoAMD( *reinterpret_cast( &rhs ) ) + { + } + + GpaDeviceClockModeInfoAMD & operator=( GpaDeviceClockModeInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + GpaDeviceClockModeInfoAMD & operator=( VkGpaDeviceClockModeInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD & setClockMode( GpaDeviceClockModeAMD clockMode_ ) & VULKAN_HPP_NOEXCEPT + { + clockMode = clockMode_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD && setClockMode( GpaDeviceClockModeAMD clockMode_ ) && VULKAN_HPP_NOEXCEPT + { + clockMode = clockMode_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD & setMemoryClockRatioToPeak( float memoryClockRatioToPeak_ ) & VULKAN_HPP_NOEXCEPT + { + memoryClockRatioToPeak = memoryClockRatioToPeak_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD && setMemoryClockRatioToPeak( float memoryClockRatioToPeak_ ) && VULKAN_HPP_NOEXCEPT + { + memoryClockRatioToPeak = memoryClockRatioToPeak_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD & setEngineClockRatioToPeak( float engineClockRatioToPeak_ ) & VULKAN_HPP_NOEXCEPT + { + engineClockRatioToPeak = engineClockRatioToPeak_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceClockModeInfoAMD && setEngineClockRatioToPeak( float engineClockRatioToPeak_ ) && VULKAN_HPP_NOEXCEPT + { + engineClockRatioToPeak = engineClockRatioToPeak_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkGpaDeviceClockModeInfoAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaDeviceClockModeInfoAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaDeviceClockModeInfoAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkGpaDeviceClockModeInfoAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, clockMode, memoryClockRatioToPeak, engineClockRatioToPeak ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( GpaDeviceClockModeInfoAMD const & ) const = default; +#else + bool operator==( GpaDeviceClockModeInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( clockMode == rhs.clockMode ) && ( memoryClockRatioToPeak == rhs.memoryClockRatioToPeak ) && + ( engineClockRatioToPeak == rhs.engineClockRatioToPeak ); +# endif + } + + bool operator!=( GpaDeviceClockModeInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eGpaDeviceClockModeInfoAMD; + void const * pNext = {}; + GpaDeviceClockModeAMD clockMode = GpaDeviceClockModeAMD::eDefault; + float memoryClockRatioToPeak = {}; + float engineClockRatioToPeak = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = GpaDeviceClockModeInfoAMD; + }; +#endif + + template <> + struct CppType + { + using Type = GpaDeviceClockModeInfoAMD; + }; + + // wrapper struct for struct VkGpaDeviceGetClockInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaDeviceGetClockInfoAMD.html + struct GpaDeviceGetClockInfoAMD + { + using NativeType = VkGpaDeviceGetClockInfoAMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGpaDeviceGetClockInfoAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR GpaDeviceGetClockInfoAMD( float memoryClockRatioToPeak_ = {}, + float engineClockRatioToPeak_ = {}, + uint32_t memoryClockFrequency_ = {}, + uint32_t engineClockFrequency_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , memoryClockRatioToPeak{ memoryClockRatioToPeak_ } + , engineClockRatioToPeak{ engineClockRatioToPeak_ } + , memoryClockFrequency{ memoryClockFrequency_ } + , engineClockFrequency{ engineClockFrequency_ } + { + } + + VULKAN_HPP_CONSTEXPR GpaDeviceGetClockInfoAMD( GpaDeviceGetClockInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + GpaDeviceGetClockInfoAMD( VkGpaDeviceGetClockInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : GpaDeviceGetClockInfoAMD( *reinterpret_cast( &rhs ) ) + { + } + + GpaDeviceGetClockInfoAMD & operator=( GpaDeviceGetClockInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + GpaDeviceGetClockInfoAMD & operator=( VkGpaDeviceGetClockInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD & setMemoryClockRatioToPeak( float memoryClockRatioToPeak_ ) & VULKAN_HPP_NOEXCEPT + { + memoryClockRatioToPeak = memoryClockRatioToPeak_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD && setMemoryClockRatioToPeak( float memoryClockRatioToPeak_ ) && VULKAN_HPP_NOEXCEPT + { + memoryClockRatioToPeak = memoryClockRatioToPeak_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD & setEngineClockRatioToPeak( float engineClockRatioToPeak_ ) & VULKAN_HPP_NOEXCEPT + { + engineClockRatioToPeak = engineClockRatioToPeak_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD && setEngineClockRatioToPeak( float engineClockRatioToPeak_ ) && VULKAN_HPP_NOEXCEPT + { + engineClockRatioToPeak = engineClockRatioToPeak_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD & setMemoryClockFrequency( uint32_t memoryClockFrequency_ ) & VULKAN_HPP_NOEXCEPT + { + memoryClockFrequency = memoryClockFrequency_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD && setMemoryClockFrequency( uint32_t memoryClockFrequency_ ) && VULKAN_HPP_NOEXCEPT + { + memoryClockFrequency = memoryClockFrequency_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD & setEngineClockFrequency( uint32_t engineClockFrequency_ ) & VULKAN_HPP_NOEXCEPT + { + engineClockFrequency = engineClockFrequency_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaDeviceGetClockInfoAMD && setEngineClockFrequency( uint32_t engineClockFrequency_ ) && VULKAN_HPP_NOEXCEPT + { + engineClockFrequency = engineClockFrequency_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkGpaDeviceGetClockInfoAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaDeviceGetClockInfoAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaDeviceGetClockInfoAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkGpaDeviceGetClockInfoAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, memoryClockRatioToPeak, engineClockRatioToPeak, memoryClockFrequency, engineClockFrequency ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( GpaDeviceGetClockInfoAMD const & ) const = default; +#else + bool operator==( GpaDeviceGetClockInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryClockRatioToPeak == rhs.memoryClockRatioToPeak ) && + ( engineClockRatioToPeak == rhs.engineClockRatioToPeak ) && ( memoryClockFrequency == rhs.memoryClockFrequency ) && + ( engineClockFrequency == rhs.engineClockFrequency ); +# endif + } + + bool operator!=( GpaDeviceGetClockInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eGpaDeviceGetClockInfoAMD; + void * pNext = {}; + float memoryClockRatioToPeak = {}; + float engineClockRatioToPeak = {}; + uint32_t memoryClockFrequency = {}; + uint32_t engineClockFrequency = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = GpaDeviceGetClockInfoAMD; + }; +#endif + + template <> + struct CppType + { + using Type = GpaDeviceGetClockInfoAMD; + }; + + // wrapper struct for struct VkGpaPerfBlockPropertiesAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaPerfBlockPropertiesAMD.html + struct GpaPerfBlockPropertiesAMD + { + using NativeType = VkGpaPerfBlockPropertiesAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR GpaPerfBlockPropertiesAMD( GpaPerfBlockAMD blockType_ = GpaPerfBlockAMD::eCpf, + GpaPerfBlockPropertiesFlagsAMD flags_ = {}, + uint32_t instanceCount_ = {}, + uint32_t maxEventID_ = {}, + uint32_t maxGlobalOnlyCounters_ = {}, + uint32_t maxGlobalSharedCounters_ = {}, + uint32_t maxStreamingCounters_ = {} ) VULKAN_HPP_NOEXCEPT + : blockType{ blockType_ } + , flags{ flags_ } + , instanceCount{ instanceCount_ } + , maxEventID{ maxEventID_ } + , maxGlobalOnlyCounters{ maxGlobalOnlyCounters_ } + , maxGlobalSharedCounters{ maxGlobalSharedCounters_ } + , maxStreamingCounters{ maxStreamingCounters_ } + { + } + + VULKAN_HPP_CONSTEXPR GpaPerfBlockPropertiesAMD( GpaPerfBlockPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + GpaPerfBlockPropertiesAMD( VkGpaPerfBlockPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : GpaPerfBlockPropertiesAMD( *reinterpret_cast( &rhs ) ) + { + } + + GpaPerfBlockPropertiesAMD & operator=( GpaPerfBlockPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + GpaPerfBlockPropertiesAMD & operator=( VkGpaPerfBlockPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setBlockType( GpaPerfBlockAMD blockType_ ) & VULKAN_HPP_NOEXCEPT + { + blockType = blockType_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setBlockType( GpaPerfBlockAMD blockType_ ) && VULKAN_HPP_NOEXCEPT + { + blockType = blockType_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setFlags( GpaPerfBlockPropertiesFlagsAMD flags_ ) & VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setFlags( GpaPerfBlockPropertiesFlagsAMD flags_ ) && VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setInstanceCount( uint32_t instanceCount_ ) & VULKAN_HPP_NOEXCEPT + { + instanceCount = instanceCount_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setInstanceCount( uint32_t instanceCount_ ) && VULKAN_HPP_NOEXCEPT + { + instanceCount = instanceCount_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setMaxEventID( uint32_t maxEventID_ ) & VULKAN_HPP_NOEXCEPT + { + maxEventID = maxEventID_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setMaxEventID( uint32_t maxEventID_ ) && VULKAN_HPP_NOEXCEPT + { + maxEventID = maxEventID_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setMaxGlobalOnlyCounters( uint32_t maxGlobalOnlyCounters_ ) & VULKAN_HPP_NOEXCEPT + { + maxGlobalOnlyCounters = maxGlobalOnlyCounters_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setMaxGlobalOnlyCounters( uint32_t maxGlobalOnlyCounters_ ) && VULKAN_HPP_NOEXCEPT + { + maxGlobalOnlyCounters = maxGlobalOnlyCounters_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setMaxGlobalSharedCounters( uint32_t maxGlobalSharedCounters_ ) & VULKAN_HPP_NOEXCEPT + { + maxGlobalSharedCounters = maxGlobalSharedCounters_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setMaxGlobalSharedCounters( uint32_t maxGlobalSharedCounters_ ) && VULKAN_HPP_NOEXCEPT + { + maxGlobalSharedCounters = maxGlobalSharedCounters_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD & setMaxStreamingCounters( uint32_t maxStreamingCounters_ ) & VULKAN_HPP_NOEXCEPT + { + maxStreamingCounters = maxStreamingCounters_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfBlockPropertiesAMD && setMaxStreamingCounters( uint32_t maxStreamingCounters_ ) && VULKAN_HPP_NOEXCEPT + { + maxStreamingCounters = maxStreamingCounters_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkGpaPerfBlockPropertiesAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaPerfBlockPropertiesAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaPerfBlockPropertiesAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkGpaPerfBlockPropertiesAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( blockType, flags, instanceCount, maxEventID, maxGlobalOnlyCounters, maxGlobalSharedCounters, maxStreamingCounters ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( GpaPerfBlockPropertiesAMD const & ) const = default; +#else + bool operator==( GpaPerfBlockPropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( blockType == rhs.blockType ) && ( flags == rhs.flags ) && ( instanceCount == rhs.instanceCount ) && ( maxEventID == rhs.maxEventID ) && + ( maxGlobalOnlyCounters == rhs.maxGlobalOnlyCounters ) && ( maxGlobalSharedCounters == rhs.maxGlobalSharedCounters ) && + ( maxStreamingCounters == rhs.maxStreamingCounters ); +# endif + } + + bool operator!=( GpaPerfBlockPropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + GpaPerfBlockAMD blockType = GpaPerfBlockAMD::eCpf; + GpaPerfBlockPropertiesFlagsAMD flags = {}; + uint32_t instanceCount = {}; + uint32_t maxEventID = {}; + uint32_t maxGlobalOnlyCounters = {}; + uint32_t maxGlobalSharedCounters = {}; + uint32_t maxStreamingCounters = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = GpaPerfBlockPropertiesAMD; + }; +#endif + + // wrapper struct for struct VkGpaPerfCounterAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaPerfCounterAMD.html + struct GpaPerfCounterAMD + { + using NativeType = VkGpaPerfCounterAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR + GpaPerfCounterAMD( GpaPerfBlockAMD blockType_ = GpaPerfBlockAMD::eCpf, uint32_t blockInstance_ = {}, uint32_t eventID_ = {} ) VULKAN_HPP_NOEXCEPT + : blockType{ blockType_ } + , blockInstance{ blockInstance_ } + , eventID{ eventID_ } + { + } + + VULKAN_HPP_CONSTEXPR GpaPerfCounterAMD( GpaPerfCounterAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + GpaPerfCounterAMD( VkGpaPerfCounterAMD const & rhs ) VULKAN_HPP_NOEXCEPT : GpaPerfCounterAMD( *reinterpret_cast( &rhs ) ) {} + + GpaPerfCounterAMD & operator=( GpaPerfCounterAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + GpaPerfCounterAMD & operator=( VkGpaPerfCounterAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 GpaPerfCounterAMD & setBlockType( GpaPerfBlockAMD blockType_ ) & VULKAN_HPP_NOEXCEPT + { + blockType = blockType_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfCounterAMD && setBlockType( GpaPerfBlockAMD blockType_ ) && VULKAN_HPP_NOEXCEPT + { + blockType = blockType_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfCounterAMD & setBlockInstance( uint32_t blockInstance_ ) & VULKAN_HPP_NOEXCEPT + { + blockInstance = blockInstance_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfCounterAMD && setBlockInstance( uint32_t blockInstance_ ) && VULKAN_HPP_NOEXCEPT + { + blockInstance = blockInstance_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfCounterAMD & setEventID( uint32_t eventID_ ) & VULKAN_HPP_NOEXCEPT + { + eventID = eventID_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaPerfCounterAMD && setEventID( uint32_t eventID_ ) && VULKAN_HPP_NOEXCEPT + { + eventID = eventID_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkGpaPerfCounterAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaPerfCounterAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaPerfCounterAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkGpaPerfCounterAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( blockType, blockInstance, eventID ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( GpaPerfCounterAMD const & ) const = default; +#else + bool operator==( GpaPerfCounterAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( blockType == rhs.blockType ) && ( blockInstance == rhs.blockInstance ) && ( eventID == rhs.eventID ); +# endif + } + + bool operator!=( GpaPerfCounterAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + GpaPerfBlockAMD blockType = GpaPerfBlockAMD::eCpf; + uint32_t blockInstance = {}; + uint32_t eventID = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = GpaPerfCounterAMD; + }; +#endif + + // wrapper struct for struct VkGpaSampleBeginInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSampleBeginInfoAMD.html + struct GpaSampleBeginInfoAMD + { + using NativeType = VkGpaSampleBeginInfoAMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGpaSampleBeginInfoAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR GpaSampleBeginInfoAMD( GpaSampleTypeAMD sampleType_ = GpaSampleTypeAMD::eCumulative, + Bool32 sampleInternalOperations_ = {}, + Bool32 cacheFlushOnCounterCollection_ = {}, + Bool32 sqShaderMaskEnable_ = {}, + GpaSqShaderStageFlagsAMD sqShaderMask_ = {}, + uint32_t perfCounterCount_ = {}, + GpaPerfCounterAMD const * pPerfCounters_ = {}, + uint32_t streamingPerfTraceSampleInterval_ = {}, + DeviceSize perfCounterDeviceMemoryLimit_ = {}, + Bool32 sqThreadTraceEnable_ = {}, + Bool32 sqThreadTraceSuppressInstructionTokens_ = {}, + DeviceSize sqThreadTraceDeviceMemoryLimit_ = {}, + PipelineStageFlags timingPreSample_ = {}, + PipelineStageFlags timingPostSample_ = {}, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , sampleType{ sampleType_ } + , sampleInternalOperations{ sampleInternalOperations_ } + , cacheFlushOnCounterCollection{ cacheFlushOnCounterCollection_ } + , sqShaderMaskEnable{ sqShaderMaskEnable_ } + , sqShaderMask{ sqShaderMask_ } + , perfCounterCount{ perfCounterCount_ } + , pPerfCounters{ pPerfCounters_ } + , streamingPerfTraceSampleInterval{ streamingPerfTraceSampleInterval_ } + , perfCounterDeviceMemoryLimit{ perfCounterDeviceMemoryLimit_ } + , sqThreadTraceEnable{ sqThreadTraceEnable_ } + , sqThreadTraceSuppressInstructionTokens{ sqThreadTraceSuppressInstructionTokens_ } + , sqThreadTraceDeviceMemoryLimit{ sqThreadTraceDeviceMemoryLimit_ } + , timingPreSample{ timingPreSample_ } + , timingPostSample{ timingPostSample_ } + { + } + + VULKAN_HPP_CONSTEXPR GpaSampleBeginInfoAMD( GpaSampleBeginInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + GpaSampleBeginInfoAMD( VkGpaSampleBeginInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : GpaSampleBeginInfoAMD( *reinterpret_cast( &rhs ) ) + { + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + GpaSampleBeginInfoAMD( GpaSampleTypeAMD sampleType_, + Bool32 sampleInternalOperations_, + Bool32 cacheFlushOnCounterCollection_, + Bool32 sqShaderMaskEnable_, + GpaSqShaderStageFlagsAMD sqShaderMask_, + ArrayProxyNoTemporaries const & perfCounters_, + uint32_t streamingPerfTraceSampleInterval_ = {}, + DeviceSize perfCounterDeviceMemoryLimit_ = {}, + Bool32 sqThreadTraceEnable_ = {}, + Bool32 sqThreadTraceSuppressInstructionTokens_ = {}, + DeviceSize sqThreadTraceDeviceMemoryLimit_ = {}, + PipelineStageFlags timingPreSample_ = {}, + PipelineStageFlags timingPostSample_ = {}, + void const * pNext_ = nullptr ) + : pNext( pNext_ ) + , sampleType( sampleType_ ) + , sampleInternalOperations( sampleInternalOperations_ ) + , cacheFlushOnCounterCollection( cacheFlushOnCounterCollection_ ) + , sqShaderMaskEnable( sqShaderMaskEnable_ ) + , sqShaderMask( sqShaderMask_ ) + , perfCounterCount( static_cast( perfCounters_.size() ) ) + , pPerfCounters( perfCounters_.data() ) + , streamingPerfTraceSampleInterval( streamingPerfTraceSampleInterval_ ) + , perfCounterDeviceMemoryLimit( perfCounterDeviceMemoryLimit_ ) + , sqThreadTraceEnable( sqThreadTraceEnable_ ) + , sqThreadTraceSuppressInstructionTokens( sqThreadTraceSuppressInstructionTokens_ ) + , sqThreadTraceDeviceMemoryLimit( sqThreadTraceDeviceMemoryLimit_ ) + , timingPreSample( timingPreSample_ ) + , timingPostSample( timingPostSample_ ) + { + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + GpaSampleBeginInfoAMD & operator=( GpaSampleBeginInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + GpaSampleBeginInfoAMD & operator=( VkGpaSampleBeginInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSampleType( GpaSampleTypeAMD sampleType_ ) & VULKAN_HPP_NOEXCEPT + { + sampleType = sampleType_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSampleType( GpaSampleTypeAMD sampleType_ ) && VULKAN_HPP_NOEXCEPT + { + sampleType = sampleType_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSampleInternalOperations( Bool32 sampleInternalOperations_ ) & VULKAN_HPP_NOEXCEPT + { + sampleInternalOperations = sampleInternalOperations_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSampleInternalOperations( Bool32 sampleInternalOperations_ ) && VULKAN_HPP_NOEXCEPT + { + sampleInternalOperations = sampleInternalOperations_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setCacheFlushOnCounterCollection( Bool32 cacheFlushOnCounterCollection_ ) & VULKAN_HPP_NOEXCEPT + { + cacheFlushOnCounterCollection = cacheFlushOnCounterCollection_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setCacheFlushOnCounterCollection( Bool32 cacheFlushOnCounterCollection_ ) && VULKAN_HPP_NOEXCEPT + { + cacheFlushOnCounterCollection = cacheFlushOnCounterCollection_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSqShaderMaskEnable( Bool32 sqShaderMaskEnable_ ) & VULKAN_HPP_NOEXCEPT + { + sqShaderMaskEnable = sqShaderMaskEnable_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSqShaderMaskEnable( Bool32 sqShaderMaskEnable_ ) && VULKAN_HPP_NOEXCEPT + { + sqShaderMaskEnable = sqShaderMaskEnable_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSqShaderMask( GpaSqShaderStageFlagsAMD sqShaderMask_ ) & VULKAN_HPP_NOEXCEPT + { + sqShaderMask = sqShaderMask_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSqShaderMask( GpaSqShaderStageFlagsAMD sqShaderMask_ ) && VULKAN_HPP_NOEXCEPT + { + sqShaderMask = sqShaderMask_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setPerfCounterCount( uint32_t perfCounterCount_ ) & VULKAN_HPP_NOEXCEPT + { + perfCounterCount = perfCounterCount_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setPerfCounterCount( uint32_t perfCounterCount_ ) && VULKAN_HPP_NOEXCEPT + { + perfCounterCount = perfCounterCount_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setPPerfCounters( GpaPerfCounterAMD const * pPerfCounters_ ) & VULKAN_HPP_NOEXCEPT + { + pPerfCounters = pPerfCounters_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setPPerfCounters( GpaPerfCounterAMD const * pPerfCounters_ ) && VULKAN_HPP_NOEXCEPT + { + pPerfCounters = pPerfCounters_; + return std::move( *this ); + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + GpaSampleBeginInfoAMD & setPerfCounters( ArrayProxyNoTemporaries const & perfCounters_ ) VULKAN_HPP_NOEXCEPT + { + perfCounterCount = static_cast( perfCounters_.size() ); + pPerfCounters = perfCounters_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setStreamingPerfTraceSampleInterval( uint32_t streamingPerfTraceSampleInterval_ ) & VULKAN_HPP_NOEXCEPT + { + streamingPerfTraceSampleInterval = streamingPerfTraceSampleInterval_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setStreamingPerfTraceSampleInterval( uint32_t streamingPerfTraceSampleInterval_ ) && VULKAN_HPP_NOEXCEPT + { + streamingPerfTraceSampleInterval = streamingPerfTraceSampleInterval_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setPerfCounterDeviceMemoryLimit( DeviceSize perfCounterDeviceMemoryLimit_ ) & VULKAN_HPP_NOEXCEPT + { + perfCounterDeviceMemoryLimit = perfCounterDeviceMemoryLimit_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setPerfCounterDeviceMemoryLimit( DeviceSize perfCounterDeviceMemoryLimit_ ) && VULKAN_HPP_NOEXCEPT + { + perfCounterDeviceMemoryLimit = perfCounterDeviceMemoryLimit_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSqThreadTraceEnable( Bool32 sqThreadTraceEnable_ ) & VULKAN_HPP_NOEXCEPT + { + sqThreadTraceEnable = sqThreadTraceEnable_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSqThreadTraceEnable( Bool32 sqThreadTraceEnable_ ) && VULKAN_HPP_NOEXCEPT + { + sqThreadTraceEnable = sqThreadTraceEnable_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSqThreadTraceSuppressInstructionTokens( Bool32 sqThreadTraceSuppressInstructionTokens_ ) & + VULKAN_HPP_NOEXCEPT + { + sqThreadTraceSuppressInstructionTokens = sqThreadTraceSuppressInstructionTokens_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSqThreadTraceSuppressInstructionTokens( Bool32 sqThreadTraceSuppressInstructionTokens_ ) && + VULKAN_HPP_NOEXCEPT + { + sqThreadTraceSuppressInstructionTokens = sqThreadTraceSuppressInstructionTokens_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setSqThreadTraceDeviceMemoryLimit( DeviceSize sqThreadTraceDeviceMemoryLimit_ ) & VULKAN_HPP_NOEXCEPT + { + sqThreadTraceDeviceMemoryLimit = sqThreadTraceDeviceMemoryLimit_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setSqThreadTraceDeviceMemoryLimit( DeviceSize sqThreadTraceDeviceMemoryLimit_ ) && VULKAN_HPP_NOEXCEPT + { + sqThreadTraceDeviceMemoryLimit = sqThreadTraceDeviceMemoryLimit_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setTimingPreSample( PipelineStageFlags timingPreSample_ ) & VULKAN_HPP_NOEXCEPT + { + timingPreSample = timingPreSample_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setTimingPreSample( PipelineStageFlags timingPreSample_ ) && VULKAN_HPP_NOEXCEPT + { + timingPreSample = timingPreSample_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD & setTimingPostSample( PipelineStageFlags timingPostSample_ ) & VULKAN_HPP_NOEXCEPT + { + timingPostSample = timingPostSample_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSampleBeginInfoAMD && setTimingPostSample( PipelineStageFlags timingPostSample_ ) && VULKAN_HPP_NOEXCEPT + { + timingPostSample = timingPostSample_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkGpaSampleBeginInfoAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaSampleBeginInfoAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaSampleBeginInfoAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkGpaSampleBeginInfoAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, + pNext, + sampleType, + sampleInternalOperations, + cacheFlushOnCounterCollection, + sqShaderMaskEnable, + sqShaderMask, + perfCounterCount, + pPerfCounters, + streamingPerfTraceSampleInterval, + perfCounterDeviceMemoryLimit, + sqThreadTraceEnable, + sqThreadTraceSuppressInstructionTokens, + sqThreadTraceDeviceMemoryLimit, + timingPreSample, + timingPostSample ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( GpaSampleBeginInfoAMD const & ) const = default; +#else + bool operator==( GpaSampleBeginInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampleType == rhs.sampleType ) && + ( sampleInternalOperations == rhs.sampleInternalOperations ) && ( cacheFlushOnCounterCollection == rhs.cacheFlushOnCounterCollection ) && + ( sqShaderMaskEnable == rhs.sqShaderMaskEnable ) && ( sqShaderMask == rhs.sqShaderMask ) && ( perfCounterCount == rhs.perfCounterCount ) && + ( pPerfCounters == rhs.pPerfCounters ) && ( streamingPerfTraceSampleInterval == rhs.streamingPerfTraceSampleInterval ) && + ( perfCounterDeviceMemoryLimit == rhs.perfCounterDeviceMemoryLimit ) && ( sqThreadTraceEnable == rhs.sqThreadTraceEnable ) && + ( sqThreadTraceSuppressInstructionTokens == rhs.sqThreadTraceSuppressInstructionTokens ) && + ( sqThreadTraceDeviceMemoryLimit == rhs.sqThreadTraceDeviceMemoryLimit ) && ( timingPreSample == rhs.timingPreSample ) && + ( timingPostSample == rhs.timingPostSample ); +# endif + } + + bool operator!=( GpaSampleBeginInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eGpaSampleBeginInfoAMD; + void const * pNext = {}; + GpaSampleTypeAMD sampleType = GpaSampleTypeAMD::eCumulative; + Bool32 sampleInternalOperations = {}; + Bool32 cacheFlushOnCounterCollection = {}; + Bool32 sqShaderMaskEnable = {}; + GpaSqShaderStageFlagsAMD sqShaderMask = {}; + uint32_t perfCounterCount = {}; + GpaPerfCounterAMD const * pPerfCounters = {}; + uint32_t streamingPerfTraceSampleInterval = {}; + DeviceSize perfCounterDeviceMemoryLimit = {}; + Bool32 sqThreadTraceEnable = {}; + Bool32 sqThreadTraceSuppressInstructionTokens = {}; + DeviceSize sqThreadTraceDeviceMemoryLimit = {}; + PipelineStageFlags timingPreSample = {}; + PipelineStageFlags timingPostSample = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = GpaSampleBeginInfoAMD; + }; +#endif + + template <> + struct CppType + { + using Type = GpaSampleBeginInfoAMD; + }; + + // wrapper struct for struct VkGpaSessionCreateInfoAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkGpaSessionCreateInfoAMD.html + struct GpaSessionCreateInfoAMD + { + using NativeType = VkGpaSessionCreateInfoAMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eGpaSessionCreateInfoAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR GpaSessionCreateInfoAMD( GpaSessionAMD secondaryCopySource_ = {}, void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , secondaryCopySource{ secondaryCopySource_ } + { + } + + VULKAN_HPP_CONSTEXPR GpaSessionCreateInfoAMD( GpaSessionCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + GpaSessionCreateInfoAMD( VkGpaSessionCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : GpaSessionCreateInfoAMD( *reinterpret_cast( &rhs ) ) + { + } + + GpaSessionCreateInfoAMD & operator=( GpaSessionCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + GpaSessionCreateInfoAMD & operator=( VkGpaSessionCreateInfoAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 GpaSessionCreateInfoAMD & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSessionCreateInfoAMD && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 GpaSessionCreateInfoAMD & setSecondaryCopySource( GpaSessionAMD secondaryCopySource_ ) & VULKAN_HPP_NOEXCEPT + { + secondaryCopySource = secondaryCopySource_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 GpaSessionCreateInfoAMD && setSecondaryCopySource( GpaSessionAMD secondaryCopySource_ ) && VULKAN_HPP_NOEXCEPT + { + secondaryCopySource = secondaryCopySource_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkGpaSessionCreateInfoAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaSessionCreateInfoAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkGpaSessionCreateInfoAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkGpaSessionCreateInfoAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, secondaryCopySource ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( GpaSessionCreateInfoAMD const & ) const = default; +#else + bool operator==( GpaSessionCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( secondaryCopySource == rhs.secondaryCopySource ); +# endif + } + + bool operator!=( GpaSessionCreateInfoAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eGpaSessionCreateInfoAMD; + void const * pNext = {}; + GpaSessionAMD secondaryCopySource = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = GpaSessionCreateInfoAMD; + }; +#endif + + template <> + struct CppType + { + using Type = GpaSessionCreateInfoAMD; + }; + // wrapper struct for struct VkVertexInputBindingDescription, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVertexInputBindingDescription.html struct VertexInputBindingDescription @@ -77294,6 +79394,129 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; #endif + // wrapper struct for struct VkImageCreateFlags2CreateInfoKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageCreateFlags2CreateInfoKHR.html + struct ImageCreateFlags2CreateInfoKHR + { + using NativeType = VkImageCreateFlags2CreateInfoKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCreateFlags2CreateInfoKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR ImageCreateFlags2CreateInfoKHR( ImageCreateFlags2KHR flags_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , flags{ flags_ } + { + } + + VULKAN_HPP_CONSTEXPR ImageCreateFlags2CreateInfoKHR( ImageCreateFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + ImageCreateFlags2CreateInfoKHR( VkImageCreateFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : ImageCreateFlags2CreateInfoKHR( *reinterpret_cast( &rhs ) ) + { + } + + ImageCreateFlags2CreateInfoKHR & operator=( ImageCreateFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + ImageCreateFlags2CreateInfoKHR & operator=( VkImageCreateFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 ImageCreateFlags2CreateInfoKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageCreateFlags2CreateInfoKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 ImageCreateFlags2CreateInfoKHR & setFlags( ImageCreateFlags2KHR flags_ ) & VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageCreateFlags2CreateInfoKHR && setFlags( ImageCreateFlags2KHR flags_ ) && VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkImageCreateFlags2CreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageCreateFlags2CreateInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageCreateFlags2CreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkImageCreateFlags2CreateInfoKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, flags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( ImageCreateFlags2CreateInfoKHR const & ) const = default; +#else + bool operator==( ImageCreateFlags2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ); +# endif + } + + bool operator!=( ImageCreateFlags2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eImageCreateFlags2CreateInfoKHR; + void * pNext = {}; + ImageCreateFlags2KHR flags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = ImageCreateFlags2CreateInfoKHR; + }; +#endif + + template <> + struct CppType + { + using Type = ImageCreateFlags2CreateInfoKHR; + }; + // wrapper struct for struct VkImageViewCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewCreateInfo.html struct ImageViewCreateInfo { @@ -79585,6 +81808,129 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2; + // wrapper struct for struct VkImageStencilUsage2CreateInfoKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageStencilUsage2CreateInfoKHR.html + struct ImageStencilUsage2CreateInfoKHR + { + using NativeType = VkImageStencilUsage2CreateInfoKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageStencilUsage2CreateInfoKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR ImageStencilUsage2CreateInfoKHR( ImageUsageFlags2KHR stencilUsage_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , stencilUsage{ stencilUsage_ } + { + } + + VULKAN_HPP_CONSTEXPR ImageStencilUsage2CreateInfoKHR( ImageStencilUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + ImageStencilUsage2CreateInfoKHR( VkImageStencilUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : ImageStencilUsage2CreateInfoKHR( *reinterpret_cast( &rhs ) ) + { + } + + ImageStencilUsage2CreateInfoKHR & operator=( ImageStencilUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + ImageStencilUsage2CreateInfoKHR & operator=( VkImageStencilUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 ImageStencilUsage2CreateInfoKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageStencilUsage2CreateInfoKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 ImageStencilUsage2CreateInfoKHR & setStencilUsage( ImageUsageFlags2KHR stencilUsage_ ) & VULKAN_HPP_NOEXCEPT + { + stencilUsage = stencilUsage_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageStencilUsage2CreateInfoKHR && setStencilUsage( ImageUsageFlags2KHR stencilUsage_ ) && VULKAN_HPP_NOEXCEPT + { + stencilUsage = stencilUsage_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkImageStencilUsage2CreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageStencilUsage2CreateInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageStencilUsage2CreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkImageStencilUsage2CreateInfoKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, stencilUsage ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( ImageStencilUsage2CreateInfoKHR const & ) const = default; +#else + bool operator==( ImageStencilUsage2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( stencilUsage == rhs.stencilUsage ); +# endif + } + + bool operator!=( ImageStencilUsage2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eImageStencilUsage2CreateInfoKHR; + void * pNext = {}; + ImageUsageFlags2KHR stencilUsage = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = ImageStencilUsage2CreateInfoKHR; + }; +#endif + + template <> + struct CppType + { + using Type = ImageStencilUsage2CreateInfoKHR; + }; + // wrapper struct for struct VkImageStencilUsageCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageStencilUsageCreateInfo.html struct ImageStencilUsageCreateInfo { @@ -79831,6 +82177,253 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = ImageSwapchainCreateInfoKHR; }; + // wrapper struct for struct VkImageTilingControlCreateInfoEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageTilingControlCreateInfoEXT.html + struct ImageTilingControlCreateInfoEXT + { + using NativeType = VkImageTilingControlCreateInfoEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageTilingControlCreateInfoEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR ImageTilingControlCreateInfoEXT( ImageTilingControlEXT tilingControl_ = ImageTilingControlEXT::eDefault, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , tilingControl{ tilingControl_ } + { + } + + VULKAN_HPP_CONSTEXPR ImageTilingControlCreateInfoEXT( ImageTilingControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + ImageTilingControlCreateInfoEXT( VkImageTilingControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : ImageTilingControlCreateInfoEXT( *reinterpret_cast( &rhs ) ) + { + } + + ImageTilingControlCreateInfoEXT & operator=( ImageTilingControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + ImageTilingControlCreateInfoEXT & operator=( VkImageTilingControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 ImageTilingControlCreateInfoEXT & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageTilingControlCreateInfoEXT && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 ImageTilingControlCreateInfoEXT & setTilingControl( ImageTilingControlEXT tilingControl_ ) & VULKAN_HPP_NOEXCEPT + { + tilingControl = tilingControl_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageTilingControlCreateInfoEXT && setTilingControl( ImageTilingControlEXT tilingControl_ ) && VULKAN_HPP_NOEXCEPT + { + tilingControl = tilingControl_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkImageTilingControlCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageTilingControlCreateInfoEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageTilingControlCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkImageTilingControlCreateInfoEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, tilingControl ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( ImageTilingControlCreateInfoEXT const & ) const = default; +#else + bool operator==( ImageTilingControlCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( tilingControl == rhs.tilingControl ); +# endif + } + + bool operator!=( ImageTilingControlCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eImageTilingControlCreateInfoEXT; + void const * pNext = {}; + ImageTilingControlEXT tilingControl = ImageTilingControlEXT::eDefault; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = ImageTilingControlCreateInfoEXT; + }; +#endif + + template <> + struct CppType + { + using Type = ImageTilingControlCreateInfoEXT; + }; + + // wrapper struct for struct VkImageUsageFlags2CreateInfoKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageUsageFlags2CreateInfoKHR.html + struct ImageUsageFlags2CreateInfoKHR + { + using NativeType = VkImageUsageFlags2CreateInfoKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageUsageFlags2CreateInfoKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR ImageUsageFlags2CreateInfoKHR( ImageUsageFlags2KHR usage_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , usage{ usage_ } + { + } + + VULKAN_HPP_CONSTEXPR ImageUsageFlags2CreateInfoKHR( ImageUsageFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + ImageUsageFlags2CreateInfoKHR( VkImageUsageFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : ImageUsageFlags2CreateInfoKHR( *reinterpret_cast( &rhs ) ) + { + } + + ImageUsageFlags2CreateInfoKHR & operator=( ImageUsageFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + ImageUsageFlags2CreateInfoKHR & operator=( VkImageUsageFlags2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 ImageUsageFlags2CreateInfoKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageUsageFlags2CreateInfoKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 ImageUsageFlags2CreateInfoKHR & setUsage( ImageUsageFlags2KHR usage_ ) & VULKAN_HPP_NOEXCEPT + { + usage = usage_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageUsageFlags2CreateInfoKHR && setUsage( ImageUsageFlags2KHR usage_ ) && VULKAN_HPP_NOEXCEPT + { + usage = usage_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkImageUsageFlags2CreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageUsageFlags2CreateInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageUsageFlags2CreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkImageUsageFlags2CreateInfoKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, usage ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( ImageUsageFlags2CreateInfoKHR const & ) const = default; +#else + bool operator==( ImageUsageFlags2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( usage == rhs.usage ); +# endif + } + + bool operator!=( ImageUsageFlags2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eImageUsageFlags2CreateInfoKHR; + void * pNext = {}; + ImageUsageFlags2KHR usage = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = ImageUsageFlags2CreateInfoKHR; + }; +#endif + + template <> + struct CppType + { + using Type = ImageUsageFlags2CreateInfoKHR; + }; + // wrapper struct for struct VkImageViewASTCDecodeModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewASTCDecodeModeEXT.html struct ImageViewASTCDecodeModeEXT { @@ -80743,6 +83336,128 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = ImageViewSlicedCreateInfoEXT; }; + // wrapper struct for struct VkImageViewUsage2CreateInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewUsage2CreateInfoKHR.html + struct ImageViewUsage2CreateInfoKHR + { + using NativeType = VkImageViewUsage2CreateInfoKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewUsage2CreateInfoKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR ImageViewUsage2CreateInfoKHR( ImageUsageFlags2KHR usage_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , usage{ usage_ } + { + } + + VULKAN_HPP_CONSTEXPR ImageViewUsage2CreateInfoKHR( ImageViewUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + ImageViewUsage2CreateInfoKHR( VkImageViewUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : ImageViewUsage2CreateInfoKHR( *reinterpret_cast( &rhs ) ) + { + } + + ImageViewUsage2CreateInfoKHR & operator=( ImageViewUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + ImageViewUsage2CreateInfoKHR & operator=( VkImageViewUsage2CreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 ImageViewUsage2CreateInfoKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageViewUsage2CreateInfoKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 ImageViewUsage2CreateInfoKHR & setUsage( ImageUsageFlags2KHR usage_ ) & VULKAN_HPP_NOEXCEPT + { + usage = usage_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 ImageViewUsage2CreateInfoKHR && setUsage( ImageUsageFlags2KHR usage_ ) && VULKAN_HPP_NOEXCEPT + { + usage = usage_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkImageViewUsage2CreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageViewUsage2CreateInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkImageViewUsage2CreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkImageViewUsage2CreateInfoKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, usage ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( ImageViewUsage2CreateInfoKHR const & ) const = default; +#else + bool operator==( ImageViewUsage2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( usage == rhs.usage ); +# endif + } + + bool operator!=( ImageViewUsage2CreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eImageViewUsage2CreateInfoKHR; + void * pNext = {}; + ImageUsageFlags2KHR usage = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = ImageViewUsage2CreateInfoKHR; + }; +#endif + + template <> + struct CppType + { + using Type = ImageViewUsage2CreateInfoKHR; + }; + // wrapper struct for struct VkImageViewUsageCreateInfo, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkImageViewUsageCreateInfo.html struct ImageViewUsageCreateInfo { @@ -92874,90 +95589,90 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = MicromapCreateInfoEXT; }; - // wrapper struct for struct VkMicromapTriangleEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapTriangleEXT.html - struct MicromapTriangleEXT + // wrapper struct for struct VkMicromapTriangleKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapTriangleKHR.html + struct MicromapTriangleKHR { - using NativeType = VkMicromapTriangleEXT; + using NativeType = VkMicromapTriangleKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR MicromapTriangleEXT( uint32_t dataOffset_ = {}, uint16_t subdivisionLevel_ = {}, uint16_t format_ = {} ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR MicromapTriangleKHR( uint32_t dataOffset_ = {}, uint16_t subdivisionLevel_ = {}, uint16_t format_ = {} ) VULKAN_HPP_NOEXCEPT : dataOffset{ dataOffset_ } , subdivisionLevel{ subdivisionLevel_ } , format{ format_ } { } - VULKAN_HPP_CONSTEXPR MicromapTriangleEXT( MicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + VULKAN_HPP_CONSTEXPR MicromapTriangleKHR( MicromapTriangleKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; - MicromapTriangleEXT( VkMicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT : MicromapTriangleEXT( *reinterpret_cast( &rhs ) ) + MicromapTriangleKHR( VkMicromapTriangleKHR const & rhs ) VULKAN_HPP_NOEXCEPT : MicromapTriangleKHR( *reinterpret_cast( &rhs ) ) { } - MicromapTriangleEXT & operator=( MicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + MicromapTriangleKHR & operator=( MicromapTriangleKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ - MicromapTriangleEXT & operator=( VkMicromapTriangleEXT const & rhs ) VULKAN_HPP_NOEXCEPT + MicromapTriangleKHR & operator=( VkMicromapTriangleKHR const & rhs ) VULKAN_HPP_NOEXCEPT { - *this = *reinterpret_cast( &rhs ); + *this = *reinterpret_cast( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT & setDataOffset( uint32_t dataOffset_ ) & VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 MicromapTriangleKHR & setDataOffset( uint32_t dataOffset_ ) & VULKAN_HPP_NOEXCEPT { dataOffset = dataOffset_; return *this; } - VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT && setDataOffset( uint32_t dataOffset_ ) && VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 MicromapTriangleKHR && setDataOffset( uint32_t dataOffset_ ) && VULKAN_HPP_NOEXCEPT { dataOffset = dataOffset_; return std::move( *this ); } - VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT & setSubdivisionLevel( uint16_t subdivisionLevel_ ) & VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 MicromapTriangleKHR & setSubdivisionLevel( uint16_t subdivisionLevel_ ) & VULKAN_HPP_NOEXCEPT { subdivisionLevel = subdivisionLevel_; return *this; } - VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT && setSubdivisionLevel( uint16_t subdivisionLevel_ ) && VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 MicromapTriangleKHR && setSubdivisionLevel( uint16_t subdivisionLevel_ ) && VULKAN_HPP_NOEXCEPT { subdivisionLevel = subdivisionLevel_; return std::move( *this ); } - VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT & setFormat( uint16_t format_ ) & VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 MicromapTriangleKHR & setFormat( uint16_t format_ ) & VULKAN_HPP_NOEXCEPT { format = format_; return *this; } - VULKAN_HPP_CONSTEXPR_14 MicromapTriangleEXT && setFormat( uint16_t format_ ) && VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 MicromapTriangleKHR && setFormat( uint16_t format_ ) && VULKAN_HPP_NOEXCEPT { format = format_; return std::move( *this ); } #endif /*VULKAN_HPP_NO_SETTERS*/ - operator VkMicromapTriangleEXT const &() const VULKAN_HPP_NOEXCEPT + operator VkMicromapTriangleKHR const &() const VULKAN_HPP_NOEXCEPT { - return *reinterpret_cast( this ); + return *reinterpret_cast( this ); } - operator VkMicromapTriangleEXT &() VULKAN_HPP_NOEXCEPT + operator VkMicromapTriangleKHR &() VULKAN_HPP_NOEXCEPT { - return *reinterpret_cast( this ); + return *reinterpret_cast( this ); } - operator VkMicromapTriangleEXT const *() const VULKAN_HPP_NOEXCEPT + operator VkMicromapTriangleKHR const *() const VULKAN_HPP_NOEXCEPT { - return reinterpret_cast( this ); + return reinterpret_cast( this ); } - operator VkMicromapTriangleEXT *() VULKAN_HPP_NOEXCEPT + operator VkMicromapTriangleKHR *() VULKAN_HPP_NOEXCEPT { - return reinterpret_cast( this ); + return reinterpret_cast( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) @@ -92968,9 +95683,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( MicromapTriangleEXT const & ) const = default; + auto operator<=>( MicromapTriangleKHR const & ) const = default; #else - bool operator==( MicromapTriangleEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + bool operator==( MicromapTriangleKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); @@ -92979,7 +95694,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif } - bool operator!=( MicromapTriangleEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + bool operator!=( MicromapTriangleKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } @@ -92993,11 +95708,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #if 20 <= VULKAN_HPP_CPP_VERSION template <> - struct CppType + struct CppType { - using Type = MicromapTriangleEXT; + using Type = MicromapTriangleKHR; }; #endif + using MicromapTriangleEXT = MicromapTriangleKHR; // wrapper struct for struct VkMicromapVersionInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkMicromapVersionInfoEXT.html struct MicromapVersionInfoEXT @@ -100616,6 +103332,272 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceBorderColorSwizzleFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE.html + struct PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE + { + using NativeType = VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE( Bool32 bufferDeviceAddressAllocationAlignment_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , bufferDeviceAddressAllocationAlignment{ bufferDeviceAddressAllocationAlignment_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE( + PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE( VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & rhs ) + VULKAN_HPP_NOEXCEPT + : PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE( + *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE & + operator=( PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE & + operator=( VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE & + setBufferDeviceAddressAllocationAlignment( Bool32 bufferDeviceAddressAllocationAlignment_ ) & + VULKAN_HPP_NOEXCEPT + { + bufferDeviceAddressAllocationAlignment = bufferDeviceAddressAllocationAlignment_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE && + setBufferDeviceAddressAllocationAlignment( Bool32 bufferDeviceAddressAllocationAlignment_ ) && + VULKAN_HPP_NOEXCEPT + { + bufferDeviceAddressAllocationAlignment = bufferDeviceAddressAllocationAlignment_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, bufferDeviceAddressAllocationAlignment ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & ) const = default; +#else + bool operator==( PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( bufferDeviceAddressAllocationAlignment == rhs.bufferDeviceAddressAllocationAlignment ); +# endif + } + + bool operator!=( PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + void * pNext = {}; + Bool32 bufferDeviceAddressAllocationAlignment = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE; + }; + + // wrapper struct for struct VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE.html + struct PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE + { + using NativeType = VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE( uint32_t maxBufferDeviceAddressAllocationAlignment_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , maxBufferDeviceAddressAllocationAlignment{ maxBufferDeviceAddressAllocationAlignment_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE( + PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE( VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & rhs ) + VULKAN_HPP_NOEXCEPT + : PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE( + *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE & + operator=( PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE & + operator=( VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE & + setMaxBufferDeviceAddressAllocationAlignment( uint32_t maxBufferDeviceAddressAllocationAlignment_ ) & + VULKAN_HPP_NOEXCEPT + { + maxBufferDeviceAddressAllocationAlignment = maxBufferDeviceAddressAllocationAlignment_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE && + setMaxBufferDeviceAddressAllocationAlignment( uint32_t maxBufferDeviceAddressAllocationAlignment_ ) && + VULKAN_HPP_NOEXCEPT + { + maxBufferDeviceAddressAllocationAlignment = maxBufferDeviceAddressAllocationAlignment_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, maxBufferDeviceAddressAllocationAlignment ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & ) const = default; +#else + bool operator==( PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxBufferDeviceAddressAllocationAlignment == rhs.maxBufferDeviceAddressAllocationAlignment ); +# endif + } + + bool operator!=( PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + void * pNext = {}; + uint32_t maxBufferDeviceAddressAllocationAlignment = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE; + }; + // wrapper struct for struct VkPhysicalDeviceBufferDeviceAddressFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferDeviceAddressFeatures.html struct PhysicalDeviceBufferDeviceAddressFeatures @@ -103131,6 +106113,135 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM; }; + // wrapper struct for struct VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV.html + struct PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV + { + using NativeType = VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV( Bool32 cooperativeMatrixDecodeVector_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , cooperativeMatrixDecodeVector{ cooperativeMatrixDecodeVector_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV( PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV( VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV & + operator=( PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV & operator=( VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV & setCooperativeMatrixDecodeVector( Bool32 cooperativeMatrixDecodeVector_ ) & + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixDecodeVector = cooperativeMatrixDecodeVector_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV && + setCooperativeMatrixDecodeVector( Bool32 cooperativeMatrixDecodeVector_ ) && + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixDecodeVector = cooperativeMatrixDecodeVector_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, cooperativeMatrixDecodeVector ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & ) const = default; +#else + bool operator==( PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cooperativeMatrixDecodeVector == rhs.cooperativeMatrixDecodeVector ); +# endif + } + + bool operator!=( PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + void * pNext = {}; + Bool32 cooperativeMatrixDecodeVector = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV; + }; + // wrapper struct for struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesKHR.html struct PhysicalDeviceCooperativeMatrixFeaturesKHR @@ -103417,6 +106528,388 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceCooperativeMatrixFeaturesNV; }; + // wrapper struct for struct VkPhysicalDeviceCooperativeMatrixInfo2EXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixInfo2EXT.html + struct PhysicalDeviceCooperativeMatrixInfo2EXT + { + using NativeType = VkPhysicalDeviceCooperativeMatrixInfo2EXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixInfo2EXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixInfo2EXT( ScopeKHR scope_ = ScopeKHR::eDevice, + uint32_t invocations_ = {}, + uint32_t subgroupSize_ = {}, + CooperativeMatrixFlagsEXT flags_ = {}, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , scope{ scope_ } + , invocations{ invocations_ } + , subgroupSize{ subgroupSize_ } + , flags{ flags_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixInfo2EXT( PhysicalDeviceCooperativeMatrixInfo2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceCooperativeMatrixInfo2EXT( VkPhysicalDeviceCooperativeMatrixInfo2EXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceCooperativeMatrixInfo2EXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceCooperativeMatrixInfo2EXT & operator=( PhysicalDeviceCooperativeMatrixInfo2EXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceCooperativeMatrixInfo2EXT & operator=( VkPhysicalDeviceCooperativeMatrixInfo2EXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT & setScope( ScopeKHR scope_ ) & VULKAN_HPP_NOEXCEPT + { + scope = scope_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT && setScope( ScopeKHR scope_ ) && VULKAN_HPP_NOEXCEPT + { + scope = scope_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT & setInvocations( uint32_t invocations_ ) & VULKAN_HPP_NOEXCEPT + { + invocations = invocations_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT && setInvocations( uint32_t invocations_ ) && VULKAN_HPP_NOEXCEPT + { + invocations = invocations_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT & setSubgroupSize( uint32_t subgroupSize_ ) & VULKAN_HPP_NOEXCEPT + { + subgroupSize = subgroupSize_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT && setSubgroupSize( uint32_t subgroupSize_ ) && VULKAN_HPP_NOEXCEPT + { + subgroupSize = subgroupSize_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT & setFlags( CooperativeMatrixFlagsEXT flags_ ) & VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixInfo2EXT && setFlags( CooperativeMatrixFlagsEXT flags_ ) && VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceCooperativeMatrixInfo2EXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixInfo2EXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixInfo2EXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixInfo2EXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, scope, invocations, subgroupSize, flags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceCooperativeMatrixInfo2EXT const & ) const = default; +#else + bool operator==( PhysicalDeviceCooperativeMatrixInfo2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( scope == rhs.scope ) && ( invocations == rhs.invocations ) && + ( subgroupSize == rhs.subgroupSize ) && ( flags == rhs.flags ); +# endif + } + + bool operator!=( PhysicalDeviceCooperativeMatrixInfo2EXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixInfo2EXT; + void const * pNext = {}; + ScopeKHR scope = ScopeKHR::eDevice; + uint32_t invocations = {}; + uint32_t subgroupSize = {}; + CooperativeMatrixFlagsEXT flags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceCooperativeMatrixInfo2EXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceCooperativeMatrixInfo2EXT; + }; + + // wrapper struct for struct VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.html + struct PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT + { + using NativeType = VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT( Bool32 cooperativeMatrixProperties2_ = {}, + Bool32 cooperativeMatrixReductions_ = {}, + Bool32 cooperativeMatrixConversions_ = {}, + Bool32 cooperativeMatrixPerElementOperations_ = {}, + Bool32 cooperativeMatrixGetCoordinate_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , cooperativeMatrixProperties2{ cooperativeMatrixProperties2_ } + , cooperativeMatrixReductions{ cooperativeMatrixReductions_ } + , cooperativeMatrixConversions{ cooperativeMatrixConversions_ } + , cooperativeMatrixPerElementOperations{ cooperativeMatrixPerElementOperations_ } + , cooperativeMatrixGetCoordinate{ cooperativeMatrixGetCoordinate_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT( PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & rhs ) + VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT( VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & + operator=( PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & + operator=( VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & setCooperativeMatrixProperties2( Bool32 cooperativeMatrixProperties2_ ) & + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixProperties2 = cooperativeMatrixProperties2_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT && setCooperativeMatrixProperties2( Bool32 cooperativeMatrixProperties2_ ) && + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixProperties2 = cooperativeMatrixProperties2_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & setCooperativeMatrixReductions( Bool32 cooperativeMatrixReductions_ ) & + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixReductions = cooperativeMatrixReductions_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT && setCooperativeMatrixReductions( Bool32 cooperativeMatrixReductions_ ) && + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixReductions = cooperativeMatrixReductions_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & setCooperativeMatrixConversions( Bool32 cooperativeMatrixConversions_ ) & + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixConversions = cooperativeMatrixConversions_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT && setCooperativeMatrixConversions( Bool32 cooperativeMatrixConversions_ ) && + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixConversions = cooperativeMatrixConversions_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & + setCooperativeMatrixPerElementOperations( Bool32 cooperativeMatrixPerElementOperations_ ) & + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixPerElementOperations = cooperativeMatrixPerElementOperations_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT && + setCooperativeMatrixPerElementOperations( Bool32 cooperativeMatrixPerElementOperations_ ) && + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixPerElementOperations = cooperativeMatrixPerElementOperations_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT & + setCooperativeMatrixGetCoordinate( Bool32 cooperativeMatrixGetCoordinate_ ) & + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixGetCoordinate = cooperativeMatrixGetCoordinate_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT && + setCooperativeMatrixGetCoordinate( Bool32 cooperativeMatrixGetCoordinate_ ) && + VULKAN_HPP_NOEXCEPT + { + cooperativeMatrixGetCoordinate = cooperativeMatrixGetCoordinate_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, + pNext, + cooperativeMatrixProperties2, + cooperativeMatrixReductions, + cooperativeMatrixConversions, + cooperativeMatrixPerElementOperations, + cooperativeMatrixGetCoordinate ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( cooperativeMatrixProperties2 == rhs.cooperativeMatrixProperties2 ) && + ( cooperativeMatrixReductions == rhs.cooperativeMatrixReductions ) && ( cooperativeMatrixConversions == rhs.cooperativeMatrixConversions ) && + ( cooperativeMatrixPerElementOperations == rhs.cooperativeMatrixPerElementOperations ) && + ( cooperativeMatrixGetCoordinate == rhs.cooperativeMatrixGetCoordinate ); +# endif + } + + bool operator!=( PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + void * pNext = {}; + Bool32 cooperativeMatrixProperties2 = {}; + Bool32 cooperativeMatrixReductions = {}; + Bool32 cooperativeMatrixConversions = {}; + Bool32 cooperativeMatrixPerElementOperations = {}; + Bool32 cooperativeMatrixGetCoordinate = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT; + }; + // wrapper struct for struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesKHR.html struct PhysicalDeviceCooperativeMatrixPropertiesKHR @@ -111370,6 +114863,129 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM.html + struct PhysicalDeviceElapsedTimerQueryFeaturesQCOM + { + using NativeType = VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceElapsedTimerQueryFeaturesQCOM; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceElapsedTimerQueryFeaturesQCOM( Bool32 elapsedTimerQuery_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , elapsedTimerQuery{ elapsedTimerQuery_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceElapsedTimerQueryFeaturesQCOM( PhysicalDeviceElapsedTimerQueryFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceElapsedTimerQueryFeaturesQCOM( VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceElapsedTimerQueryFeaturesQCOM( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceElapsedTimerQueryFeaturesQCOM & operator=( PhysicalDeviceElapsedTimerQueryFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceElapsedTimerQueryFeaturesQCOM & operator=( VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceElapsedTimerQueryFeaturesQCOM & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceElapsedTimerQueryFeaturesQCOM && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceElapsedTimerQueryFeaturesQCOM & setElapsedTimerQuery( Bool32 elapsedTimerQuery_ ) & VULKAN_HPP_NOEXCEPT + { + elapsedTimerQuery = elapsedTimerQuery_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceElapsedTimerQueryFeaturesQCOM && setElapsedTimerQuery( Bool32 elapsedTimerQuery_ ) && VULKAN_HPP_NOEXCEPT + { + elapsedTimerQuery = elapsedTimerQuery_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceElapsedTimerQueryFeaturesQCOM *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, elapsedTimerQuery ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceElapsedTimerQueryFeaturesQCOM const & ) const = default; +#else + bool operator==( PhysicalDeviceElapsedTimerQueryFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( elapsedTimerQuery == rhs.elapsedTimerQuery ); +# endif + } + + bool operator!=( PhysicalDeviceElapsedTimerQueryFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceElapsedTimerQueryFeaturesQCOM; + void * pNext = {}; + Bool32 elapsedTimerQuery = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceElapsedTimerQueryFeaturesQCOM; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceElapsedTimerQueryFeaturesQCOM; + }; + // wrapper struct for struct VkPhysicalDeviceExclusiveScissorFeaturesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceExclusiveScissorFeaturesNV.html struct PhysicalDeviceExclusiveScissorFeaturesNV @@ -112670,6 +116286,129 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceExtendedDynamicStateFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDeviceExtendedFlagsFeaturesKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedFlagsFeaturesKHR.html + struct PhysicalDeviceExtendedFlagsFeaturesKHR + { + using NativeType = VkPhysicalDeviceExtendedFlagsFeaturesKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceExtendedFlagsFeaturesKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedFlagsFeaturesKHR( Bool32 extendedFlags_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , extendedFlags{ extendedFlags_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceExtendedFlagsFeaturesKHR( PhysicalDeviceExtendedFlagsFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceExtendedFlagsFeaturesKHR( VkPhysicalDeviceExtendedFlagsFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceExtendedFlagsFeaturesKHR( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceExtendedFlagsFeaturesKHR & operator=( PhysicalDeviceExtendedFlagsFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceExtendedFlagsFeaturesKHR & operator=( VkPhysicalDeviceExtendedFlagsFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedFlagsFeaturesKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedFlagsFeaturesKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedFlagsFeaturesKHR & setExtendedFlags( Bool32 extendedFlags_ ) & VULKAN_HPP_NOEXCEPT + { + extendedFlags = extendedFlags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceExtendedFlagsFeaturesKHR && setExtendedFlags( Bool32 extendedFlags_ ) && VULKAN_HPP_NOEXCEPT + { + extendedFlags = extendedFlags_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceExtendedFlagsFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceExtendedFlagsFeaturesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceExtendedFlagsFeaturesKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceExtendedFlagsFeaturesKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, extendedFlags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceExtendedFlagsFeaturesKHR const & ) const = default; +#else + bool operator==( PhysicalDeviceExtendedFlagsFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( extendedFlags == rhs.extendedFlags ); +# endif + } + + bool operator!=( PhysicalDeviceExtendedFlagsFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceExtendedFlagsFeaturesKHR; + void * pNext = {}; + Bool32 extendedFlags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceExtendedFlagsFeaturesKHR; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceExtendedFlagsFeaturesKHR; + }; + // wrapper struct for struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV.html struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV @@ -117477,6 +121216,390 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures; using PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures; + // wrapper struct for struct VkPhysicalDeviceGpaFeaturesAMD, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceGpaFeaturesAMD.html + struct PhysicalDeviceGpaFeaturesAMD + { + using NativeType = VkPhysicalDeviceGpaFeaturesAMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGpaFeaturesAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceGpaFeaturesAMD( Bool32 perfCounters_ = {}, + Bool32 streamingPerfCounters_ = {}, + Bool32 sqThreadTracing_ = {}, + Bool32 clockModes_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , perfCounters{ perfCounters_ } + , streamingPerfCounters{ streamingPerfCounters_ } + , sqThreadTracing{ sqThreadTracing_ } + , clockModes{ clockModes_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceGpaFeaturesAMD( PhysicalDeviceGpaFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceGpaFeaturesAMD( VkPhysicalDeviceGpaFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceGpaFeaturesAMD( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceGpaFeaturesAMD & operator=( PhysicalDeviceGpaFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceGpaFeaturesAMD & operator=( VkPhysicalDeviceGpaFeaturesAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD & setPerfCounters( Bool32 perfCounters_ ) & VULKAN_HPP_NOEXCEPT + { + perfCounters = perfCounters_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD && setPerfCounters( Bool32 perfCounters_ ) && VULKAN_HPP_NOEXCEPT + { + perfCounters = perfCounters_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD & setStreamingPerfCounters( Bool32 streamingPerfCounters_ ) & VULKAN_HPP_NOEXCEPT + { + streamingPerfCounters = streamingPerfCounters_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD && setStreamingPerfCounters( Bool32 streamingPerfCounters_ ) && VULKAN_HPP_NOEXCEPT + { + streamingPerfCounters = streamingPerfCounters_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD & setSqThreadTracing( Bool32 sqThreadTracing_ ) & VULKAN_HPP_NOEXCEPT + { + sqThreadTracing = sqThreadTracing_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD && setSqThreadTracing( Bool32 sqThreadTracing_ ) && VULKAN_HPP_NOEXCEPT + { + sqThreadTracing = sqThreadTracing_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD & setClockModes( Bool32 clockModes_ ) & VULKAN_HPP_NOEXCEPT + { + clockModes = clockModes_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceGpaFeaturesAMD && setClockModes( Bool32 clockModes_ ) && VULKAN_HPP_NOEXCEPT + { + clockModes = clockModes_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceGpaFeaturesAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaFeaturesAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaFeaturesAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaFeaturesAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, perfCounters, streamingPerfCounters, sqThreadTracing, clockModes ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceGpaFeaturesAMD const & ) const = default; +#else + bool operator==( PhysicalDeviceGpaFeaturesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( perfCounters == rhs.perfCounters ) && + ( streamingPerfCounters == rhs.streamingPerfCounters ) && ( sqThreadTracing == rhs.sqThreadTracing ) && ( clockModes == rhs.clockModes ); +# endif + } + + bool operator!=( PhysicalDeviceGpaFeaturesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceGpaFeaturesAMD; + void * pNext = {}; + Bool32 perfCounters = {}; + Bool32 streamingPerfCounters = {}; + Bool32 sqThreadTracing = {}; + Bool32 clockModes = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceGpaFeaturesAMD; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceGpaFeaturesAMD; + }; + + // wrapper struct for struct VkPhysicalDeviceGpaProperties2AMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceGpaProperties2AMD.html + struct PhysicalDeviceGpaProperties2AMD + { + using NativeType = VkPhysicalDeviceGpaProperties2AMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGpaProperties2AMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceGpaProperties2AMD( uint32_t revisionId_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , revisionId{ revisionId_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceGpaProperties2AMD( PhysicalDeviceGpaProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceGpaProperties2AMD( VkPhysicalDeviceGpaProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceGpaProperties2AMD( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceGpaProperties2AMD & operator=( PhysicalDeviceGpaProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceGpaProperties2AMD & operator=( VkPhysicalDeviceGpaProperties2AMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceGpaProperties2AMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaProperties2AMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaProperties2AMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaProperties2AMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, revisionId ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceGpaProperties2AMD const & ) const = default; +#else + bool operator==( PhysicalDeviceGpaProperties2AMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( revisionId == rhs.revisionId ); +# endif + } + + bool operator!=( PhysicalDeviceGpaProperties2AMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceGpaProperties2AMD; + void * pNext = {}; + uint32_t revisionId = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceGpaProperties2AMD; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceGpaProperties2AMD; + }; + + // wrapper struct for struct VkPhysicalDeviceGpaPropertiesAMD, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceGpaPropertiesAMD.html + struct PhysicalDeviceGpaPropertiesAMD + { + using NativeType = VkPhysicalDeviceGpaPropertiesAMD; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceGpaPropertiesAMD; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceGpaPropertiesAMD( PhysicalDeviceGpaPropertiesFlagsAMD flags_ = {}, + DeviceSize maxSqttSeBufferSize_ = {}, + uint32_t shaderEngineCount_ = {}, + uint32_t perfBlockCount_ = {}, + GpaPerfBlockPropertiesAMD * pPerfBlocks_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , flags{ flags_ } + , maxSqttSeBufferSize{ maxSqttSeBufferSize_ } + , shaderEngineCount{ shaderEngineCount_ } + , perfBlockCount{ perfBlockCount_ } + , pPerfBlocks{ pPerfBlocks_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceGpaPropertiesAMD( PhysicalDeviceGpaPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceGpaPropertiesAMD( VkPhysicalDeviceGpaPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceGpaPropertiesAMD( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceGpaPropertiesAMD & operator=( PhysicalDeviceGpaPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceGpaPropertiesAMD & operator=( VkPhysicalDeviceGpaPropertiesAMD const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceGpaPropertiesAMD const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaPropertiesAMD &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaPropertiesAMD const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceGpaPropertiesAMD *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, flags, maxSqttSeBufferSize, shaderEngineCount, perfBlockCount, pPerfBlocks ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceGpaPropertiesAMD const & ) const = default; +#else + bool operator==( PhysicalDeviceGpaPropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( maxSqttSeBufferSize == rhs.maxSqttSeBufferSize ) && + ( shaderEngineCount == rhs.shaderEngineCount ) && ( perfBlockCount == rhs.perfBlockCount ) && ( pPerfBlocks == rhs.pPerfBlocks ); +# endif + } + + bool operator!=( PhysicalDeviceGpaPropertiesAMD const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceGpaPropertiesAMD; + void * pNext = {}; + PhysicalDeviceGpaPropertiesFlagsAMD flags = {}; + DeviceSize maxSqttSeBufferSize = {}; + uint32_t shaderEngineCount = {}; + uint32_t perfBlockCount = {}; + GpaPerfBlockPropertiesAMD * pPerfBlocks = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceGpaPropertiesAMD; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceGpaPropertiesAMD; + }; + // wrapper struct for struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT.html struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT @@ -119802,6 +123925,163 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceImageProcessing2PropertiesQCOM; }; + // wrapper struct for struct VkPhysicalDeviceImageProcessing3FeaturesQCOM, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceImageProcessing3FeaturesQCOM.html + struct PhysicalDeviceImageProcessing3FeaturesQCOM + { + using NativeType = VkPhysicalDeviceImageProcessing3FeaturesQCOM; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageProcessing3FeaturesQCOM; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceImageProcessing3FeaturesQCOM( Bool32 imageGatherLinear_ = {}, + Bool32 imageGatherExtendedModes_ = {}, + Bool32 blockMatchExtendedClampToEdge_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , imageGatherLinear{ imageGatherLinear_ } + , imageGatherExtendedModes{ imageGatherExtendedModes_ } + , blockMatchExtendedClampToEdge{ blockMatchExtendedClampToEdge_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceImageProcessing3FeaturesQCOM( PhysicalDeviceImageProcessing3FeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceImageProcessing3FeaturesQCOM( VkPhysicalDeviceImageProcessing3FeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceImageProcessing3FeaturesQCOM( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceImageProcessing3FeaturesQCOM & operator=( PhysicalDeviceImageProcessing3FeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceImageProcessing3FeaturesQCOM & operator=( VkPhysicalDeviceImageProcessing3FeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM & setImageGatherLinear( Bool32 imageGatherLinear_ ) & VULKAN_HPP_NOEXCEPT + { + imageGatherLinear = imageGatherLinear_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM && setImageGatherLinear( Bool32 imageGatherLinear_ ) && VULKAN_HPP_NOEXCEPT + { + imageGatherLinear = imageGatherLinear_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM & setImageGatherExtendedModes( Bool32 imageGatherExtendedModes_ ) & VULKAN_HPP_NOEXCEPT + { + imageGatherExtendedModes = imageGatherExtendedModes_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM && setImageGatherExtendedModes( Bool32 imageGatherExtendedModes_ ) && VULKAN_HPP_NOEXCEPT + { + imageGatherExtendedModes = imageGatherExtendedModes_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM & setBlockMatchExtendedClampToEdge( Bool32 blockMatchExtendedClampToEdge_ ) & + VULKAN_HPP_NOEXCEPT + { + blockMatchExtendedClampToEdge = blockMatchExtendedClampToEdge_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageProcessing3FeaturesQCOM && setBlockMatchExtendedClampToEdge( Bool32 blockMatchExtendedClampToEdge_ ) && + VULKAN_HPP_NOEXCEPT + { + blockMatchExtendedClampToEdge = blockMatchExtendedClampToEdge_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceImageProcessing3FeaturesQCOM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceImageProcessing3FeaturesQCOM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceImageProcessing3FeaturesQCOM const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceImageProcessing3FeaturesQCOM *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, imageGatherLinear, imageGatherExtendedModes, blockMatchExtendedClampToEdge ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceImageProcessing3FeaturesQCOM const & ) const = default; +#else + bool operator==( PhysicalDeviceImageProcessing3FeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageGatherLinear == rhs.imageGatherLinear ) && + ( imageGatherExtendedModes == rhs.imageGatherExtendedModes ) && ( blockMatchExtendedClampToEdge == rhs.blockMatchExtendedClampToEdge ); +# endif + } + + bool operator!=( PhysicalDeviceImageProcessing3FeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceImageProcessing3FeaturesQCOM; + void * pNext = {}; + Bool32 imageGatherLinear = {}; + Bool32 imageGatherExtendedModes = {}; + Bool32 blockMatchExtendedClampToEdge = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceImageProcessing3FeaturesQCOM; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceImageProcessing3FeaturesQCOM; + }; + // wrapper struct for struct VkPhysicalDeviceImageProcessingFeaturesQCOM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceImageProcessingFeaturesQCOM.html struct PhysicalDeviceImageProcessingFeaturesQCOM @@ -120315,6 +124595,129 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceImageSlicedViewOf3DFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDeviceImageTilingControlFeaturesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceImageTilingControlFeaturesEXT.html + struct PhysicalDeviceImageTilingControlFeaturesEXT + { + using NativeType = VkPhysicalDeviceImageTilingControlFeaturesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImageTilingControlFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceImageTilingControlFeaturesEXT( Bool32 imageTilingControl_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , imageTilingControl{ imageTilingControl_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceImageTilingControlFeaturesEXT( PhysicalDeviceImageTilingControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceImageTilingControlFeaturesEXT( VkPhysicalDeviceImageTilingControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceImageTilingControlFeaturesEXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceImageTilingControlFeaturesEXT & operator=( PhysicalDeviceImageTilingControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceImageTilingControlFeaturesEXT & operator=( VkPhysicalDeviceImageTilingControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageTilingControlFeaturesEXT & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageTilingControlFeaturesEXT && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageTilingControlFeaturesEXT & setImageTilingControl( Bool32 imageTilingControl_ ) & VULKAN_HPP_NOEXCEPT + { + imageTilingControl = imageTilingControl_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImageTilingControlFeaturesEXT && setImageTilingControl( Bool32 imageTilingControl_ ) && VULKAN_HPP_NOEXCEPT + { + imageTilingControl = imageTilingControl_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceImageTilingControlFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceImageTilingControlFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceImageTilingControlFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceImageTilingControlFeaturesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, imageTilingControl ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceImageTilingControlFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceImageTilingControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageTilingControl == rhs.imageTilingControl ); +# endif + } + + bool operator!=( PhysicalDeviceImageTilingControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceImageTilingControlFeaturesEXT; + void * pNext = {}; + Bool32 imageTilingControl = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceImageTilingControlFeaturesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceImageTilingControlFeaturesEXT; + }; + // wrapper struct for struct VkPhysicalDeviceImageViewImageFormatInfoEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceImageViewImageFormatInfoEXT.html struct PhysicalDeviceImageViewImageFormatInfoEXT @@ -120813,6 +125216,111 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features; using PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features; + // wrapper struct for struct VkPhysicalDeviceInfoPropertiesINTEL, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceInfoPropertiesINTEL.html + struct PhysicalDeviceInfoPropertiesINTEL + { + using NativeType = VkPhysicalDeviceInfoPropertiesINTEL; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceInfoPropertiesINTEL; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceInfoPropertiesINTEL( uint32_t deviceIpVersionArch_ = {}, + uint32_t deviceIpVersionRelease_ = {}, + uint32_t deviceIpVersionRevision_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , deviceIpVersionArch{ deviceIpVersionArch_ } + , deviceIpVersionRelease{ deviceIpVersionRelease_ } + , deviceIpVersionRevision{ deviceIpVersionRevision_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceInfoPropertiesINTEL( PhysicalDeviceInfoPropertiesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceInfoPropertiesINTEL( VkPhysicalDeviceInfoPropertiesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceInfoPropertiesINTEL( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceInfoPropertiesINTEL & operator=( PhysicalDeviceInfoPropertiesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceInfoPropertiesINTEL & operator=( VkPhysicalDeviceInfoPropertiesINTEL const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceInfoPropertiesINTEL const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceInfoPropertiesINTEL &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceInfoPropertiesINTEL const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceInfoPropertiesINTEL *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, deviceIpVersionArch, deviceIpVersionRelease, deviceIpVersionRevision ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceInfoPropertiesINTEL const & ) const = default; +#else + bool operator==( PhysicalDeviceInfoPropertiesINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( deviceIpVersionArch == rhs.deviceIpVersionArch ) && + ( deviceIpVersionRelease == rhs.deviceIpVersionRelease ) && ( deviceIpVersionRevision == rhs.deviceIpVersionRevision ); +# endif + } + + bool operator!=( PhysicalDeviceInfoPropertiesINTEL const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceInfoPropertiesINTEL; + void * pNext = {}; + uint32_t deviceIpVersionArch = {}; + uint32_t deviceIpVersionRelease = {}; + uint32_t deviceIpVersionRevision = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceInfoPropertiesINTEL; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceInfoPropertiesINTEL; + }; + // wrapper struct for struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceInheritedViewportScissorFeaturesNV.html struct PhysicalDeviceInheritedViewportScissorFeaturesNV @@ -127526,6 +132034,136 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT.html + struct PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT + { + using NativeType = VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT( Bool32 multisampledRenderToSwapchain_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , multisampledRenderToSwapchain{ multisampledRenderToSwapchain_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT( PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & rhs ) + VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT( VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT & + operator=( PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT & + operator=( VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT & setMultisampledRenderToSwapchain( Bool32 multisampledRenderToSwapchain_ ) & + VULKAN_HPP_NOEXCEPT + { + multisampledRenderToSwapchain = multisampledRenderToSwapchain_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT && + setMultisampledRenderToSwapchain( Bool32 multisampledRenderToSwapchain_ ) && + VULKAN_HPP_NOEXCEPT + { + multisampledRenderToSwapchain = multisampledRenderToSwapchain_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, multisampledRenderToSwapchain ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( multisampledRenderToSwapchain == rhs.multisampledRenderToSwapchain ); +# endif + } + + bool operator!=( PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + void * pNext = {}; + Bool32 multisampledRenderToSwapchain = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT; + }; + // wrapper struct for struct VkPhysicalDeviceMultiviewFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewFeatures.html struct PhysicalDeviceMultiviewFeatures @@ -128807,6 +133445,129 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceOpacityMicromapFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDeviceOpacityMicromapFeaturesKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceOpacityMicromapFeaturesKHR.html + struct PhysicalDeviceOpacityMicromapFeaturesKHR + { + using NativeType = VkPhysicalDeviceOpacityMicromapFeaturesKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceOpacityMicromapFeaturesKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapFeaturesKHR( Bool32 micromap_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , micromap{ micromap_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapFeaturesKHR( PhysicalDeviceOpacityMicromapFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceOpacityMicromapFeaturesKHR( VkPhysicalDeviceOpacityMicromapFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceOpacityMicromapFeaturesKHR( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceOpacityMicromapFeaturesKHR & operator=( PhysicalDeviceOpacityMicromapFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceOpacityMicromapFeaturesKHR & operator=( VkPhysicalDeviceOpacityMicromapFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesKHR & setMicromap( Bool32 micromap_ ) & VULKAN_HPP_NOEXCEPT + { + micromap = micromap_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceOpacityMicromapFeaturesKHR && setMicromap( Bool32 micromap_ ) && VULKAN_HPP_NOEXCEPT + { + micromap = micromap_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceOpacityMicromapFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceOpacityMicromapFeaturesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceOpacityMicromapFeaturesKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceOpacityMicromapFeaturesKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, micromap ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceOpacityMicromapFeaturesKHR const & ) const = default; +#else + bool operator==( PhysicalDeviceOpacityMicromapFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( micromap == rhs.micromap ); +# endif + } + + bool operator!=( PhysicalDeviceOpacityMicromapFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceOpacityMicromapFeaturesKHR; + void * pNext = {}; + Bool32 micromap = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceOpacityMicromapFeaturesKHR; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceOpacityMicromapFeaturesKHR; + }; + // wrapper struct for struct VkPhysicalDeviceOpacityMicromapPropertiesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceOpacityMicromapPropertiesEXT.html struct PhysicalDeviceOpacityMicromapPropertiesEXT @@ -128909,6 +133670,117 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceOpacityMicromapPropertiesEXT; }; + // wrapper struct for struct VkPhysicalDeviceOpacityMicromapPropertiesKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceOpacityMicromapPropertiesKHR.html + struct PhysicalDeviceOpacityMicromapPropertiesKHR + { + using NativeType = VkPhysicalDeviceOpacityMicromapPropertiesKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceOpacityMicromapPropertiesKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapPropertiesKHR( uint32_t maxOpacity2StateSubdivisionLevel_ = {}, + uint32_t maxOpacity4StateSubdivisionLevel_ = {}, + uint32_t maxOpacityLossy4StateSubdivisionLevel_ = {}, + uint64_t maxMicromapTriangles_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , maxOpacity2StateSubdivisionLevel{ maxOpacity2StateSubdivisionLevel_ } + , maxOpacity4StateSubdivisionLevel{ maxOpacity4StateSubdivisionLevel_ } + , maxOpacityLossy4StateSubdivisionLevel{ maxOpacityLossy4StateSubdivisionLevel_ } + , maxMicromapTriangles{ maxMicromapTriangles_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceOpacityMicromapPropertiesKHR( PhysicalDeviceOpacityMicromapPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceOpacityMicromapPropertiesKHR( VkPhysicalDeviceOpacityMicromapPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceOpacityMicromapPropertiesKHR( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceOpacityMicromapPropertiesKHR & operator=( PhysicalDeviceOpacityMicromapPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceOpacityMicromapPropertiesKHR & operator=( VkPhysicalDeviceOpacityMicromapPropertiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceOpacityMicromapPropertiesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceOpacityMicromapPropertiesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceOpacityMicromapPropertiesKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceOpacityMicromapPropertiesKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( + sType, pNext, maxOpacity2StateSubdivisionLevel, maxOpacity4StateSubdivisionLevel, maxOpacityLossy4StateSubdivisionLevel, maxMicromapTriangles ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceOpacityMicromapPropertiesKHR const & ) const = default; +#else + bool operator==( PhysicalDeviceOpacityMicromapPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxOpacity2StateSubdivisionLevel == rhs.maxOpacity2StateSubdivisionLevel ) && + ( maxOpacity4StateSubdivisionLevel == rhs.maxOpacity4StateSubdivisionLevel ) && + ( maxOpacityLossy4StateSubdivisionLevel == rhs.maxOpacityLossy4StateSubdivisionLevel ) && ( maxMicromapTriangles == rhs.maxMicromapTriangles ); +# endif + } + + bool operator!=( PhysicalDeviceOpacityMicromapPropertiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceOpacityMicromapPropertiesKHR; + void * pNext = {}; + uint32_t maxOpacity2StateSubdivisionLevel = {}; + uint32_t maxOpacity4StateSubdivisionLevel = {}; + uint32_t maxOpacityLossy4StateSubdivisionLevel = {}; + uint64_t maxMicromapTriangles = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceOpacityMicromapPropertiesKHR; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceOpacityMicromapPropertiesKHR; + }; + // wrapper struct for struct VkPhysicalDeviceOpticalFlowFeaturesNV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceOpticalFlowFeaturesNV.html struct PhysicalDeviceOpticalFlowFeaturesNV @@ -130915,17 +135787,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDevicePipelineExecutablePropertiesFeaturesKHR; }; - // wrapper struct for struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, see - // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.html - struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT + // wrapper struct for struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR.html + struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR { - using NativeType = VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + using NativeType = VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; static bool const allowDuplicate = false; - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; #if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( Bool32 pipelineLibraryGroupHandles_ = {}, + VULKAN_HPP_CONSTEXPR PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR( Bool32 pipelineLibraryGroupHandles_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , pipelineLibraryGroupHandles{ pipelineLibraryGroupHandles_ } @@ -130933,44 +135805,44 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } VULKAN_HPP_CONSTEXPR - PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR( PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; - PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT - : PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( *reinterpret_cast( &rhs ) ) + PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR( VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR( *reinterpret_cast( &rhs ) ) { } - PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT & - operator=( PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR & + operator=( PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ - PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT & operator=( VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR & operator=( VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT { - *this = *reinterpret_cast( &rhs ); + *this = *reinterpret_cast( &rhs ); return *this; } #if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; } - VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT { pNext = pNext_; return std::move( *this ); } - VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT & setPipelineLibraryGroupHandles( Bool32 pipelineLibraryGroupHandles_ ) & + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR & setPipelineLibraryGroupHandles( Bool32 pipelineLibraryGroupHandles_ ) & VULKAN_HPP_NOEXCEPT { pipelineLibraryGroupHandles = pipelineLibraryGroupHandles_; return *this; } - VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT && setPipelineLibraryGroupHandles( Bool32 pipelineLibraryGroupHandles_ ) && + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR && setPipelineLibraryGroupHandles( Bool32 pipelineLibraryGroupHandles_ ) && VULKAN_HPP_NOEXCEPT { pipelineLibraryGroupHandles = pipelineLibraryGroupHandles_; @@ -130978,24 +135850,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #endif /*VULKAN_HPP_NO_SETTERS*/ - operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const &() const VULKAN_HPP_NOEXCEPT { - return *reinterpret_cast( this ); + return *reinterpret_cast( this ); } - operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT &() VULKAN_HPP_NOEXCEPT + operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR &() VULKAN_HPP_NOEXCEPT { - return *reinterpret_cast( this ); + return *reinterpret_cast( this ); } - operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT + operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const *() const VULKAN_HPP_NOEXCEPT { - return reinterpret_cast( this ); + return reinterpret_cast( this ); } - operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT *() VULKAN_HPP_NOEXCEPT + operator VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR *() VULKAN_HPP_NOEXCEPT { - return reinterpret_cast( this ); + return reinterpret_cast( this ); } #if defined( VULKAN_HPP_USE_REFLECT ) @@ -131006,9 +135878,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & ) const = default; + auto operator<=>( PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & ) const = default; #else - bool operator==( PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + bool operator==( PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); @@ -131017,32 +135889,34 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE # endif } - bool operator!=( PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + bool operator!=( PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } #endif public: - StructureType sType = StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + StructureType sType = StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; void * pNext = {}; Bool32 pipelineLibraryGroupHandles = {}; }; #if 20 <= VULKAN_HPP_CPP_VERSION template <> - struct CppType + struct CppType { - using Type = PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + using Type = PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; }; #endif template <> - struct CppType + struct CppType { - using Type = PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + using Type = PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; }; + using PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR; + // wrapper struct for struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineOpacityMicromapFeaturesARM.html struct PhysicalDevicePipelineOpacityMicromapFeaturesARM @@ -133715,6 +138589,130 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; }; + // wrapper struct for struct VkPhysicalDevicePrivateDataBaseHandleFeaturesNV, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDevicePrivateDataBaseHandleFeaturesNV.html + struct PhysicalDevicePrivateDataBaseHandleFeaturesNV + { + using NativeType = VkPhysicalDevicePrivateDataBaseHandleFeaturesNV; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDevicePrivateDataBaseHandleFeaturesNV; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDevicePrivateDataBaseHandleFeaturesNV( Bool32 privateDataBaseHandle_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , privateDataBaseHandle{ privateDataBaseHandle_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDevicePrivateDataBaseHandleFeaturesNV( PhysicalDevicePrivateDataBaseHandleFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDevicePrivateDataBaseHandleFeaturesNV( VkPhysicalDevicePrivateDataBaseHandleFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDevicePrivateDataBaseHandleFeaturesNV( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDevicePrivateDataBaseHandleFeaturesNV & operator=( PhysicalDevicePrivateDataBaseHandleFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDevicePrivateDataBaseHandleFeaturesNV & operator=( VkPhysicalDevicePrivateDataBaseHandleFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataBaseHandleFeaturesNV & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataBaseHandleFeaturesNV && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataBaseHandleFeaturesNV & setPrivateDataBaseHandle( Bool32 privateDataBaseHandle_ ) & VULKAN_HPP_NOEXCEPT + { + privateDataBaseHandle = privateDataBaseHandle_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDevicePrivateDataBaseHandleFeaturesNV && setPrivateDataBaseHandle( Bool32 privateDataBaseHandle_ ) && VULKAN_HPP_NOEXCEPT + { + privateDataBaseHandle = privateDataBaseHandle_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDevicePrivateDataBaseHandleFeaturesNV const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDevicePrivateDataBaseHandleFeaturesNV &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDevicePrivateDataBaseHandleFeaturesNV const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDevicePrivateDataBaseHandleFeaturesNV *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, privateDataBaseHandle ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDevicePrivateDataBaseHandleFeaturesNV const & ) const = default; +#else + bool operator==( PhysicalDevicePrivateDataBaseHandleFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( privateDataBaseHandle == rhs.privateDataBaseHandle ); +# endif + } + + bool operator!=( PhysicalDevicePrivateDataBaseHandleFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDevicePrivateDataBaseHandleFeaturesNV; + void * pNext = {}; + Bool32 privateDataBaseHandle = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDevicePrivateDataBaseHandleFeaturesNV; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDevicePrivateDataBaseHandleFeaturesNV; + }; + // wrapper struct for struct VkPhysicalDevicePrivateDataFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDevicePrivateDataFeatures.html struct PhysicalDevicePrivateDataFeatures @@ -144397,6 +149395,407 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceShaderModuleIdentifierPropertiesEXT; }; + // wrapper struct for struct VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM.html + struct PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM + { + using NativeType = VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM( Bool32 shaderMultipleWaitQueues_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , shaderMultipleWaitQueues{ shaderMultipleWaitQueues_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM( PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM( VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM & + operator=( PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM & operator=( VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM & setShaderMultipleWaitQueues( Bool32 shaderMultipleWaitQueues_ ) & + VULKAN_HPP_NOEXCEPT + { + shaderMultipleWaitQueues = shaderMultipleWaitQueues_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM && setShaderMultipleWaitQueues( Bool32 shaderMultipleWaitQueues_ ) && + VULKAN_HPP_NOEXCEPT + { + shaderMultipleWaitQueues = shaderMultipleWaitQueues_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, shaderMultipleWaitQueues ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderMultipleWaitQueues == rhs.shaderMultipleWaitQueues ); +# endif + } + + bool operator!=( PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + void * pNext = {}; + Bool32 shaderMultipleWaitQueues = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM; + }; + + // wrapper struct for struct VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM.html + struct PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM + { + using NativeType = VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM( uint32_t maxShaderWaitQueues_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , maxShaderWaitQueues{ maxShaderWaitQueues_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM( PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM( VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM & + operator=( PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM & operator=( VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, maxShaderWaitQueues ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxShaderWaitQueues == rhs.maxShaderWaitQueues ); +# endif + } + + bool operator!=( PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + void * pNext = {}; + uint32_t maxShaderWaitQueues = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM; + }; + + // wrapper struct for struct VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT.html + struct PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT + { + using NativeType = VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderOcpMicroscalingTypesFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT( Bool32 shaderFloat4_ = {}, + Bool32 shaderFloat6_ = {}, + Bool32 shaderFloat8UnsignedE8M0_ = {}, + Bool32 shaderMXInt8_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , shaderFloat4{ shaderFloat4_ } + , shaderFloat6{ shaderFloat6_ } + , shaderFloat8UnsignedE8M0{ shaderFloat8UnsignedE8M0_ } + , shaderMXInt8{ shaderMXInt8_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT( PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT( VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & + operator=( PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & operator=( VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & setShaderFloat4( Bool32 shaderFloat4_ ) & VULKAN_HPP_NOEXCEPT + { + shaderFloat4 = shaderFloat4_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT && setShaderFloat4( Bool32 shaderFloat4_ ) && VULKAN_HPP_NOEXCEPT + { + shaderFloat4 = shaderFloat4_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & setShaderFloat6( Bool32 shaderFloat6_ ) & VULKAN_HPP_NOEXCEPT + { + shaderFloat6 = shaderFloat6_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT && setShaderFloat6( Bool32 shaderFloat6_ ) && VULKAN_HPP_NOEXCEPT + { + shaderFloat6 = shaderFloat6_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & setShaderFloat8UnsignedE8M0( Bool32 shaderFloat8UnsignedE8M0_ ) & + VULKAN_HPP_NOEXCEPT + { + shaderFloat8UnsignedE8M0 = shaderFloat8UnsignedE8M0_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT && setShaderFloat8UnsignedE8M0( Bool32 shaderFloat8UnsignedE8M0_ ) && + VULKAN_HPP_NOEXCEPT + { + shaderFloat8UnsignedE8M0 = shaderFloat8UnsignedE8M0_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT & setShaderMXInt8( Bool32 shaderMXInt8_ ) & VULKAN_HPP_NOEXCEPT + { + shaderMXInt8 = shaderMXInt8_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT && setShaderMXInt8( Bool32 shaderMXInt8_ ) && VULKAN_HPP_NOEXCEPT + { + shaderMXInt8 = shaderMXInt8_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, shaderFloat4, shaderFloat6, shaderFloat8UnsignedE8M0, shaderMXInt8 ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderFloat4 == rhs.shaderFloat4 ) && ( shaderFloat6 == rhs.shaderFloat6 ) && + ( shaderFloat8UnsignedE8M0 == rhs.shaderFloat8UnsignedE8M0 ) && ( shaderMXInt8 == rhs.shaderMXInt8 ); +# endif + } + + bool operator!=( PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceShaderOcpMicroscalingTypesFeaturesEXT; + void * pNext = {}; + Bool32 shaderFloat4 = {}; + Bool32 shaderFloat6 = {}; + Bool32 shaderFloat8UnsignedE8M0 = {}; + Bool32 shaderMXInt8 = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderOCPMicroscalingTypesFeaturesEXT; + }; + // wrapper struct for struct VkPhysicalDeviceShaderObjectFeaturesEXT, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderObjectFeaturesEXT.html struct PhysicalDeviceShaderObjectFeaturesEXT @@ -145228,6 +150627,228 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceShaderSMBuiltinsPropertiesNV; }; + // wrapper struct for struct VkPhysicalDeviceShaderSplitBarrierFeaturesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSplitBarrierFeaturesEXT.html + struct PhysicalDeviceShaderSplitBarrierFeaturesEXT + { + using NativeType = VkPhysicalDeviceShaderSplitBarrierFeaturesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSplitBarrierFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSplitBarrierFeaturesEXT( Bool32 shaderSplitBarrier_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , shaderSplitBarrier{ shaderSplitBarrier_ } + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSplitBarrierFeaturesEXT( PhysicalDeviceShaderSplitBarrierFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderSplitBarrierFeaturesEXT( VkPhysicalDeviceShaderSplitBarrierFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderSplitBarrierFeaturesEXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceShaderSplitBarrierFeaturesEXT & operator=( PhysicalDeviceShaderSplitBarrierFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceShaderSplitBarrierFeaturesEXT & operator=( VkPhysicalDeviceShaderSplitBarrierFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSplitBarrierFeaturesEXT & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSplitBarrierFeaturesEXT && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSplitBarrierFeaturesEXT & setShaderSplitBarrier( Bool32 shaderSplitBarrier_ ) & VULKAN_HPP_NOEXCEPT + { + shaderSplitBarrier = shaderSplitBarrier_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceShaderSplitBarrierFeaturesEXT && setShaderSplitBarrier( Bool32 shaderSplitBarrier_ ) && VULKAN_HPP_NOEXCEPT + { + shaderSplitBarrier = shaderSplitBarrier_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceShaderSplitBarrierFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderSplitBarrierFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderSplitBarrierFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderSplitBarrierFeaturesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, shaderSplitBarrier ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderSplitBarrierFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderSplitBarrierFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( shaderSplitBarrier == rhs.shaderSplitBarrier ); +# endif + } + + bool operator!=( PhysicalDeviceShaderSplitBarrierFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceShaderSplitBarrierFeaturesEXT; + void * pNext = {}; + Bool32 shaderSplitBarrier = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceShaderSplitBarrierFeaturesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderSplitBarrierFeaturesEXT; + }; + + // wrapper struct for struct VkPhysicalDeviceShaderSplitBarrierPropertiesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSplitBarrierPropertiesEXT.html + struct PhysicalDeviceShaderSplitBarrierPropertiesEXT + { + using NativeType = VkPhysicalDeviceShaderSplitBarrierPropertiesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceShaderSplitBarrierPropertiesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceShaderSplitBarrierPropertiesEXT( uint32_t splitBarrierReservedSharedMemory_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , splitBarrierReservedSharedMemory{ splitBarrierReservedSharedMemory_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceShaderSplitBarrierPropertiesEXT( PhysicalDeviceShaderSplitBarrierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceShaderSplitBarrierPropertiesEXT( VkPhysicalDeviceShaderSplitBarrierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceShaderSplitBarrierPropertiesEXT( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceShaderSplitBarrierPropertiesEXT & operator=( PhysicalDeviceShaderSplitBarrierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceShaderSplitBarrierPropertiesEXT & operator=( VkPhysicalDeviceShaderSplitBarrierPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkPhysicalDeviceShaderSplitBarrierPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderSplitBarrierPropertiesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderSplitBarrierPropertiesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceShaderSplitBarrierPropertiesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, splitBarrierReservedSharedMemory ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceShaderSplitBarrierPropertiesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceShaderSplitBarrierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( splitBarrierReservedSharedMemory == rhs.splitBarrierReservedSharedMemory ); +# endif + } + + bool operator!=( PhysicalDeviceShaderSplitBarrierPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceShaderSplitBarrierPropertiesEXT; + void * pNext = {}; + uint32_t splitBarrierReservedSharedMemory = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceShaderSplitBarrierPropertiesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceShaderSplitBarrierPropertiesEXT; + }; + // wrapper struct for struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures.html struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures @@ -151731,6 +157352,130 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceVideoEncodeAV1FeaturesKHR; }; + // wrapper struct for struct VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR.html + struct PhysicalDeviceVideoEncodeFeedback2FeaturesKHR + { + using NativeType = VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceVideoEncodeFeedback2FeaturesKHR( Bool32 videoEncodeFeedback2_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , videoEncodeFeedback2{ videoEncodeFeedback2_ } + { + } + + VULKAN_HPP_CONSTEXPR + PhysicalDeviceVideoEncodeFeedback2FeaturesKHR( PhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceVideoEncodeFeedback2FeaturesKHR( VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceVideoEncodeFeedback2FeaturesKHR( *reinterpret_cast( &rhs ) ) + { + } + + PhysicalDeviceVideoEncodeFeedback2FeaturesKHR & operator=( PhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + PhysicalDeviceVideoEncodeFeedback2FeaturesKHR & operator=( VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoEncodeFeedback2FeaturesKHR & setPNext( void * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoEncodeFeedback2FeaturesKHR && setPNext( void * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoEncodeFeedback2FeaturesKHR & setVideoEncodeFeedback2( Bool32 videoEncodeFeedback2_ ) & VULKAN_HPP_NOEXCEPT + { + videoEncodeFeedback2 = videoEncodeFeedback2_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoEncodeFeedback2FeaturesKHR && setVideoEncodeFeedback2( Bool32 videoEncodeFeedback2_ ) && VULKAN_HPP_NOEXCEPT + { + videoEncodeFeedback2 = videoEncodeFeedback2_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkPhysicalDeviceVideoEncodeFeedback2FeaturesKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, videoEncodeFeedback2 ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & ) const = default; +#else + bool operator==( PhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( videoEncodeFeedback2 == rhs.videoEncodeFeedback2 ); +# endif + } + + bool operator!=( PhysicalDeviceVideoEncodeFeedback2FeaturesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::ePhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + void * pNext = {}; + Bool32 videoEncodeFeedback2 = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = PhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + }; +#endif + + template <> + struct CppType + { + using Type = PhysicalDeviceVideoEncodeFeedback2FeaturesKHR; + }; + // wrapper struct for struct VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR.html struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR @@ -157317,6 +163062,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { } +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + PipelineBinaryKeyKHR( VULKAN_HPP_NAMESPACE::ArrayProxy const & key_, void * pNext_ = nullptr ) + : pNext( pNext_ ), keySize( ( std::min )( static_cast( key_.size() ), VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR ) ) + { + VULKAN_HPP_ASSERT( key_.size() < VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR ); + memcpy( key, key_.data(), keySize * sizeof( uint8_t ) ); + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + PipelineBinaryKeyKHR & operator=( PipelineBinaryKeyKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ @@ -157362,7 +163116,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE key = key_; return std::move( *this ); } -#endif /*VULKAN_HPP_NO_SETTERS*/ + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + PipelineBinaryKeyKHR & setKey( VULKAN_HPP_NAMESPACE::ArrayProxy const & key_ ) VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( key_.size() <= VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR ); + keySize = ( std::min )( static_cast( key_.size() ), VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR ); + memcpy( key, key_.data(), keySize ); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_SETTERS*/ operator VkPipelineBinaryKeyKHR const &() const VULKAN_HPP_NOEXCEPT { @@ -157393,22 +163157,33 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( PipelineBinaryKeyKHR const & ) const = default; -#else + std::strong_ordering operator<=>( PipelineBinaryKeyKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) + return cmp; + if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) + return cmp; + if ( auto cmp = keySize <=> rhs.keySize; cmp != 0 ) + return cmp; + for ( size_t i = 0; i < keySize; ++i ) + { + if ( auto cmp = key[i] <=> rhs.key[i]; cmp != 0 ) + return cmp; + } + + return std::strong_ordering::equivalent; + } +#endif + bool operator==( PipelineBinaryKeyKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) - return this->reflect() == rhs.reflect(); -# else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( keySize == rhs.keySize ) && ( key == rhs.key ); -# endif + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( keySize == rhs.keySize ) && ( memcmp( key, rhs.key, keySize * sizeof( uint8_t ) ) == 0 ); } bool operator!=( PipelineBinaryKeyKHR const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -#endif public: StructureType sType = StructureType::ePipelineBinaryKeyKHR; @@ -170124,6 +175899,157 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = QueryPoolVideoEncodeFeedbackCreateInfoKHR; }; + // wrapper struct for struct VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR.html + struct QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR + { + using NativeType = VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR( uint32_t maxPerPartitionFeedbackEntries_ = {}, + VideoEncodePerPartitionFeedbackFlagsKHR perPartitionEncodeFeedbackFlags_ = {}, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , maxPerPartitionFeedbackEntries{ maxPerPartitionFeedbackEntries_ } + , perPartitionEncodeFeedbackFlags{ perPartitionEncodeFeedbackFlags_ } + { + } + + VULKAN_HPP_CONSTEXPR + QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR( QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR( VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR( *reinterpret_cast( &rhs ) ) + { + } + + QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR & + operator=( QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR & operator=( VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR & + setMaxPerPartitionFeedbackEntries( uint32_t maxPerPartitionFeedbackEntries_ ) & + VULKAN_HPP_NOEXCEPT + { + maxPerPartitionFeedbackEntries = maxPerPartitionFeedbackEntries_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR && + setMaxPerPartitionFeedbackEntries( uint32_t maxPerPartitionFeedbackEntries_ ) && + VULKAN_HPP_NOEXCEPT + { + maxPerPartitionFeedbackEntries = maxPerPartitionFeedbackEntries_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR & + setPerPartitionEncodeFeedbackFlags( VideoEncodePerPartitionFeedbackFlagsKHR perPartitionEncodeFeedbackFlags_ ) & + VULKAN_HPP_NOEXCEPT + { + perPartitionEncodeFeedbackFlags = perPartitionEncodeFeedbackFlags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR && + setPerPartitionEncodeFeedbackFlags( VideoEncodePerPartitionFeedbackFlagsKHR perPartitionEncodeFeedbackFlags_ ) && + VULKAN_HPP_NOEXCEPT + { + perPartitionEncodeFeedbackFlags = perPartitionEncodeFeedbackFlags_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, maxPerPartitionFeedbackEntries, perPartitionEncodeFeedbackFlags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & ) const = default; +#else + bool operator==( QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPerPartitionFeedbackEntries == rhs.maxPerPartitionFeedbackEntries ) && + ( perPartitionEncodeFeedbackFlags == rhs.perPartitionEncodeFeedbackFlags ); +# endif + } + + bool operator!=( QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + void const * pNext = {}; + uint32_t maxPerPartitionFeedbackEntries = {}; + VideoEncodePerPartitionFeedbackFlagsKHR perPartitionEncodeFeedbackFlags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + }; +#endif + + template <> + struct CppType + { + using Type = QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR; + }; + // wrapper struct for struct VkQueueFamilyCheckpointProperties2NV, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkQueueFamilyCheckpointProperties2NV.html struct QueueFamilyCheckpointProperties2NV @@ -185680,6 +191606,104 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE }; #endif + // wrapper struct for struct VkSharedPresentSurfaceCapabilities2KHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkSharedPresentSurfaceCapabilities2KHR.html + struct SharedPresentSurfaceCapabilities2KHR + { + using NativeType = VkSharedPresentSurfaceCapabilities2KHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSharedPresentSurfaceCapabilities2KHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilities2KHR( ImageUsageFlags2KHR sharedPresentSupportedUsageFlags_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , sharedPresentSupportedUsageFlags{ sharedPresentSupportedUsageFlags_ } + { + } + + VULKAN_HPP_CONSTEXPR SharedPresentSurfaceCapabilities2KHR( SharedPresentSurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + SharedPresentSurfaceCapabilities2KHR( VkSharedPresentSurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT + : SharedPresentSurfaceCapabilities2KHR( *reinterpret_cast( &rhs ) ) + { + } + + SharedPresentSurfaceCapabilities2KHR & operator=( SharedPresentSurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + SharedPresentSurfaceCapabilities2KHR & operator=( VkSharedPresentSurfaceCapabilities2KHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkSharedPresentSurfaceCapabilities2KHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkSharedPresentSurfaceCapabilities2KHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkSharedPresentSurfaceCapabilities2KHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkSharedPresentSurfaceCapabilities2KHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, sharedPresentSupportedUsageFlags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( SharedPresentSurfaceCapabilities2KHR const & ) const = default; +#else + bool operator==( SharedPresentSurfaceCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sharedPresentSupportedUsageFlags == rhs.sharedPresentSupportedUsageFlags ); +# endif + } + + bool operator!=( SharedPresentSurfaceCapabilities2KHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eSharedPresentSurfaceCapabilities2KHR; + void * pNext = {}; + ImageUsageFlags2KHR sharedPresentSupportedUsageFlags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = SharedPresentSurfaceCapabilities2KHR; + }; +#endif + + template <> + struct CppType + { + using Type = SharedPresentSurfaceCapabilities2KHR; + }; + // wrapper struct for struct VkSharedPresentSurfaceCapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkSharedPresentSurfaceCapabilitiesKHR.html struct SharedPresentSurfaceCapabilitiesKHR @@ -190626,6 +196650,104 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = SwapchainDisplayNativeHdrCreateInfoAMD; }; + // wrapper struct for struct VkSwapchainFlagsSurfaceCapabilitiesEXT, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainFlagsSurfaceCapabilitiesEXT.html + struct SwapchainFlagsSurfaceCapabilitiesEXT + { + using NativeType = VkSwapchainFlagsSurfaceCapabilitiesEXT; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSwapchainFlagsSurfaceCapabilitiesEXT; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR SwapchainFlagsSurfaceCapabilitiesEXT( SwapchainCreateFlagsKHR swapchainSupportedFlags_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , swapchainSupportedFlags{ swapchainSupportedFlags_ } + { + } + + VULKAN_HPP_CONSTEXPR SwapchainFlagsSurfaceCapabilitiesEXT( SwapchainFlagsSurfaceCapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + SwapchainFlagsSurfaceCapabilitiesEXT( VkSwapchainFlagsSurfaceCapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : SwapchainFlagsSurfaceCapabilitiesEXT( *reinterpret_cast( &rhs ) ) + { + } + + SwapchainFlagsSurfaceCapabilitiesEXT & operator=( SwapchainFlagsSurfaceCapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + SwapchainFlagsSurfaceCapabilitiesEXT & operator=( VkSwapchainFlagsSurfaceCapabilitiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkSwapchainFlagsSurfaceCapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkSwapchainFlagsSurfaceCapabilitiesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkSwapchainFlagsSurfaceCapabilitiesEXT const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkSwapchainFlagsSurfaceCapabilitiesEXT *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, swapchainSupportedFlags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( SwapchainFlagsSurfaceCapabilitiesEXT const & ) const = default; +#else + bool operator==( SwapchainFlagsSurfaceCapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( swapchainSupportedFlags == rhs.swapchainSupportedFlags ); +# endif + } + + bool operator!=( SwapchainFlagsSurfaceCapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eSwapchainFlagsSurfaceCapabilitiesEXT; + void * pNext = {}; + SwapchainCreateFlagsKHR swapchainSupportedFlags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = SwapchainFlagsSurfaceCapabilitiesEXT; + }; +#endif + + template <> + struct CppType + { + using Type = SwapchainFlagsSurfaceCapabilitiesEXT; + }; + // wrapper struct for struct VkSwapchainLatencyCreateInfoNV, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSwapchainLatencyCreateInfoNV.html struct SwapchainLatencyCreateInfoNV { @@ -192205,6 +198327,131 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = TensorDependencyInfoARM; }; + // wrapper struct for struct VkTensorExplicitTilingFormatPropertiesARM, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorExplicitTilingFormatPropertiesARM.html + struct TensorExplicitTilingFormatPropertiesARM + { + using NativeType = VkTensorExplicitTilingFormatPropertiesARM; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTensorExplicitTilingFormatPropertiesARM; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR TensorExplicitTilingFormatPropertiesARM( FormatFeatureFlags2 brick16TilingTensorFeatures_ = {}, + FormatFeatureFlags2 brick8TilingTensorFeatures_ = {}, + FormatFeatureFlags2 brick4TilingTensorFeatures_ = {}, + FormatFeatureFlags2 blockUTilingTensorFeatures_ = {}, + FormatFeatureFlags2 blockU64kTilingTensorFeatures_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , brick16TilingTensorFeatures{ brick16TilingTensorFeatures_ } + , brick8TilingTensorFeatures{ brick8TilingTensorFeatures_ } + , brick4TilingTensorFeatures{ brick4TilingTensorFeatures_ } + , blockUTilingTensorFeatures{ blockUTilingTensorFeatures_ } + , blockU64kTilingTensorFeatures{ blockU64kTilingTensorFeatures_ } + { + } + + VULKAN_HPP_CONSTEXPR TensorExplicitTilingFormatPropertiesARM( TensorExplicitTilingFormatPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + TensorExplicitTilingFormatPropertiesARM( VkTensorExplicitTilingFormatPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT + : TensorExplicitTilingFormatPropertiesARM( *reinterpret_cast( &rhs ) ) + { + } + + TensorExplicitTilingFormatPropertiesARM & operator=( TensorExplicitTilingFormatPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + TensorExplicitTilingFormatPropertiesARM & operator=( VkTensorExplicitTilingFormatPropertiesARM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkTensorExplicitTilingFormatPropertiesARM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkTensorExplicitTilingFormatPropertiesARM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkTensorExplicitTilingFormatPropertiesARM const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkTensorExplicitTilingFormatPropertiesARM *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, + pNext, + brick16TilingTensorFeatures, + brick8TilingTensorFeatures, + brick4TilingTensorFeatures, + blockUTilingTensorFeatures, + blockU64kTilingTensorFeatures ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( TensorExplicitTilingFormatPropertiesARM const & ) const = default; +#else + bool operator==( TensorExplicitTilingFormatPropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( brick16TilingTensorFeatures == rhs.brick16TilingTensorFeatures ) && + ( brick8TilingTensorFeatures == rhs.brick8TilingTensorFeatures ) && ( brick4TilingTensorFeatures == rhs.brick4TilingTensorFeatures ) && + ( blockUTilingTensorFeatures == rhs.blockUTilingTensorFeatures ) && ( blockU64kTilingTensorFeatures == rhs.blockU64kTilingTensorFeatures ); +# endif + } + + bool operator!=( TensorExplicitTilingFormatPropertiesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eTensorExplicitTilingFormatPropertiesARM; + void * pNext = {}; + FormatFeatureFlags2 brick16TilingTensorFeatures = {}; + FormatFeatureFlags2 brick8TilingTensorFeatures = {}; + FormatFeatureFlags2 brick4TilingTensorFeatures = {}; + FormatFeatureFlags2 blockUTilingTensorFeatures = {}; + FormatFeatureFlags2 blockU64kTilingTensorFeatures = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = TensorExplicitTilingFormatPropertiesARM; + }; +#endif + + template <> + struct CppType + { + using Type = TensorExplicitTilingFormatPropertiesARM; + }; + // wrapper struct for struct VkTensorFormatPropertiesARM, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorFormatPropertiesARM.html struct TensorFormatPropertiesARM { @@ -192429,6 +198676,136 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = TensorMemoryRequirementsInfoARM; }; + // wrapper struct for struct VkTensorRollingBackingCreateInfoARM, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorRollingBackingCreateInfoARM.html + struct TensorRollingBackingCreateInfoARM + { + using NativeType = VkTensorRollingBackingCreateInfoARM; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eTensorRollingBackingCreateInfoARM; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR_14 + TensorRollingBackingCreateInfoARM( std::array const & wraps_ = {}, + void const * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , wraps{ wraps_ } + { + } + + VULKAN_HPP_CONSTEXPR_14 TensorRollingBackingCreateInfoARM( TensorRollingBackingCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + TensorRollingBackingCreateInfoARM( VkTensorRollingBackingCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT + : TensorRollingBackingCreateInfoARM( *reinterpret_cast( &rhs ) ) + { + } + + TensorRollingBackingCreateInfoARM & operator=( TensorRollingBackingCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + TensorRollingBackingCreateInfoARM & operator=( VkTensorRollingBackingCreateInfoARM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 TensorRollingBackingCreateInfoARM & setPNext( void const * pNext_ ) & VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 TensorRollingBackingCreateInfoARM && setPNext( void const * pNext_ ) && VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return std::move( *this ); + } + + VULKAN_HPP_CONSTEXPR_14 TensorRollingBackingCreateInfoARM & + setWraps( std::array wraps_ ) & + VULKAN_HPP_NOEXCEPT + { + wraps = wraps_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 TensorRollingBackingCreateInfoARM && + setWraps( std::array wraps_ ) && + VULKAN_HPP_NOEXCEPT + { + wraps = wraps_; + return std::move( *this ); + } +#endif /*VULKAN_HPP_NO_SETTERS*/ + + operator VkTensorRollingBackingCreateInfoARM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkTensorRollingBackingCreateInfoARM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkTensorRollingBackingCreateInfoARM const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkTensorRollingBackingCreateInfoARM *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple const &> + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, wraps ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( TensorRollingBackingCreateInfoARM const & ) const = default; +#else + bool operator==( TensorRollingBackingCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( wraps == rhs.wraps ); +# endif + } + + bool operator!=( TensorRollingBackingCreateInfoARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eTensorRollingBackingCreateInfoARM; + void const * pNext = {}; + ArrayWrapper1D wraps = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = TensorRollingBackingCreateInfoARM; + }; +#endif + + template <> + struct CppType + { + using Type = TensorRollingBackingCreateInfoARM; + }; + // wrapper struct for struct VkTensorViewCaptureDescriptorDataInfoARM, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkTensorViewCaptureDescriptorDataInfoARM.html struct TensorViewCaptureDescriptorDataInfoARM @@ -202326,6 +208703,108 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE using Type = VideoEncodeCapabilitiesKHR; }; + // wrapper struct for struct VkVideoEncodeFeedback2CapabilitiesKHR, see + // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeFeedback2CapabilitiesKHR.html + struct VideoEncodeFeedback2CapabilitiesKHR + { + using NativeType = VkVideoEncodeFeedback2CapabilitiesKHR; + + static bool const allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoEncodeFeedback2CapabilitiesKHR; + +#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR VideoEncodeFeedback2CapabilitiesKHR( uint32_t maxPerPartitionFeedbackEntries_ = {}, + VideoEncodePerPartitionFeedbackFlagsKHR supportedPerPartitionEncodeFeedbackFlags_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , maxPerPartitionFeedbackEntries{ maxPerPartitionFeedbackEntries_ } + , supportedPerPartitionEncodeFeedbackFlags{ supportedPerPartitionEncodeFeedbackFlags_ } + { + } + + VULKAN_HPP_CONSTEXPR VideoEncodeFeedback2CapabilitiesKHR( VideoEncodeFeedback2CapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + VideoEncodeFeedback2CapabilitiesKHR( VkVideoEncodeFeedback2CapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + : VideoEncodeFeedback2CapabilitiesKHR( *reinterpret_cast( &rhs ) ) + { + } + + VideoEncodeFeedback2CapabilitiesKHR & operator=( VideoEncodeFeedback2CapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/ + + VideoEncodeFeedback2CapabilitiesKHR & operator=( VkVideoEncodeFeedback2CapabilitiesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkVideoEncodeFeedback2CapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkVideoEncodeFeedback2CapabilitiesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkVideoEncodeFeedback2CapabilitiesKHR const *() const VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + + operator VkVideoEncodeFeedback2CapabilitiesKHR *() VULKAN_HPP_NOEXCEPT + { + return reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) + std::tuple reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, maxPerPartitionFeedbackEntries, supportedPerPartitionEncodeFeedbackFlags ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( VideoEncodeFeedback2CapabilitiesKHR const & ) const = default; +#else + bool operator==( VideoEncodeFeedback2CapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxPerPartitionFeedbackEntries == rhs.maxPerPartitionFeedbackEntries ) && + ( supportedPerPartitionEncodeFeedbackFlags == rhs.supportedPerPartitionEncodeFeedbackFlags ); +# endif + } + + bool operator!=( VideoEncodeFeedback2CapabilitiesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + StructureType sType = StructureType::eVideoEncodeFeedback2CapabilitiesKHR; + void * pNext = {}; + uint32_t maxPerPartitionFeedbackEntries = {}; + VideoEncodePerPartitionFeedbackFlagsKHR supportedPerPartitionEncodeFeedbackFlags = {}; + }; + +#if 20 <= VULKAN_HPP_CPP_VERSION + template <> + struct CppType + { + using Type = VideoEncodeFeedback2CapabilitiesKHR; + }; +#endif + + template <> + struct CppType + { + using Type = VideoEncodeFeedback2CapabilitiesKHR; + }; + // wrapper struct for struct VkVideoEncodeH264CapabilitiesKHR, see // https://registry.khronos.org/vulkan/specs/latest/man/html/VkVideoEncodeH264CapabilitiesKHR.html struct VideoEncodeH264CapabilitiesKHR diff --git a/third_party/vulkan/include/vulkan/vulkan_to_string.hpp b/third_party/vulkan/include/vulkan/vulkan_to_string.hpp index a64755c39..cad0e1994 100644 --- a/third_party/vulkan/include/vulkan/vulkan_to_string.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_to_string.hpp @@ -1,5 +1,4 @@ // Copyright 2015-2026 The Khronos Group Inc. -// // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -1006,12 +1005,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " ColorAttachmentFeedbackLoopEXT |"; if ( value & PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT ) result += " DepthStencilAttachmentFeedbackLoopEXT |"; - if ( value & PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT ) - result += " RayTracingOpacityMicromapEXT |"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) if ( value & PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV ) result += " RayTracingDisplacementMicromapNV |"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ + if ( value & PipelineCreateFlagBits::eRayTracingOpacityMicromapKHR ) + result += " RayTracingOpacityMicromapKHR |"; if ( result.size() > 1 ) result.back() = '}'; @@ -1651,9 +1650,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return result; } - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PrivateDataSlotCreateFlags ) + VULKAN_HPP_INLINE std::string to_string( PrivateDataSlotCreateFlags value ) { - return "{}"; + std::string result = "{"; + if ( value & PrivateDataSlotCreateFlagBits::eBaseObjectHandleNV ) + result += " BaseObjectHandleNV |"; + + if ( result.size() > 1 ) + result.back() = '}'; + else + result = "{}"; + return result; } VULKAN_HPP_INLINE std::string to_string( PipelineStageFlags2 value ) @@ -1954,6 +1961,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " VideoEncodeInputKHR |"; if ( value & FormatFeatureFlagBits2::eVideoEncodeDpbKHR ) result += " VideoEncodeDpbKHR |"; + if ( value & FormatFeatureFlagBits2::eBlockMatchingSxdQCOM ) + result += " BlockMatchingSxdQCOM |"; if ( value & FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV ) result += " AccelerationStructureRadiusBufferNV |"; if ( value & FormatFeatureFlagBits2::eLinearColorAttachmentNV ) @@ -1984,6 +1993,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " VideoEncodeQuantizationDeltaMapKHR |"; if ( value & FormatFeatureFlagBits2::eVideoEncodeEmphasisMapKHR ) result += " VideoEncodeEmphasisMapKHR |"; + if ( value & FormatFeatureFlagBits2::eSampledImageFilterLinear2DIMG ) + result += " SampledImageFilterLinear2DIMG |"; if ( value & FormatFeatureFlagBits2::eDepthCopyOnComputeQueueKHR ) result += " DepthCopyOnComputeQueueKHR |"; if ( value & FormatFeatureFlagBits2::eDepthCopyOnTransferQueueKHR ) @@ -2096,6 +2107,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #endif /*VK_ENABLE_BETA_EXTENSIONS*/ if ( value & BufferUsageFlagBits2::eDescriptorHeapEXT ) result += " DescriptorHeapEXT |"; + if ( value & BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT ) + result += " MicromapBuildInputReadOnlyEXT |"; + if ( value & BufferUsageFlagBits2::eMicromapStorageEXT ) + result += " MicromapStorageEXT |"; if ( value & BufferUsageFlagBits2::eConditionalRenderingEXT ) result += " ConditionalRenderingEXT |"; if ( value & BufferUsageFlagBits2::eShaderBindingTableKHR ) @@ -2122,10 +2137,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " ResourceDescriptorBufferEXT |"; if ( value & BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT ) result += " PushDescriptorsDescriptorBufferEXT |"; - if ( value & BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT ) - result += " MicromapBuildInputReadOnlyEXT |"; - if ( value & BufferUsageFlagBits2::eMicromapStorageEXT ) - result += " MicromapStorageEXT |"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) if ( value & BufferUsageFlagBits2::eCompressedDataDgf1AMDX ) result += " CompressedDataDgf1AMDX |"; @@ -2224,8 +2235,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " RenderingFragmentShadingRateAttachmentKHR |"; if ( value & PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT ) result += " RenderingFragmentDensityMapAttachmentEXT |"; - if ( value & PipelineCreateFlagBits2::eRayTracingOpacityMicromapEXT ) - result += " RayTracingOpacityMicromapEXT |"; if ( value & PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT ) result += " ColorAttachmentFeedbackLoopEXT |"; if ( value & PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT ) @@ -2246,6 +2255,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " IndirectBindableEXT |"; if ( value & PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE ) result += " PerLayerFragmentDensityVALVE |"; + if ( value & PipelineCreateFlagBits2::eRayTracingOpacityMicromapKHR ) + result += " RayTracingOpacityMicromapKHR |"; + if ( value & PipelineCreateFlagBits2::eOpacityMicromapDisallowMixedSpecialIndexKHR ) + result += " OpacityMicromapDisallowMixedSpecialIndexKHR |"; if ( value & PipelineCreateFlagBits2::e64BitIndexingEXT ) result += " 64BitIndexingEXT |"; @@ -2325,6 +2338,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " PresentWait2 |"; if ( value & SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocation ) result += " DeferredMemoryAllocation |"; + if ( value & SwapchainCreateFlagBitsKHR::eMultisampledRenderToSingleSampledEXT ) + result += " MultisampledRenderToSingleSampledEXT |"; if ( result.size() > 1 ) result.back() = '}'; @@ -3113,6 +3128,43 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return "{}"; } + //=== VK_AMD_gpa_interface === + + VULKAN_HPP_INLINE std::string to_string( GpaSqShaderStageFlagsAMD value ) + { + std::string result = "{"; + if ( value & GpaSqShaderStageFlagBitsAMD::ePs ) + result += " Ps |"; + if ( value & GpaSqShaderStageFlagBitsAMD::eVs ) + result += " Vs |"; + if ( value & GpaSqShaderStageFlagBitsAMD::eGs ) + result += " Gs |"; + if ( value & GpaSqShaderStageFlagBitsAMD::eEs ) + result += " Es |"; + if ( value & GpaSqShaderStageFlagBitsAMD::eHs ) + result += " Hs |"; + if ( value & GpaSqShaderStageFlagBitsAMD::eLs ) + result += " Ls |"; + if ( value & GpaSqShaderStageFlagBitsAMD::eCs ) + result += " Cs |"; + + if ( result.size() > 1 ) + result.back() = '}'; + else + result = "{}"; + return result; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GpaPerfBlockPropertiesFlagsAMD ) + { + return "{}"; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PhysicalDeviceGpaPropertiesFlagsAMD ) + { + return "{}"; + } + //=== VK_EXT_descriptor_heap === VULKAN_HPP_INLINE std::string to_string( SpirvResourceTypeFlagsEXT value ) @@ -3194,10 +3246,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " ForceOpaque |"; if ( value & GeometryInstanceFlagBitsKHR::eForceNoOpaque ) result += " ForceNoOpaque |"; - if ( value & GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT ) - result += " ForceOpacityMicromap2StateEXT |"; - if ( value & GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT ) - result += " DisableOpacityMicromapsEXT |"; + if ( value & GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2State ) + result += " ForceOpacityMicromap2State |"; + if ( value & GeometryInstanceFlagBitsKHR::eDisableOpacityMicromaps ) + result += " DisableOpacityMicromaps |"; if ( result.size() > 1 ) result.back() = '}'; @@ -3221,10 +3273,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " LowMemory |"; if ( value & BuildAccelerationStructureFlagBitsKHR::eMotionNV ) result += " MotionNV |"; - if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT ) - result += " AllowOpacityMicromapUpdateEXT |"; - if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT ) - result += " AllowDisableOpacityMicromapsEXT |"; if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT ) result += " AllowOpacityMicromapDataUpdateEXT |"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) @@ -3235,6 +3283,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " AllowDataAccess |"; if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowClusterOpacityMicromapsNV ) result += " AllowClusterOpacityMicromapsNV |"; + if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdate ) + result += " AllowOpacityMicromapUpdate |"; + if ( value & BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromaps ) + result += " AllowDisableOpacityMicromaps |"; + if ( value & BuildAccelerationStructureFlagBitsKHR::eMicromapLossy ) + result += " MicromapLossy |"; if ( result.size() > 1 ) result.back() = '}'; @@ -3457,6 +3511,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " BitstreamBytesWritten |"; if ( value & VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides ) result += " BitstreamHasOverrides |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::eAverageQuantization ) + result += " AverageQuantization |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::eMinQuantization ) + result += " MinQuantization |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::eMaxQuantization ) + result += " MaxQuantization |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::eIntraPixels ) + result += " IntraPixels |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::eInterPixels ) + result += " InterPixels |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::eSkippedPixels ) + result += " SkippedPixels |"; + if ( value & VideoEncodeFeedbackFlagBitsKHR::ePicturePartitionCount ) + result += " PicturePartitionCount |"; if ( result.size() > 1 ) result.back() = '}'; @@ -4054,6 +4122,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE result += " FragmentDensityMapAttachment |"; if ( value & ShaderCreateFlagBitsEXT::eIndirectBindable ) result += " IndirectBindable |"; + if ( value & ShaderCreateFlagBitsEXT::eOpacityMicromapDisallowMixedSpecialIndex ) + result += " OpacityMicromapDisallowMixedSpecialIndex |"; if ( value & ShaderCreateFlagBitsEXT::e64BitIndexing ) result += " 64BitIndexing |"; if ( value & ShaderCreateFlagBitsEXT::eIndependentSetsKHR ) @@ -4446,6 +4516,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #endif /*VK_USE_PLATFORM_OHOS*/ + //=== VK_KHR_video_encode_feedback2 === + + VULKAN_HPP_INLINE std::string to_string( VideoEncodePerPartitionFeedbackFlagsKHR value ) + { + std::string result = "{"; + if ( value & VideoEncodePerPartitionFeedbackFlagBitsKHR::eStatus ) + result += " Status |"; + if ( value & VideoEncodePerPartitionFeedbackFlagBitsKHR::eBitstreamBufferOffset ) + result += " BitstreamBufferOffset |"; + if ( value & VideoEncodePerPartitionFeedbackFlagBitsKHR::eBitstreamBytesWritten ) + result += " BitstreamBytesWritten |"; + + if ( result.size() > 1 ) + result.back() = '}'; + else + result = "{}"; + return result; + } + //=== VK_ARM_performance_counters_by_region === VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceCounterDescriptionFlagsARM ) @@ -4572,6 +4661,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return result; } + //=== VK_EXT_cooperative_matrix_maintenance1 === + + VULKAN_HPP_INLINE std::string to_string( CooperativeMatrixFlagsEXT value ) + { + std::string result = "{"; + if ( value & CooperativeMatrixFlagBitsEXT::eSaturatingAccumulation ) + result += " SaturatingAccumulation |"; + + if ( result.size() > 1 ) + result.back() = '}'; + else + result = "{}"; + return result; + } + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === @@ -4581,6 +4685,127 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #endif /*VK_USE_PLATFORM_UBM_SEC*/ + //=== VK_KHR_extended_flags === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FormatFeatureFlags4KHR ) + { + return "{}"; + } + + VULKAN_HPP_INLINE std::string to_string( ImageUsageFlags2KHR value ) + { + std::string result = "{"; + if ( value & ImageUsageFlagBits2KHR::eTransferSrc ) + result += " TransferSrc |"; + if ( value & ImageUsageFlagBits2KHR::eTransferDst ) + result += " TransferDst |"; + if ( value & ImageUsageFlagBits2KHR::eSampled ) + result += " Sampled |"; + if ( value & ImageUsageFlagBits2KHR::eStorage ) + result += " Storage |"; + if ( value & ImageUsageFlagBits2KHR::eColorAttachment ) + result += " ColorAttachment |"; + if ( value & ImageUsageFlagBits2KHR::eDepthStencilAttachment ) + result += " DepthStencilAttachment |"; + if ( value & ImageUsageFlagBits2KHR::eTransientAttachment ) + result += " TransientAttachment |"; + if ( value & ImageUsageFlagBits2KHR::eInputAttachment ) + result += " InputAttachment |"; + if ( value & ImageUsageFlagBits2KHR::eFragmentShadingRateAttachment ) + result += " FragmentShadingRateAttachment |"; + if ( value & ImageUsageFlagBits2KHR::eFragmentDensityMapEXT ) + result += " FragmentDensityMapEXT |"; + if ( value & ImageUsageFlagBits2KHR::eVideoDecodeDst ) + result += " VideoDecodeDst |"; + if ( value & ImageUsageFlagBits2KHR::eVideoDecodeSrc ) + result += " VideoDecodeSrc |"; + if ( value & ImageUsageFlagBits2KHR::eVideoDecodeDpb ) + result += " VideoDecodeDpb |"; + if ( value & ImageUsageFlagBits2KHR::eVideoEncodeDst ) + result += " VideoEncodeDst |"; + if ( value & ImageUsageFlagBits2KHR::eVideoEncodeSrc ) + result += " VideoEncodeSrc |"; + if ( value & ImageUsageFlagBits2KHR::eVideoEncodeDpb ) + result += " VideoEncodeDpb |"; + if ( value & ImageUsageFlagBits2KHR::eInvocationMaskHUAWEI ) + result += " InvocationMaskHUAWEI |"; + if ( value & ImageUsageFlagBits2KHR::eAttachmentFeedbackLoopEXT ) + result += " AttachmentFeedbackLoopEXT |"; + if ( value & ImageUsageFlagBits2KHR::eSampleWeightQCOM ) + result += " SampleWeightQCOM |"; + if ( value & ImageUsageFlagBits2KHR::eSampleBlockMatchQCOM ) + result += " SampleBlockMatchQCOM |"; + if ( value & ImageUsageFlagBits2KHR::eHostTransfer ) + result += " HostTransfer |"; + if ( value & ImageUsageFlagBits2KHR::eTensorAliasingARM ) + result += " TensorAliasingARM |"; + if ( value & ImageUsageFlagBits2KHR::eVideoEncodeQuantizationDeltaMap ) + result += " VideoEncodeQuantizationDeltaMap |"; + if ( value & ImageUsageFlagBits2KHR::eVideoEncodeEmphasisMap ) + result += " VideoEncodeEmphasisMap |"; + if ( value & ImageUsageFlagBits2KHR::eTileMemoryQCOM ) + result += " TileMemoryQCOM |"; + + if ( result.size() > 1 ) + result.back() = '}'; + else + result = "{}"; + return result; + } + + VULKAN_HPP_INLINE std::string to_string( ImageCreateFlags2KHR value ) + { + std::string result = "{"; + if ( value & ImageCreateFlagBits2KHR::eSparseBinding ) + result += " SparseBinding |"; + if ( value & ImageCreateFlagBits2KHR::eSparseResidency ) + result += " SparseResidency |"; + if ( value & ImageCreateFlagBits2KHR::eSparseAliased ) + result += " SparseAliased |"; + if ( value & ImageCreateFlagBits2KHR::eMutableFormat ) + result += " MutableFormat |"; + if ( value & ImageCreateFlagBits2KHR::eCubeCompatible ) + result += " CubeCompatible |"; + if ( value & ImageCreateFlagBits2KHR::eAliasSingleLayerDescriptor ) + result += " AliasSingleLayerDescriptor |"; + if ( value & ImageCreateFlagBits2KHR::e2DArrayCompatible ) + result += " 2DArrayCompatible |"; + if ( value & ImageCreateFlagBits2KHR::eSplitInstanceBindRegions ) + result += " SplitInstanceBindRegions |"; + if ( value & ImageCreateFlagBits2KHR::eBlockTexelViewCompatible ) + result += " BlockTexelViewCompatible |"; + if ( value & ImageCreateFlagBits2KHR::eExtendedUsage ) + result += " ExtendedUsage |"; + if ( value & ImageCreateFlagBits2KHR::eDisjoint ) + result += " Disjoint |"; + if ( value & ImageCreateFlagBits2KHR::eAlias ) + result += " Alias |"; + if ( value & ImageCreateFlagBits2KHR::eProtected ) + result += " Protected |"; + if ( value & ImageCreateFlagBits2KHR::eSampleLocationsCompatibleDepthEXT ) + result += " SampleLocationsCompatibleDepthEXT |"; + if ( value & ImageCreateFlagBits2KHR::eCornerSampledNV ) + result += " CornerSampledNV |"; + if ( value & ImageCreateFlagBits2KHR::eSubsampledEXT ) + result += " SubsampledEXT |"; + if ( value & ImageCreateFlagBits2KHR::eFragmentDensityMapOffsetEXT ) + result += " FragmentDensityMapOffsetEXT |"; + if ( value & ImageCreateFlagBits2KHR::eDescriptorBufferCaptureReplayEXT ) + result += " DescriptorBufferCaptureReplayEXT |"; + if ( value & ImageCreateFlagBits2KHR::e2DViewCompatibleEXT ) + result += " 2DViewCompatibleEXT |"; + if ( value & ImageCreateFlagBits2KHR::eMultisampledRenderToSingleSampledEXT ) + result += " MultisampledRenderToSingleSampledEXT |"; + if ( value & ImageCreateFlagBits2KHR::eVideoProfileIndependent ) + result += " VideoProfileIndependent |"; + + if ( result.size() > 1 ) + result.back() = '}'; + else + result = "{}"; + return result; + } + //======================= //=== ENUMs to_string === //======================= @@ -5126,6 +5351,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::eExternalFormatANDROID : return "ExternalFormatANDROID"; case StructureType::eAndroidHardwareBufferFormatProperties2ANDROID: return "AndroidHardwareBufferFormatProperties2ANDROID"; #endif /*VK_USE_PLATFORM_ANDROID_KHR*/ + case StructureType::ePhysicalDeviceGpaFeaturesAMD : return "PhysicalDeviceGpaFeaturesAMD"; + case StructureType::ePhysicalDeviceGpaPropertiesAMD : return "PhysicalDeviceGpaPropertiesAMD"; + case StructureType::eGpaSampleBeginInfoAMD : return "GpaSampleBeginInfoAMD"; + case StructureType::eGpaSessionCreateInfoAMD : return "GpaSessionCreateInfoAMD"; + case StructureType::eGpaDeviceClockModeInfoAMD : return "GpaDeviceClockModeInfoAMD"; + case StructureType::ePhysicalDeviceGpaProperties2AMD: return "PhysicalDeviceGpaProperties2AMD"; + case StructureType::eGpaDeviceGetClockInfoAMD : return "GpaDeviceGetClockInfoAMD"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) case StructureType::ePhysicalDeviceShaderEnqueueFeaturesAMDX : return "PhysicalDeviceShaderEnqueueFeaturesAMDX"; case StructureType::ePhysicalDeviceShaderEnqueuePropertiesAMDX: return "PhysicalDeviceShaderEnqueuePropertiesAMDX"; @@ -5215,6 +5447,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceImageViewImageFormatInfoEXT : return "PhysicalDeviceImageViewImageFormatInfoEXT"; case StructureType::eFilterCubicImageViewImageFormatPropertiesEXT : return "FilterCubicImageViewImageFormatPropertiesEXT"; case StructureType::ePhysicalDeviceCooperativeMatrixConversionFeaturesQCOM: return "PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM"; + case StructureType::ePhysicalDeviceElapsedTimerQueryFeaturesQCOM : return "PhysicalDeviceElapsedTimerQueryFeaturesQCOM"; case StructureType::eImportMemoryHostPointerInfoEXT : return "ImportMemoryHostPointerInfoEXT"; case StructureType::eMemoryHostPointerPropertiesEXT : return "MemoryHostPointerPropertiesEXT"; case StructureType::ePhysicalDeviceExternalMemoryHostPropertiesEXT : return "PhysicalDeviceExternalMemoryHostPropertiesEXT"; @@ -5368,6 +5601,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::ePerfHintInfoQCOM : return "PerfHintInfoQCOM"; case StructureType::ePhysicalDeviceQueuePerfHintFeaturesQCOM : return "PhysicalDeviceQueuePerfHintFeaturesQCOM"; case StructureType::ePhysicalDeviceQueuePerfHintPropertiesQCOM : return "PhysicalDeviceQueuePerfHintPropertiesQCOM"; + case StructureType::ePhysicalDeviceImageProcessing3FeaturesQCOM : return "PhysicalDeviceImageProcessing3FeaturesQCOM"; + case StructureType::ePhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM : return "PhysicalDeviceShaderMultipleWaitQueuesFeaturesQCOM"; + case StructureType::ePhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM : return "PhysicalDeviceShaderMultipleWaitQueuesPropertiesQCOM"; + case StructureType::ePhysicalDeviceShaderSplitBarrierFeaturesEXT : return "PhysicalDeviceShaderSplitBarrierFeaturesEXT"; + case StructureType::ePhysicalDeviceShaderSplitBarrierPropertiesEXT : return "PhysicalDeviceShaderSplitBarrierPropertiesEXT"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) case StructureType::eCudaModuleCreateInfoNV : return "CudaModuleCreateInfoNV"; case StructureType::eCudaFunctionCreateInfoNV : return "CudaFunctionCreateInfoNV"; @@ -5685,7 +5923,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::eLayerSettingsCreateInfoEXT : return "LayerSettingsCreateInfoEXT"; case StructureType::ePhysicalDeviceShaderCoreBuiltinsFeaturesARM : return "PhysicalDeviceShaderCoreBuiltinsFeaturesARM"; case StructureType::ePhysicalDeviceShaderCoreBuiltinsPropertiesARM : return "PhysicalDeviceShaderCoreBuiltinsPropertiesARM"; - case StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT : return "PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT"; case StructureType::ePhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT : return "PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT"; case StructureType::ePhysicalDeviceInternallySynchronizedQueuesFeaturesKHR : return "PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR"; case StructureType::eLatencySleepModeInfoNV : return "LatencySleepModeInfoNV"; @@ -5815,6 +6052,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceLayeredApiVulkanPropertiesKHR : return "PhysicalDeviceLayeredApiVulkanPropertiesKHR"; case StructureType::ePhysicalDeviceShaderAtomicFloat16VectorFeaturesNV : return "PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV"; case StructureType::ePhysicalDeviceShaderReplicatedCompositesFeaturesEXT : return "PhysicalDeviceShaderReplicatedCompositesFeaturesEXT"; + case StructureType::eTensorExplicitTilingFormatPropertiesARM : return "TensorExplicitTilingFormatPropertiesARM"; + case StructureType::eTensorRollingBackingCreateInfoARM : return "TensorRollingBackingCreateInfoARM"; case StructureType::ePhysicalDeviceShaderFloat8FeaturesEXT : return "PhysicalDeviceShaderFloat8FeaturesEXT"; case StructureType::ePhysicalDeviceRayTracingValidationFeaturesNV : return "PhysicalDeviceRayTracingValidationFeaturesNV"; case StructureType::ePhysicalDeviceClusterAccelerationStructureFeaturesNV : return "PhysicalDeviceClusterAccelerationStructureFeaturesNV"; @@ -5872,12 +6111,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #if defined( VK_USE_PLATFORM_OHOS ) case StructureType::eSurfaceCreateInfoOHOS: return "SurfaceCreateInfoOHOS"; #endif /*VK_USE_PLATFORM_OHOS*/ - case StructureType::ePhysicalDeviceHdrVividFeaturesHUAWEI : return "PhysicalDeviceHdrVividFeaturesHUAWEI"; - case StructureType::eHdrVividDynamicMetadataHUAWEI : return "HdrVividDynamicMetadataHUAWEI"; - case StructureType::ePhysicalDeviceCooperativeMatrix2FeaturesNV : return "PhysicalDeviceCooperativeMatrix2FeaturesNV"; - case StructureType::eCooperativeMatrixFlexibleDimensionsPropertiesNV : return "CooperativeMatrixFlexibleDimensionsPropertiesNV"; - case StructureType::ePhysicalDeviceCooperativeMatrix2PropertiesNV : return "PhysicalDeviceCooperativeMatrix2PropertiesNV"; - case StructureType::ePhysicalDevicePipelineOpacityMicromapFeaturesARM: return "PhysicalDevicePipelineOpacityMicromapFeaturesARM"; + case StructureType::ePhysicalDeviceHdrVividFeaturesHUAWEI : return "PhysicalDeviceHdrVividFeaturesHUAWEI"; + case StructureType::eHdrVividDynamicMetadataHUAWEI : return "HdrVividDynamicMetadataHUAWEI"; + case StructureType::ePhysicalDeviceCooperativeMatrix2FeaturesNV : return "PhysicalDeviceCooperativeMatrix2FeaturesNV"; + case StructureType::eCooperativeMatrixFlexibleDimensionsPropertiesNV : return "CooperativeMatrixFlexibleDimensionsPropertiesNV"; + case StructureType::ePhysicalDeviceCooperativeMatrix2PropertiesNV : return "PhysicalDeviceCooperativeMatrix2PropertiesNV"; + case StructureType::ePhysicalDevicePipelineOpacityMicromapFeaturesARM : return "PhysicalDevicePipelineOpacityMicromapFeaturesARM"; + case StructureType::ePhysicalDeviceVideoEncodeFeedback2FeaturesKHR : return "PhysicalDeviceVideoEncodeFeedback2FeaturesKHR"; + case StructureType::eVideoEncodeFeedback2CapabilitiesKHR : return "VideoEncodeFeedback2CapabilitiesKHR"; + case StructureType::eQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR: return "QueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR"; #if defined( VK_USE_PLATFORM_METAL_EXT ) case StructureType::eImportMemoryMetalHandleInfoEXT: return "ImportMemoryMetalHandleInfoEXT"; case StructureType::eMemoryMetalHandlePropertiesEXT: return "MemoryMetalHandlePropertiesEXT"; @@ -5902,11 +6144,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceRobustness2PropertiesKHR : return "PhysicalDeviceRobustness2PropertiesKHR"; case StructureType::eSetPresentConfigNV : return "SetPresentConfigNV"; case StructureType::ePhysicalDevicePresentMeteringFeaturesNV : return "PhysicalDevicePresentMeteringFeaturesNV"; + case StructureType::ePhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT : return "PhysicalDeviceMultisampledRenderToSwapchainFeaturesEXT"; + case StructureType::eSwapchainFlagsSurfaceCapabilitiesEXT : return "SwapchainFlagsSurfaceCapabilitiesEXT"; case StructureType::ePhysicalDeviceFragmentDensityMapOffsetFeaturesEXT : return "PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT"; case StructureType::ePhysicalDeviceFragmentDensityMapOffsetPropertiesEXT : return "PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT"; case StructureType::eRenderPassFragmentDensityMapOffsetEndInfoEXT : return "RenderPassFragmentDensityMapOffsetEndInfoEXT"; case StructureType::ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT : return "PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT"; case StructureType::ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR : return "PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR"; + case StructureType::ePhysicalDeviceOpacityMicromapFeaturesKHR : return "PhysicalDeviceOpacityMicromapFeaturesKHR"; + case StructureType::ePhysicalDeviceOpacityMicromapPropertiesKHR : return "PhysicalDeviceOpacityMicromapPropertiesKHR"; + case StructureType::eAccelerationStructureGeometryMicromapDataKHR : return "AccelerationStructureGeometryMicromapDataKHR"; + case StructureType::eAccelerationStructureTrianglesOpacityMicromapKHR : return "AccelerationStructureTrianglesOpacityMicromapKHR"; case StructureType::ePhysicalDeviceShader64BitIndexingFeaturesEXT : return "PhysicalDeviceShader64BitIndexingFeaturesEXT"; case StructureType::ePhysicalDeviceCustomResolveFeaturesEXT : return "PhysicalDeviceCustomResolveFeaturesEXT"; case StructureType::eBeginCustomResolveInfoEXT : return "BeginCustomResolveInfoEXT"; @@ -5933,12 +6181,24 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::ePhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT: return "PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT"; case StructureType::eComputeOccupancyPriorityParametersNV : return "ComputeOccupancyPriorityParametersNV"; case StructureType::ePhysicalDeviceComputeOccupancyPriorityFeaturesNV : return "PhysicalDeviceComputeOccupancyPriorityFeaturesNV"; + case StructureType::ePhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR : return "PhysicalDevicePipelineLibraryGroupHandlesFeaturesKHR"; case StructureType::ePhysicalDeviceMaintenance11FeaturesKHR : return "PhysicalDeviceMaintenance11FeaturesKHR"; case StructureType::eQueueFamilyOptimalImageTransferGranularityPropertiesKHR : return "QueueFamilyOptimalImageTransferGranularityPropertiesKHR"; + case StructureType::ePhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT : return "PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT"; + case StructureType::ePhysicalDeviceCooperativeMatrixInfo2EXT : return "PhysicalDeviceCooperativeMatrixInfo2EXT"; + case StructureType::eCooperativeMatrixProperties2EXT : return "CooperativeMatrixProperties2EXT"; case StructureType::ePhysicalDeviceShaderSubgroupPartitionedFeaturesEXT : return "PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT"; #if defined( VK_USE_PLATFORM_UBM_SEC ) case StructureType::eUbmSurfaceCreateInfoSEC: return "UbmSurfaceCreateInfoSEC"; #endif /*VK_USE_PLATFORM_UBM_SEC*/ + case StructureType::eFormatProperties4KHR : return "FormatProperties4KHR"; + case StructureType::eImageCreateFlags2CreateInfoKHR : return "ImageCreateFlags2CreateInfoKHR"; + case StructureType::eImageUsageFlags2CreateInfoKHR : return "ImageUsageFlags2CreateInfoKHR"; + case StructureType::eImageViewUsage2CreateInfoKHR : return "ImageViewUsage2CreateInfoKHR"; + case StructureType::ePhysicalDeviceExtendedFlagsFeaturesKHR : return "PhysicalDeviceExtendedFlagsFeaturesKHR"; + case StructureType::eImageStencilUsage2CreateInfoKHR : return "ImageStencilUsage2CreateInfoKHR"; + case StructureType::eSharedPresentSurfaceCapabilities2KHR : return "SharedPresentSurfaceCapabilities2KHR"; + case StructureType::ePhysicalDeviceShaderOcpMicroscalingTypesFeaturesEXT : return "PhysicalDeviceShaderOcpMicroscalingTypesFeaturesEXT"; case StructureType::ePhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE: return "PhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE"; case StructureType::ePhysicalDeviceThrottleHintFeaturesSEC : return "PhysicalDeviceThrottleHintFeaturesSEC"; case StructureType::eThrottleHintSubmitInfoSEC : return "ThrottleHintSubmitInfoSEC"; @@ -5946,8 +6206,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case StructureType::eDataGraphPipelineSessionNeuralStatisticsCreateInfoARM: return "DataGraphPipelineSessionNeuralStatisticsCreateInfoARM"; case StructureType::ePhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM: return "PhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM"; - case StructureType::ePhysicalDevicePrimitiveRestartIndexFeaturesEXT: return "PhysicalDevicePrimitiveRestartIndexFeaturesEXT"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case StructureType::ePhysicalDevicePrimitiveRestartIndexFeaturesEXT : return "PhysicalDevicePrimitiveRestartIndexFeaturesEXT"; + case StructureType::ePhysicalDeviceImageTilingControlFeaturesEXT : return "PhysicalDeviceImageTilingControlFeaturesEXT"; + case StructureType::eImageTilingControlCreateInfoEXT : return "ImageTilingControlCreateInfoEXT"; + case StructureType::ePhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV: return "PhysicalDeviceCooperativeMatrixDecodeVectorFeaturesNV"; + case StructureType::ePhysicalDevicePrivateDataBaseHandleFeaturesNV : return "PhysicalDevicePrivateDataBaseHandleFeaturesNV"; + case StructureType::ePhysicalDeviceInfoPropertiesINTEL : return "PhysicalDeviceInfoPropertiesINTEL"; + case StructureType::ePhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE: + return "PhysicalDeviceBufferDeviceAddressAllocationAlignmentFeaturesVALVE"; + case StructureType::ePhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE: + return "PhysicalDeviceBufferDeviceAddressAllocationAlignmentPropertiesVALVE"; + case StructureType::eBufferDeviceAddressAlignmentAllocateInfoVALVE: return "BufferDeviceAddressAlignmentAllocateInfoVALVE"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -5994,6 +6264,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case ObjectType::eCuModuleNVX : return "CuModuleNVX"; case ObjectType::eCuFunctionNVX : return "CuFunctionNVX"; case ObjectType::eDebugUtilsMessengerEXT : return "DebugUtilsMessengerEXT"; + case ObjectType::eGpaSessionAMD : return "GpaSessionAMD"; case ObjectType::eAccelerationStructureKHR : return "AccelerationStructureKHR"; case ObjectType::eValidationCacheEXT : return "ValidationCacheEXT"; case ObjectType::eAccelerationStructureNV : return "AccelerationStructureNV"; @@ -6034,6 +6305,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case VendorId::eMESA : return "MESA"; case VendorId::ePocl : return "Pocl"; case VendorId::eMobileye: return "Mobileye"; + case VendorId::eApe : return "Ape"; default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -6768,6 +7040,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case QueryType::eAccelerationStructureCompactedSizeKHR : return "AccelerationStructureCompactedSizeKHR"; case QueryType::eAccelerationStructureSerializationSizeKHR : return "AccelerationStructureSerializationSizeKHR"; case QueryType::eAccelerationStructureCompactedSizeNV : return "AccelerationStructureCompactedSizeNV"; + case QueryType::eTimeElapsedQCOM : return "TimeElapsedQCOM"; case QueryType::ePerformanceQueryINTEL : return "PerformanceQueryINTEL"; case QueryType::eVideoEncodeFeedbackKHR : return "VideoEncodeFeedbackKHR"; case QueryType::eMeshPrimitivesGeneratedEXT : return "MeshPrimitivesGeneratedEXT"; @@ -7118,11 +7391,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case PipelineCreateFlagBits::eRayTracingAllowMotionNV : return "RayTracingAllowMotionNV"; case PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT : return "ColorAttachmentFeedbackLoopEXT"; case PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT : return "DepthStencilAttachmentFeedbackLoopEXT"; - case PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT : return "RayTracingOpacityMicromapEXT"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) case PipelineCreateFlagBits::eRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - default: return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case PipelineCreateFlagBits::eRayTracingOpacityMicromapKHR: return "RayTracingOpacityMicromapKHR"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -7994,6 +8267,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case DriverId::eMesaHoneykrisp : return "MesaHoneykrisp"; case DriverId::eVulkanScEmulationOnVulkan: return "VulkanScEmulationOnVulkan"; case DriverId::eMesaKosmickrisp : return "MesaKosmickrisp"; + case DriverId::eMesaGfxstream : return "MesaGfxstream"; + case DriverId::eApeSoft : return "ApeSoft"; + case DriverId::eReserved31 : return "Reserved31"; default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -8086,9 +8362,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PrivateDataSlotCreateFlagBits ) + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PrivateDataSlotCreateFlagBits value ) { - return "(void)"; + switch ( value ) + { + case PrivateDataSlotCreateFlagBits::eBaseObjectHandleNV: return "BaseObjectHandleNV"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } } VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PipelineStageFlagBits2 value ) @@ -8253,6 +8533,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case FormatFeatureFlagBits2::eFragmentShadingRateAttachmentKHR : return "FragmentShadingRateAttachmentKHR"; case FormatFeatureFlagBits2::eVideoEncodeInputKHR : return "VideoEncodeInputKHR"; case FormatFeatureFlagBits2::eVideoEncodeDpbKHR : return "VideoEncodeDpbKHR"; + case FormatFeatureFlagBits2::eBlockMatchingSxdQCOM : return "BlockMatchingSxdQCOM"; case FormatFeatureFlagBits2::eAccelerationStructureRadiusBufferNV : return "AccelerationStructureRadiusBufferNV"; case FormatFeatureFlagBits2::eLinearColorAttachmentNV : return "LinearColorAttachmentNV"; case FormatFeatureFlagBits2::eWeightImageQCOM : return "WeightImageQCOM"; @@ -8268,6 +8549,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case FormatFeatureFlagBits2::eCopyImageIndirectDstKHR : return "CopyImageIndirectDstKHR"; case FormatFeatureFlagBits2::eVideoEncodeQuantizationDeltaMapKHR : return "VideoEncodeQuantizationDeltaMapKHR"; case FormatFeatureFlagBits2::eVideoEncodeEmphasisMapKHR : return "VideoEncodeEmphasisMapKHR"; + case FormatFeatureFlagBits2::eSampledImageFilterLinear2DIMG : return "SampledImageFilterLinear2DIMG"; case FormatFeatureFlagBits2::eDepthCopyOnComputeQueueKHR : return "DepthCopyOnComputeQueueKHR"; case FormatFeatureFlagBits2::eDepthCopyOnTransferQueueKHR : return "DepthCopyOnTransferQueueKHR"; case FormatFeatureFlagBits2::eStencilCopyOnComputeQueueKHR : return "StencilCopyOnComputeQueueKHR"; @@ -8372,6 +8654,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case BufferUsageFlagBits2::eExecutionGraphScratchAMDX: return "ExecutionGraphScratchAMDX"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ case BufferUsageFlagBits2::eDescriptorHeapEXT : return "DescriptorHeapEXT"; + case BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT : return "MicromapBuildInputReadOnlyEXT"; + case BufferUsageFlagBits2::eMicromapStorageEXT : return "MicromapStorageEXT"; case BufferUsageFlagBits2::eConditionalRenderingEXT : return "ConditionalRenderingEXT"; case BufferUsageFlagBits2::eShaderBindingTableKHR : return "ShaderBindingTableKHR"; case BufferUsageFlagBits2::eTransformFeedbackBufferEXT : return "TransformFeedbackBufferEXT"; @@ -8385,8 +8669,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case BufferUsageFlagBits2::eSamplerDescriptorBufferEXT : return "SamplerDescriptorBufferEXT"; case BufferUsageFlagBits2::eResourceDescriptorBufferEXT : return "ResourceDescriptorBufferEXT"; case BufferUsageFlagBits2::ePushDescriptorsDescriptorBufferEXT : return "PushDescriptorsDescriptorBufferEXT"; - case BufferUsageFlagBits2::eMicromapBuildInputReadOnlyEXT : return "MicromapBuildInputReadOnlyEXT"; - case BufferUsageFlagBits2::eMicromapStorageEXT : return "MicromapStorageEXT"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) case BufferUsageFlagBits2::eCompressedDataDgf1AMDX: return "CompressedDataDgf1AMDX"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ @@ -8443,20 +8725,21 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case PipelineCreateFlagBits2::eRayTracingAllowMotionNV : return "RayTracingAllowMotionNV"; case PipelineCreateFlagBits2::eRenderingFragmentShadingRateAttachmentKHR : return "RenderingFragmentShadingRateAttachmentKHR"; case PipelineCreateFlagBits2::eRenderingFragmentDensityMapAttachmentEXT : return "RenderingFragmentDensityMapAttachmentEXT"; - case PipelineCreateFlagBits2::eRayTracingOpacityMicromapEXT : return "RayTracingOpacityMicromapEXT"; case PipelineCreateFlagBits2::eColorAttachmentFeedbackLoopEXT : return "ColorAttachmentFeedbackLoopEXT"; case PipelineCreateFlagBits2::eDepthStencilAttachmentFeedbackLoopEXT : return "DepthStencilAttachmentFeedbackLoopEXT"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) case PipelineCreateFlagBits2::eRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - case PipelineCreateFlagBits2::eDescriptorBufferEXT : return "DescriptorBufferEXT"; - case PipelineCreateFlagBits2::eDisallowOpacityMicromapARM : return "DisallowOpacityMicromapARM"; - case PipelineCreateFlagBits2::eInstrumentShadersARM : return "InstrumentShadersARM"; - case PipelineCreateFlagBits2::eCaptureDataKHR : return "CaptureDataKHR"; - case PipelineCreateFlagBits2::eIndirectBindableEXT : return "IndirectBindableEXT"; - case PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE: return "PerLayerFragmentDensityVALVE"; - case PipelineCreateFlagBits2::e64BitIndexingEXT : return "64BitIndexingEXT"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case PipelineCreateFlagBits2::eDescriptorBufferEXT : return "DescriptorBufferEXT"; + case PipelineCreateFlagBits2::eDisallowOpacityMicromapARM : return "DisallowOpacityMicromapARM"; + case PipelineCreateFlagBits2::eInstrumentShadersARM : return "InstrumentShadersARM"; + case PipelineCreateFlagBits2::eCaptureDataKHR : return "CaptureDataKHR"; + case PipelineCreateFlagBits2::eIndirectBindableEXT : return "IndirectBindableEXT"; + case PipelineCreateFlagBits2::ePerLayerFragmentDensityVALVE : return "PerLayerFragmentDensityVALVE"; + case PipelineCreateFlagBits2::eRayTracingOpacityMicromapKHR : return "RayTracingOpacityMicromapKHR"; + case PipelineCreateFlagBits2::eOpacityMicromapDisallowMixedSpecialIndexKHR: return "OpacityMicromapDisallowMixedSpecialIndexKHR"; + case PipelineCreateFlagBits2::e64BitIndexingEXT : return "64BitIndexingEXT"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -8548,14 +8831,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { switch ( value ) { - case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions: return "SplitInstanceBindRegions"; - case SwapchainCreateFlagBitsKHR::eProtected : return "Protected"; - case SwapchainCreateFlagBitsKHR::eMutableFormat : return "MutableFormat"; - case SwapchainCreateFlagBitsKHR::ePresentTimingEXT : return "PresentTimingEXT"; - case SwapchainCreateFlagBitsKHR::ePresentId2 : return "PresentId2"; - case SwapchainCreateFlagBitsKHR::ePresentWait2 : return "PresentWait2"; - case SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocation: return "DeferredMemoryAllocation"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case SwapchainCreateFlagBitsKHR::eSplitInstanceBindRegions : return "SplitInstanceBindRegions"; + case SwapchainCreateFlagBitsKHR::eProtected : return "Protected"; + case SwapchainCreateFlagBitsKHR::eMutableFormat : return "MutableFormat"; + case SwapchainCreateFlagBitsKHR::ePresentTimingEXT : return "PresentTimingEXT"; + case SwapchainCreateFlagBitsKHR::ePresentId2 : return "PresentId2"; + case SwapchainCreateFlagBitsKHR::ePresentWait2 : return "PresentWait2"; + case SwapchainCreateFlagBitsKHR::eDeferredMemoryAllocation : return "DeferredMemoryAllocation"; + case SwapchainCreateFlagBitsKHR::eMultisampledRenderToSingleSampledEXT: return "MultisampledRenderToSingleSampledEXT"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -9328,6 +9612,123 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return "(void)"; } + //=== VK_AMD_gpa_interface === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GpaSqShaderStageFlagBitsAMD value ) + { + switch ( value ) + { + case GpaSqShaderStageFlagBitsAMD::ePs: return "Ps"; + case GpaSqShaderStageFlagBitsAMD::eVs: return "Vs"; + case GpaSqShaderStageFlagBitsAMD::eGs: return "Gs"; + case GpaSqShaderStageFlagBitsAMD::eEs: return "Es"; + case GpaSqShaderStageFlagBitsAMD::eHs: return "Hs"; + case GpaSqShaderStageFlagBitsAMD::eLs: return "Ls"; + case GpaSqShaderStageFlagBitsAMD::eCs: return "Cs"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GpaPerfBlockAMD value ) + { + switch ( value ) + { + case GpaPerfBlockAMD::eCpf : return "Cpf"; + case GpaPerfBlockAMD::eIa : return "Ia"; + case GpaPerfBlockAMD::eVgt : return "Vgt"; + case GpaPerfBlockAMD::ePa : return "Pa"; + case GpaPerfBlockAMD::eSc : return "Sc"; + case GpaPerfBlockAMD::eSpi : return "Spi"; + case GpaPerfBlockAMD::eSq : return "Sq"; + case GpaPerfBlockAMD::eSx : return "Sx"; + case GpaPerfBlockAMD::eTa : return "Ta"; + case GpaPerfBlockAMD::eTd : return "Td"; + case GpaPerfBlockAMD::eTcp : return "Tcp"; + case GpaPerfBlockAMD::eTcc : return "Tcc"; + case GpaPerfBlockAMD::eTca : return "Tca"; + case GpaPerfBlockAMD::eDb : return "Db"; + case GpaPerfBlockAMD::eCb : return "Cb"; + case GpaPerfBlockAMD::eGds : return "Gds"; + case GpaPerfBlockAMD::eSrbm : return "Srbm"; + case GpaPerfBlockAMD::eGrbm : return "Grbm"; + case GpaPerfBlockAMD::eGrbmSe : return "GrbmSe"; + case GpaPerfBlockAMD::eRlc : return "Rlc"; + case GpaPerfBlockAMD::eDma : return "Dma"; + case GpaPerfBlockAMD::eMc : return "Mc"; + case GpaPerfBlockAMD::eCpg : return "Cpg"; + case GpaPerfBlockAMD::eCpc : return "Cpc"; + case GpaPerfBlockAMD::eWd : return "Wd"; + case GpaPerfBlockAMD::eTcs : return "Tcs"; + case GpaPerfBlockAMD::eAtc : return "Atc"; + case GpaPerfBlockAMD::eAtcL2 : return "AtcL2"; + case GpaPerfBlockAMD::eMcVmL2 : return "McVmL2"; + case GpaPerfBlockAMD::eEa : return "Ea"; + case GpaPerfBlockAMD::eRpb : return "Rpb"; + case GpaPerfBlockAMD::eRmi : return "Rmi"; + case GpaPerfBlockAMD::eUmcch : return "Umcch"; + case GpaPerfBlockAMD::eGe : return "Ge"; + case GpaPerfBlockAMD::eGl1A : return "Gl1A"; + case GpaPerfBlockAMD::eGl1C : return "Gl1C"; + case GpaPerfBlockAMD::eGl1Cg : return "Gl1Cg"; + case GpaPerfBlockAMD::eGl2A : return "Gl2A"; + case GpaPerfBlockAMD::eGl2C : return "Gl2C"; + case GpaPerfBlockAMD::eCha : return "Cha"; + case GpaPerfBlockAMD::eChc : return "Chc"; + case GpaPerfBlockAMD::eChcg : return "Chcg"; + case GpaPerfBlockAMD::eGus : return "Gus"; + case GpaPerfBlockAMD::eGcr : return "Gcr"; + case GpaPerfBlockAMD::ePh : return "Ph"; + case GpaPerfBlockAMD::eUtcl1 : return "Utcl1"; + case GpaPerfBlockAMD::eGeDist : return "GeDist"; + case GpaPerfBlockAMD::eGeSe : return "GeSe"; + case GpaPerfBlockAMD::eDfMall : return "DfMall"; + case GpaPerfBlockAMD::eSqWgp : return "SqWgp"; + case GpaPerfBlockAMD::ePc : return "Pc"; + case GpaPerfBlockAMD::eGl1Xa : return "Gl1Xa"; + case GpaPerfBlockAMD::eGl1Xc : return "Gl1Xc"; + case GpaPerfBlockAMD::eWgs : return "Wgs"; + case GpaPerfBlockAMD::eEacpwd : return "Eacpwd"; + case GpaPerfBlockAMD::eEase : return "Ease"; + case GpaPerfBlockAMD::eRlcuser: return "Rlcuser"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GpaSampleTypeAMD value ) + { + switch ( value ) + { + case GpaSampleTypeAMD::eCumulative: return "Cumulative"; + case GpaSampleTypeAMD::eTrace : return "Trace"; + case GpaSampleTypeAMD::eTiming : return "Timing"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GpaDeviceClockModeAMD value ) + { + switch ( value ) + { + case GpaDeviceClockModeAMD::eDefault : return "Default"; + case GpaDeviceClockModeAMD::eQuery : return "Query"; + case GpaDeviceClockModeAMD::eProfiling: return "Profiling"; + case GpaDeviceClockModeAMD::eMinMemory: return "MinMemory"; + case GpaDeviceClockModeAMD::eMinEngine: return "MinEngine"; + case GpaDeviceClockModeAMD::ePeak : return "Peak"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( GpaPerfBlockPropertiesFlagBitsAMD ) + { + return "(void)"; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PhysicalDeviceGpaPropertiesFlagBitsAMD ) + { + return "(void)"; + } + //=== VK_EXT_descriptor_heap === VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DescriptorMappingSourceEXT value ) @@ -9403,10 +9804,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { switch ( value ) { - case AccelerationStructureTypeKHR::eTopLevel : return "TopLevel"; - case AccelerationStructureTypeKHR::eBottomLevel: return "BottomLevel"; - case AccelerationStructureTypeKHR::eGeneric : return "Generic"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case AccelerationStructureTypeKHR::eTopLevel : return "TopLevel"; + case AccelerationStructureTypeKHR::eBottomLevel : return "BottomLevel"; + case AccelerationStructureTypeKHR::eGeneric : return "Generic"; + case AccelerationStructureTypeKHR::eOpacityMicromap: return "OpacityMicromap"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -9435,13 +9837,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { switch ( value ) { - case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable : return "TriangleFacingCullDisable"; - case GeometryInstanceFlagBitsKHR::eTriangleFlipFacing : return "TriangleFlipFacing"; - case GeometryInstanceFlagBitsKHR::eForceOpaque : return "ForceOpaque"; - case GeometryInstanceFlagBitsKHR::eForceNoOpaque : return "ForceNoOpaque"; - case GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2StateEXT: return "ForceOpacityMicromap2StateEXT"; - case GeometryInstanceFlagBitsKHR::eDisableOpacityMicromapsEXT : return "DisableOpacityMicromapsEXT"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case GeometryInstanceFlagBitsKHR::eTriangleFacingCullDisable : return "TriangleFacingCullDisable"; + case GeometryInstanceFlagBitsKHR::eTriangleFlipFacing : return "TriangleFlipFacing"; + case GeometryInstanceFlagBitsKHR::eForceOpaque : return "ForceOpaque"; + case GeometryInstanceFlagBitsKHR::eForceNoOpaque : return "ForceNoOpaque"; + case GeometryInstanceFlagBitsKHR::eForceOpacityMicromap2State: return "ForceOpacityMicromap2State"; + case GeometryInstanceFlagBitsKHR::eDisableOpacityMicromaps : return "DisableOpacityMicromaps"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -9455,14 +9857,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case BuildAccelerationStructureFlagBitsKHR::ePreferFastBuild : return "PreferFastBuild"; case BuildAccelerationStructureFlagBitsKHR::eLowMemory : return "LowMemory"; case BuildAccelerationStructureFlagBitsKHR::eMotionNV : return "MotionNV"; - case BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdateEXT : return "AllowOpacityMicromapUpdateEXT"; - case BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromapsEXT : return "AllowDisableOpacityMicromapsEXT"; case BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapDataUpdateEXT: return "AllowOpacityMicromapDataUpdateEXT"; #if defined( VK_ENABLE_BETA_EXTENSIONS ) case BuildAccelerationStructureFlagBitsKHR::eAllowDisplacementMicromapUpdateNV: return "AllowDisplacementMicromapUpdateNV"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ case BuildAccelerationStructureFlagBitsKHR::eAllowDataAccess : return "AllowDataAccess"; case BuildAccelerationStructureFlagBitsKHR::eAllowClusterOpacityMicromapsNV: return "AllowClusterOpacityMicromapsNV"; + case BuildAccelerationStructureFlagBitsKHR::eAllowOpacityMicromapUpdate : return "AllowOpacityMicromapUpdate"; + case BuildAccelerationStructureFlagBitsKHR::eAllowDisableOpacityMicromaps : return "AllowDisableOpacityMicromaps"; + case BuildAccelerationStructureFlagBitsKHR::eMicromapLossy : return "MicromapLossy"; default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -9491,7 +9894,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE #if defined( VK_ENABLE_BETA_EXTENSIONS ) case GeometryTypeKHR::eDenseGeometryFormatTrianglesAMDX: return "DenseGeometryFormatTrianglesAMDX"; #endif /*VK_ENABLE_BETA_EXTENSIONS*/ - default: return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case GeometryTypeKHR::eMicromap: return "Micromap"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -9973,6 +10377,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE case VideoEncodeFeedbackFlagBitsKHR::eBitstreamBufferOffset: return "BitstreamBufferOffset"; case VideoEncodeFeedbackFlagBitsKHR::eBitstreamBytesWritten: return "BitstreamBytesWritten"; case VideoEncodeFeedbackFlagBitsKHR::eBitstreamHasOverrides: return "BitstreamHasOverrides"; + case VideoEncodeFeedbackFlagBitsKHR::eAverageQuantization : return "AverageQuantization"; + case VideoEncodeFeedbackFlagBitsKHR::eMinQuantization : return "MinQuantization"; + case VideoEncodeFeedbackFlagBitsKHR::eMaxQuantization : return "MaxQuantization"; + case VideoEncodeFeedbackFlagBitsKHR::eIntraPixels : return "IntraPixels"; + case VideoEncodeFeedbackFlagBitsKHR::eInterPixels : return "InterPixels"; + case VideoEncodeFeedbackFlagBitsKHR::eSkippedPixels : return "SkippedPixels"; + case VideoEncodeFeedbackFlagBitsKHR::ePicturePartitionCount: return "PicturePartitionCount"; default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -10395,29 +10806,6 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpacityMicromapFormatEXT value ) - { - switch ( value ) - { - case OpacityMicromapFormatEXT::e2State: return "2State"; - case OpacityMicromapFormatEXT::e4State: return "4State"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; - } - } - - VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpacityMicromapSpecialIndexEXT value ) - { - switch ( value ) - { - case OpacityMicromapSpecialIndexEXT::eFullyTransparent : return "FullyTransparent"; - case OpacityMicromapSpecialIndexEXT::eFullyOpaque : return "FullyOpaque"; - case OpacityMicromapSpecialIndexEXT::eFullyUnknownTransparent : return "FullyUnknownTransparent"; - case OpacityMicromapSpecialIndexEXT::eFullyUnknownOpaque : return "FullyUnknownOpaque"; - case OpacityMicromapSpecialIndexEXT::eClusterGeometryDisableOpacityMicromapNV: return "ClusterGeometryDisableOpacityMicromapNV"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; - } - } - #if defined( VK_ENABLE_BETA_EXTENSIONS ) //=== VK_NV_displacement_micromap === @@ -10539,9 +10927,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { switch ( value ) { - case TensorTilingARM::eOptimal: return "Optimal"; - case TensorTilingARM::eLinear : return "Linear"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case TensorTilingARM::eOptimal : return "Optimal"; + case TensorTilingARM::eLinear : return "Linear"; + case TensorTilingARM::eBrick16Wide : return "Brick16Wide"; + case TensorTilingARM::eBrick8Wide : return "Brick8Wide"; + case TensorTilingARM::eBrick4Wide : return "Brick4Wide"; + case TensorTilingARM::eBlockUInterleaved : return "BlockUInterleaved"; + case TensorTilingARM::eBlockUInterleaved64K: return "BlockUInterleaved64K"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -10667,19 +11060,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { switch ( value ) { - case ShaderCreateFlagBitsEXT::eLinkStage : return "LinkStage"; - case ShaderCreateFlagBitsEXT::eDescriptorHeap : return "DescriptorHeap"; - case ShaderCreateFlagBitsEXT::eInstrumentShaderARM : return "InstrumentShaderARM"; - case ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize : return "AllowVaryingSubgroupSize"; - case ShaderCreateFlagBitsEXT::eRequireFullSubgroups : return "RequireFullSubgroups"; - case ShaderCreateFlagBitsEXT::eNoTaskShader : return "NoTaskShader"; - case ShaderCreateFlagBitsEXT::eDispatchBase : return "DispatchBase"; - case ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment: return "FragmentShadingRateAttachment"; - case ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment : return "FragmentDensityMapAttachment"; - case ShaderCreateFlagBitsEXT::eIndirectBindable : return "IndirectBindable"; - case ShaderCreateFlagBitsEXT::e64BitIndexing : return "64BitIndexing"; - case ShaderCreateFlagBitsEXT::eIndependentSetsKHR : return "IndependentSetsKHR"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case ShaderCreateFlagBitsEXT::eLinkStage : return "LinkStage"; + case ShaderCreateFlagBitsEXT::eDescriptorHeap : return "DescriptorHeap"; + case ShaderCreateFlagBitsEXT::eInstrumentShaderARM : return "InstrumentShaderARM"; + case ShaderCreateFlagBitsEXT::eAllowVaryingSubgroupSize : return "AllowVaryingSubgroupSize"; + case ShaderCreateFlagBitsEXT::eRequireFullSubgroups : return "RequireFullSubgroups"; + case ShaderCreateFlagBitsEXT::eNoTaskShader : return "NoTaskShader"; + case ShaderCreateFlagBitsEXT::eDispatchBase : return "DispatchBase"; + case ShaderCreateFlagBitsEXT::eFragmentShadingRateAttachment : return "FragmentShadingRateAttachment"; + case ShaderCreateFlagBitsEXT::eFragmentDensityMapAttachment : return "FragmentDensityMapAttachment"; + case ShaderCreateFlagBitsEXT::eIndirectBindable : return "IndirectBindable"; + case ShaderCreateFlagBitsEXT::eOpacityMicromapDisallowMixedSpecialIndex: return "OpacityMicromapDisallowMixedSpecialIndex"; + case ShaderCreateFlagBitsEXT::e64BitIndexing : return "64BitIndexing"; + case ShaderCreateFlagBitsEXT::eIndependentSetsKHR : return "IndependentSetsKHR"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -10735,23 +11129,28 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { switch ( value ) { - case ComponentTypeKHR::eFloat16 : return "Float16"; - case ComponentTypeKHR::eFloat32 : return "Float32"; - case ComponentTypeKHR::eFloat64 : return "Float64"; - case ComponentTypeKHR::eSint8 : return "Sint8"; - case ComponentTypeKHR::eSint16 : return "Sint16"; - case ComponentTypeKHR::eSint32 : return "Sint32"; - case ComponentTypeKHR::eSint64 : return "Sint64"; - case ComponentTypeKHR::eUint8 : return "Uint8"; - case ComponentTypeKHR::eUint16 : return "Uint16"; - case ComponentTypeKHR::eUint32 : return "Uint32"; - case ComponentTypeKHR::eUint64 : return "Uint64"; - case ComponentTypeKHR::eBfloat16 : return "Bfloat16"; - case ComponentTypeKHR::eSint8PackedNV: return "Sint8PackedNV"; - case ComponentTypeKHR::eUint8PackedNV: return "Uint8PackedNV"; - case ComponentTypeKHR::eFloat8E4M3EXT: return "Float8E4M3EXT"; - case ComponentTypeKHR::eFloat8E5M2EXT: return "Float8E5M2EXT"; - default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + case ComponentTypeKHR::eFloat16 : return "Float16"; + case ComponentTypeKHR::eFloat32 : return "Float32"; + case ComponentTypeKHR::eFloat64 : return "Float64"; + case ComponentTypeKHR::eSint8 : return "Sint8"; + case ComponentTypeKHR::eSint16 : return "Sint16"; + case ComponentTypeKHR::eSint32 : return "Sint32"; + case ComponentTypeKHR::eSint64 : return "Sint64"; + case ComponentTypeKHR::eUint8 : return "Uint8"; + case ComponentTypeKHR::eUint16 : return "Uint16"; + case ComponentTypeKHR::eUint32 : return "Uint32"; + case ComponentTypeKHR::eUint64 : return "Uint64"; + case ComponentTypeKHR::eBfloat16 : return "Bfloat16"; + case ComponentTypeKHR::eSint8PackedNV : return "Sint8PackedNV"; + case ComponentTypeKHR::eUint8PackedNV : return "Uint8PackedNV"; + case ComponentTypeKHR::eFloat8E4M3EXT : return "Float8E4M3EXT"; + case ComponentTypeKHR::eFloat8E5M2EXT : return "Float8E5M2EXT"; + case ComponentTypeKHR::eFloat6E2M3EXT : return "Float6E2M3EXT"; + case ComponentTypeKHR::eFloat6E3M2EXT : return "Float6E3M2EXT"; + case ComponentTypeKHR::eFloat4E2M1EXT : return "Float4E2M1EXT"; + case ComponentTypeKHR::eFloat8UnsignedE8M0EXT: return "Float8UnsignedE8M0EXT"; + case ComponentTypeKHR::eMxint8EXT : return "Mxint8EXT"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; } } @@ -11373,6 +11772,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #endif /*VK_USE_PLATFORM_OHOS*/ + //=== VK_KHR_video_encode_feedback2 === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( VideoEncodePerPartitionFeedbackFlagBitsKHR value ) + { + switch ( value ) + { + case VideoEncodePerPartitionFeedbackFlagBitsKHR::eStatus : return "Status"; + case VideoEncodePerPartitionFeedbackFlagBitsKHR::eBitstreamBufferOffset: return "BitstreamBufferOffset"; + case VideoEncodePerPartitionFeedbackFlagBitsKHR::eBitstreamBytesWritten: return "BitstreamBytesWritten"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + //=== VK_ARM_performance_counters_by_region === VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( PerformanceCounterDescriptionFlagBitsARM ) @@ -11387,6 +11799,40 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE return "(void)"; } + //=== VK_KHR_opacity_micromap === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpacityMicromapFormatKHR value ) + { + switch ( value ) + { + case OpacityMicromapFormatKHR::e2State: return "2State"; + case OpacityMicromapFormatKHR::e4State: return "4State"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( OpacityMicromapSpecialIndexKHR value ) + { + switch ( value ) + { + case OpacityMicromapSpecialIndexKHR::eFullyTransparent : return "FullyTransparent"; + case OpacityMicromapSpecialIndexKHR::eFullyOpaque : return "FullyOpaque"; + case OpacityMicromapSpecialIndexKHR::eFullyUnknownTransparent : return "FullyUnknownTransparent"; + case OpacityMicromapSpecialIndexKHR::eFullyUnknownOpaque : return "FullyUnknownOpaque"; + case OpacityMicromapSpecialIndexKHR::eClusterGeometryDisableOpacityMicromapNV: return "ClusterGeometryDisableOpacityMicromapNV"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( AccelerationStructureSerializedBlockTypeKHR value ) + { + switch ( value ) + { + case AccelerationStructureSerializedBlockTypeKHR::eOpacityMicromap: return "OpacityMicromap"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + //=== VK_QCOM_data_graph_model === VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DataGraphModelCacheTypeQCOM value ) @@ -11507,6 +11953,17 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } + //=== VK_EXT_cooperative_matrix_maintenance1 === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CooperativeMatrixFlagBitsEXT value ) + { + switch ( value ) + { + case CooperativeMatrixFlagBitsEXT::eSaturatingAccumulation: return "SaturatingAccumulation"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + #if defined( VK_USE_PLATFORM_UBM_SEC ) //=== VK_SEC_ubm_surface === @@ -11516,6 +11973,75 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } #endif /*VK_USE_PLATFORM_UBM_SEC*/ + //=== VK_KHR_extended_flags === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( FormatFeatureFlagBits4KHR ) + { + return "(void)"; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageUsageFlagBits2KHR value ) + { + switch ( value ) + { + case ImageUsageFlagBits2KHR::eTransferSrc : return "TransferSrc"; + case ImageUsageFlagBits2KHR::eTransferDst : return "TransferDst"; + case ImageUsageFlagBits2KHR::eSampled : return "Sampled"; + case ImageUsageFlagBits2KHR::eStorage : return "Storage"; + case ImageUsageFlagBits2KHR::eColorAttachment : return "ColorAttachment"; + case ImageUsageFlagBits2KHR::eDepthStencilAttachment : return "DepthStencilAttachment"; + case ImageUsageFlagBits2KHR::eTransientAttachment : return "TransientAttachment"; + case ImageUsageFlagBits2KHR::eInputAttachment : return "InputAttachment"; + case ImageUsageFlagBits2KHR::eFragmentShadingRateAttachment : return "FragmentShadingRateAttachment"; + case ImageUsageFlagBits2KHR::eFragmentDensityMapEXT : return "FragmentDensityMapEXT"; + case ImageUsageFlagBits2KHR::eVideoDecodeDst : return "VideoDecodeDst"; + case ImageUsageFlagBits2KHR::eVideoDecodeSrc : return "VideoDecodeSrc"; + case ImageUsageFlagBits2KHR::eVideoDecodeDpb : return "VideoDecodeDpb"; + case ImageUsageFlagBits2KHR::eVideoEncodeDst : return "VideoEncodeDst"; + case ImageUsageFlagBits2KHR::eVideoEncodeSrc : return "VideoEncodeSrc"; + case ImageUsageFlagBits2KHR::eVideoEncodeDpb : return "VideoEncodeDpb"; + case ImageUsageFlagBits2KHR::eInvocationMaskHUAWEI : return "InvocationMaskHUAWEI"; + case ImageUsageFlagBits2KHR::eAttachmentFeedbackLoopEXT : return "AttachmentFeedbackLoopEXT"; + case ImageUsageFlagBits2KHR::eSampleWeightQCOM : return "SampleWeightQCOM"; + case ImageUsageFlagBits2KHR::eSampleBlockMatchQCOM : return "SampleBlockMatchQCOM"; + case ImageUsageFlagBits2KHR::eHostTransfer : return "HostTransfer"; + case ImageUsageFlagBits2KHR::eTensorAliasingARM : return "TensorAliasingARM"; + case ImageUsageFlagBits2KHR::eVideoEncodeQuantizationDeltaMap: return "VideoEncodeQuantizationDeltaMap"; + case ImageUsageFlagBits2KHR::eVideoEncodeEmphasisMap : return "VideoEncodeEmphasisMap"; + case ImageUsageFlagBits2KHR::eTileMemoryQCOM : return "TileMemoryQCOM"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageCreateFlagBits2KHR value ) + { + switch ( value ) + { + case ImageCreateFlagBits2KHR::eSparseBinding : return "SparseBinding"; + case ImageCreateFlagBits2KHR::eSparseResidency : return "SparseResidency"; + case ImageCreateFlagBits2KHR::eSparseAliased : return "SparseAliased"; + case ImageCreateFlagBits2KHR::eMutableFormat : return "MutableFormat"; + case ImageCreateFlagBits2KHR::eCubeCompatible : return "CubeCompatible"; + case ImageCreateFlagBits2KHR::eAliasSingleLayerDescriptor : return "AliasSingleLayerDescriptor"; + case ImageCreateFlagBits2KHR::e2DArrayCompatible : return "2DArrayCompatible"; + case ImageCreateFlagBits2KHR::eSplitInstanceBindRegions : return "SplitInstanceBindRegions"; + case ImageCreateFlagBits2KHR::eBlockTexelViewCompatible : return "BlockTexelViewCompatible"; + case ImageCreateFlagBits2KHR::eExtendedUsage : return "ExtendedUsage"; + case ImageCreateFlagBits2KHR::eDisjoint : return "Disjoint"; + case ImageCreateFlagBits2KHR::eAlias : return "Alias"; + case ImageCreateFlagBits2KHR::eProtected : return "Protected"; + case ImageCreateFlagBits2KHR::eSampleLocationsCompatibleDepthEXT : return "SampleLocationsCompatibleDepthEXT"; + case ImageCreateFlagBits2KHR::eCornerSampledNV : return "CornerSampledNV"; + case ImageCreateFlagBits2KHR::eSubsampledEXT : return "SubsampledEXT"; + case ImageCreateFlagBits2KHR::eFragmentDensityMapOffsetEXT : return "FragmentDensityMapOffsetEXT"; + case ImageCreateFlagBits2KHR::eDescriptorBufferCaptureReplayEXT : return "DescriptorBufferCaptureReplayEXT"; + case ImageCreateFlagBits2KHR::e2DViewCompatibleEXT : return "2DViewCompatibleEXT"; + case ImageCreateFlagBits2KHR::eMultisampledRenderToSingleSampledEXT: return "MultisampledRenderToSingleSampledEXT"; + case ImageCreateFlagBits2KHR::eVideoProfileIndependent : return "VideoProfileIndependent"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + //=== VK_SEC_throttle_hint === VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ThrottleHintTypeSEC value ) @@ -11542,6 +12068,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE } } + //=== VK_EXT_image_tiling_control === + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( ImageTilingControlEXT value ) + { + switch ( value ) + { + case ImageTilingControlEXT::eDefault : return "Default"; + case ImageTilingControlEXT::eMinSize : return "MinSize"; + case ImageTilingControlEXT::eMaxPerformance: return "MaxPerformance"; + default : return "invalid ( " + toHexString( static_cast( value ) ) + " )"; + } + } + } // namespace VULKAN_HPP_NAMESPACE #if defined( __clang__ ) || defined( __GNUC__ ) diff --git a/third_party/vulkan/include/vulkan/vulkan_ubm.h b/third_party/vulkan/include/vulkan/vulkan_ubm.h new file mode 100644 index 000000000..37cf6609b --- /dev/null +++ b/third_party/vulkan/include/vulkan/vulkan_ubm.h @@ -0,0 +1,59 @@ +#ifndef VULKAN_UBM_H_ +#define VULKAN_UBM_H_ 1 + +/* +** Copyright 2015-2026 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 OR MIT +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +// VK_SEC_ubm_surface is a preprocessor guard. Do not pass it to API calls. +#define VK_SEC_ubm_surface 1 +#define VK_SEC_UBM_SURFACE_SPEC_VERSION 1 +#define VK_SEC_UBM_SURFACE_EXTENSION_NAME "VK_SEC_ubm_surface" +typedef VkFlags VkUbmSurfaceCreateFlagsSEC; +typedef struct VkUbmSurfaceCreateInfoSEC { + VkStructureType sType; + const void* pNext; + VkUbmSurfaceCreateFlagsSEC flags; + struct ubm_device* device; + struct ubm_surface* surface; +} VkUbmSurfaceCreateInfoSEC; + +typedef VkResult (VKAPI_PTR *PFN_vkCreateUbmSurfaceSEC)(VkInstance instance, const VkUbmSurfaceCreateInfoSEC* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); +typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct ubm_device* device); + +#ifndef VK_NO_PROTOTYPES +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkCreateUbmSurfaceSEC( + VkInstance instance, + const VkUbmSurfaceCreateInfoSEC* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSurfaceKHR* pSurface); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceUbmPresentationSupportSEC( + VkPhysicalDevice physicalDevice, + uint32_t queueFamilyIndex, + struct ubm_device* device); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/third_party/vulkan/include/vulkan/vulkan_vi.h b/third_party/vulkan/include/vulkan/vulkan_vi.h index 97d1a3c5f..f5237e47b 100644 --- a/third_party/vulkan/include/vulkan/vulkan_vi.h +++ b/third_party/vulkan/include/vulkan/vulkan_vi.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_video.cppm b/third_party/vulkan/include/vulkan/vulkan_video.cppm index e03c9b872..26a6a4787 100644 --- a/third_party/vulkan/include/vulkan/vulkan_video.cppm +++ b/third_party/vulkan/include/vulkan/vulkan_video.cppm @@ -51,22 +51,23 @@ module; export module vulkan_video; +import std; import vulkan; -#if defined( _MSC_VER ) -# pragma warning( push ) -# pragma warning( disable : 5244 ) -#elif defined( __clang__ ) +#if defined( __clang__ ) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Winclude-angled-in-module-purview" +#elif defined( _MSC_VER ) +# pragma warning( push ) +# pragma warning( disable : 5244 ) #elif defined( __GNUC__ ) #endif #include -#if defined( _MSC_VER ) -# pragma warning( pop ) -#elif defined( __clang__ ) +#if defined( __clang__ ) # pragma clang diagnostic pop +#elif defined( _MSC_VER ) +# pragma warning( pop ) #elif defined( __GNUC__ ) #endif diff --git a/third_party/vulkan/include/vulkan/vulkan_video.hpp b/third_party/vulkan/include/vulkan/vulkan_video.hpp index 83b30a8a9..9da5f4d58 100644 --- a/third_party/vulkan/include/vulkan/vulkan_video.hpp +++ b/third_party/vulkan/include/vulkan/vulkan_video.hpp @@ -173,6 +173,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE eBaseline = STD_VIDEO_H264_PROFILE_IDC_BASELINE, eMain = STD_VIDEO_H264_PROFILE_IDC_MAIN, eHigh = STD_VIDEO_H264_PROFILE_IDC_HIGH, + eHigh10 = STD_VIDEO_H264_PROFILE_IDC_HIGH_10, + eHigh422 = STD_VIDEO_H264_PROFILE_IDC_HIGH_422, eHigh444Predictive = STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE, eInvalid = STD_VIDEO_H264_PROFILE_IDC_INVALID }; @@ -563,19 +565,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { eBt709 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709, eUnspecified = STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED, - eBtUnspecified VULKAN_HPP_DEPRECATED_17( "eBtUnspecified is deprecated, eUnspecified should be used instead." ) = - STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED, - eBt470M = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M, - eBt470BG = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G, - eBt601 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601, - eSmpte240 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240, - eGenericFilm = STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM, - eBt2020 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020, - eXyz = STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ, - eSmpte431 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431, - eSmpte432 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432, - eEbu3213 = STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213, - eInvalid = STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID + eBtUnspecified + VULKAN_HPP_DEPRECATED_17( "eBtUnspecified is deprecated, eUnspecified should be used instead." ) = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED, + eBt470M = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M, + eBt470BG = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G, + eBt601 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601, + eSmpte240 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240, + eGenericFilm = STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM, + eBt2020 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020, + eXyz = STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ, + eSmpte431 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431, + eSmpte432 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432, + eEbu3213 = STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213, + eInvalid = STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID }; enum class AV1TransferCharacteristics @@ -665,16 +667,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264SpsVuiFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( aspect_ratio_info_present_flag == rhs.aspect_ratio_info_present_flag ) && - ( overscan_info_present_flag == rhs.overscan_info_present_flag ) && - ( overscan_appropriate_flag == rhs.overscan_appropriate_flag ) && - ( video_signal_type_present_flag == rhs.video_signal_type_present_flag ) && - ( video_full_range_flag == rhs.video_full_range_flag ) && - ( color_description_present_flag == rhs.color_description_present_flag ) && - ( chroma_loc_info_present_flag == rhs.chroma_loc_info_present_flag ) && - ( timing_info_present_flag == rhs.timing_info_present_flag ) && - ( fixed_frame_rate_flag == rhs.fixed_frame_rate_flag ) && - ( bitstream_restriction_flag == rhs.bitstream_restriction_flag ) && + return ( aspect_ratio_info_present_flag == rhs.aspect_ratio_info_present_flag ) && ( overscan_info_present_flag == rhs.overscan_info_present_flag ) && + ( overscan_appropriate_flag == rhs.overscan_appropriate_flag ) && ( video_signal_type_present_flag == rhs.video_signal_type_present_flag ) && + ( video_full_range_flag == rhs.video_full_range_flag ) && ( color_description_present_flag == rhs.color_description_present_flag ) && + ( chroma_loc_info_present_flag == rhs.chroma_loc_info_present_flag ) && ( timing_info_present_flag == rhs.timing_info_present_flag ) && + ( fixed_frame_rate_flag == rhs.fixed_frame_rate_flag ) && ( bitstream_restriction_flag == rhs.bitstream_restriction_flag ) && ( nal_hrd_parameters_present_flag == rhs.nal_hrd_parameters_present_flag ) && ( vcl_hrd_parameters_present_flag == rhs.vcl_hrd_parameters_present_flag ); } @@ -725,17 +722,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( cpb_cnt_minus1 == rhs.cpb_cnt_minus1 ) && - ( bit_rate_scale == rhs.bit_rate_scale ) && - ( cpb_size_scale == rhs.cpb_size_scale ) && - ( reserved1 == rhs.reserved1 ) && - ( bit_rate_value_minus1 == rhs.bit_rate_value_minus1 ) && - ( cpb_size_value_minus1 == rhs.cpb_size_value_minus1 ) && - ( cbr_flag == rhs.cbr_flag ) && + return ( cpb_cnt_minus1 == rhs.cpb_cnt_minus1 ) && ( bit_rate_scale == rhs.bit_rate_scale ) && ( cpb_size_scale == rhs.cpb_size_scale ) && + ( reserved1 == rhs.reserved1 ) && ( bit_rate_value_minus1 == rhs.bit_rate_value_minus1 ) && + ( cpb_size_value_minus1 == rhs.cpb_size_value_minus1 ) && ( cbr_flag == rhs.cbr_flag ) && ( initial_cpb_removal_delay_length_minus1 == rhs.initial_cpb_removal_delay_length_minus1 ) && ( cpb_removal_delay_length_minus1 == rhs.cpb_removal_delay_length_minus1 ) && - ( dpb_output_delay_length_minus1 == rhs.dpb_output_delay_length_minus1 ) && - ( time_offset_length == rhs.time_offset_length ); + ( dpb_output_delay_length_minus1 == rhs.dpb_output_delay_length_minus1 ) && ( time_offset_length == rhs.time_offset_length ); } bool operator!=( H264HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -783,21 +775,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264SequenceParameterSetVui const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( aspect_ratio_idc == rhs.aspect_ratio_idc ) && - ( sar_width == rhs.sar_width ) && - ( sar_height == rhs.sar_height ) && - ( video_format == rhs.video_format ) && - ( colour_primaries == rhs.colour_primaries ) && - ( transfer_characteristics == rhs.transfer_characteristics ) && - ( matrix_coefficients == rhs.matrix_coefficients ) && - ( num_units_in_tick == rhs.num_units_in_tick ) && - ( time_scale == rhs.time_scale ) && - ( max_num_reorder_frames == rhs.max_num_reorder_frames ) && - ( max_dec_frame_buffering == rhs.max_dec_frame_buffering ) && - ( chroma_sample_loc_type_top_field == rhs.chroma_sample_loc_type_top_field ) && - ( chroma_sample_loc_type_bottom_field == rhs.chroma_sample_loc_type_bottom_field ) && - ( reserved1 == rhs.reserved1 ) && + return ( flags == rhs.flags ) && ( aspect_ratio_idc == rhs.aspect_ratio_idc ) && ( sar_width == rhs.sar_width ) && ( sar_height == rhs.sar_height ) && + ( video_format == rhs.video_format ) && ( colour_primaries == rhs.colour_primaries ) && + ( transfer_characteristics == rhs.transfer_characteristics ) && ( matrix_coefficients == rhs.matrix_coefficients ) && + ( num_units_in_tick == rhs.num_units_in_tick ) && ( time_scale == rhs.time_scale ) && ( max_num_reorder_frames == rhs.max_num_reorder_frames ) && + ( max_dec_frame_buffering == rhs.max_dec_frame_buffering ) && ( chroma_sample_loc_type_top_field == rhs.chroma_sample_loc_type_top_field ) && + ( chroma_sample_loc_type_bottom_field == rhs.chroma_sample_loc_type_bottom_field ) && ( reserved1 == rhs.reserved1 ) && ( pHrdParameters == rhs.pHrdParameters ); } @@ -852,22 +835,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( constraint_set0_flag == rhs.constraint_set0_flag ) && - ( constraint_set1_flag == rhs.constraint_set1_flag ) && - ( constraint_set2_flag == rhs.constraint_set2_flag ) && - ( constraint_set3_flag == rhs.constraint_set3_flag ) && - ( constraint_set4_flag == rhs.constraint_set4_flag ) && - ( constraint_set5_flag == rhs.constraint_set5_flag ) && - ( direct_8x8_inference_flag == rhs.direct_8x8_inference_flag ) && - ( mb_adaptive_frame_field_flag == rhs.mb_adaptive_frame_field_flag ) && - ( frame_mbs_only_flag == rhs.frame_mbs_only_flag ) && - ( delta_pic_order_always_zero_flag == rhs.delta_pic_order_always_zero_flag ) && + return ( constraint_set0_flag == rhs.constraint_set0_flag ) && ( constraint_set1_flag == rhs.constraint_set1_flag ) && + ( constraint_set2_flag == rhs.constraint_set2_flag ) && ( constraint_set3_flag == rhs.constraint_set3_flag ) && + ( constraint_set4_flag == rhs.constraint_set4_flag ) && ( constraint_set5_flag == rhs.constraint_set5_flag ) && + ( direct_8x8_inference_flag == rhs.direct_8x8_inference_flag ) && ( mb_adaptive_frame_field_flag == rhs.mb_adaptive_frame_field_flag ) && + ( frame_mbs_only_flag == rhs.frame_mbs_only_flag ) && ( delta_pic_order_always_zero_flag == rhs.delta_pic_order_always_zero_flag ) && ( separate_colour_plane_flag == rhs.separate_colour_plane_flag ) && ( gaps_in_frame_num_value_allowed_flag == rhs.gaps_in_frame_num_value_allowed_flag ) && - ( qpprime_y_zero_transform_bypass_flag == rhs.qpprime_y_zero_transform_bypass_flag ) && - ( frame_cropping_flag == rhs.frame_cropping_flag ) && - ( seq_scaling_matrix_present_flag == rhs.seq_scaling_matrix_present_flag ) && - ( vui_parameters_present_flag == rhs.vui_parameters_present_flag ); + ( qpprime_y_zero_transform_bypass_flag == rhs.qpprime_y_zero_transform_bypass_flag ) && ( frame_cropping_flag == rhs.frame_cropping_flag ) && + ( seq_scaling_matrix_present_flag == rhs.seq_scaling_matrix_present_flag ) && ( vui_parameters_present_flag == rhs.vui_parameters_present_flag ); } bool operator!=( H264SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -920,10 +896,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( scaling_list_present_mask == rhs.scaling_list_present_mask ) && - ( use_default_scaling_matrix_mask == rhs.use_default_scaling_matrix_mask ) && - ( ScalingList4x4 == rhs.ScalingList4x4 ) && - ( ScalingList8x8 == rhs.ScalingList8x8 ); + return ( scaling_list_present_mask == rhs.scaling_list_present_mask ) && ( use_default_scaling_matrix_mask == rhs.use_default_scaling_matrix_mask ) && + ( ScalingList4x4 == rhs.ScalingList4x4 ) && ( ScalingList8x8 == rhs.ScalingList8x8 ); } bool operator!=( H264ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -964,30 +938,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( profile_idc == rhs.profile_idc ) && - ( level_idc == rhs.level_idc ) && - ( chroma_format_idc == rhs.chroma_format_idc ) && - ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && - ( bit_depth_luma_minus8 == rhs.bit_depth_luma_minus8 ) && - ( bit_depth_chroma_minus8 == rhs.bit_depth_chroma_minus8 ) && - ( log2_max_frame_num_minus4 == rhs.log2_max_frame_num_minus4 ) && - ( pic_order_cnt_type == rhs.pic_order_cnt_type ) && - ( offset_for_non_ref_pic == rhs.offset_for_non_ref_pic ) && - ( offset_for_top_to_bottom_field == rhs.offset_for_top_to_bottom_field ) && + return ( flags == rhs.flags ) && ( profile_idc == rhs.profile_idc ) && ( level_idc == rhs.level_idc ) && + ( chroma_format_idc == rhs.chroma_format_idc ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && + ( bit_depth_luma_minus8 == rhs.bit_depth_luma_minus8 ) && ( bit_depth_chroma_minus8 == rhs.bit_depth_chroma_minus8 ) && + ( log2_max_frame_num_minus4 == rhs.log2_max_frame_num_minus4 ) && ( pic_order_cnt_type == rhs.pic_order_cnt_type ) && + ( offset_for_non_ref_pic == rhs.offset_for_non_ref_pic ) && ( offset_for_top_to_bottom_field == rhs.offset_for_top_to_bottom_field ) && ( log2_max_pic_order_cnt_lsb_minus4 == rhs.log2_max_pic_order_cnt_lsb_minus4 ) && - ( num_ref_frames_in_pic_order_cnt_cycle == rhs.num_ref_frames_in_pic_order_cnt_cycle ) && - ( max_num_ref_frames == rhs.max_num_ref_frames ) && - ( reserved1 == rhs.reserved1 ) && - ( pic_width_in_mbs_minus1 == rhs.pic_width_in_mbs_minus1 ) && - ( pic_height_in_map_units_minus1 == rhs.pic_height_in_map_units_minus1 ) && - ( frame_crop_left_offset == rhs.frame_crop_left_offset ) && - ( frame_crop_right_offset == rhs.frame_crop_right_offset ) && - ( frame_crop_top_offset == rhs.frame_crop_top_offset ) && - ( frame_crop_bottom_offset == rhs.frame_crop_bottom_offset ) && - ( reserved2 == rhs.reserved2 ) && - ( pOffsetForRefFrame == rhs.pOffsetForRefFrame ) && - ( pScalingLists == rhs.pScalingLists ) && + ( num_ref_frames_in_pic_order_cnt_cycle == rhs.num_ref_frames_in_pic_order_cnt_cycle ) && ( max_num_ref_frames == rhs.max_num_ref_frames ) && + ( reserved1 == rhs.reserved1 ) && ( pic_width_in_mbs_minus1 == rhs.pic_width_in_mbs_minus1 ) && + ( pic_height_in_map_units_minus1 == rhs.pic_height_in_map_units_minus1 ) && ( frame_crop_left_offset == rhs.frame_crop_left_offset ) && + ( frame_crop_right_offset == rhs.frame_crop_right_offset ) && ( frame_crop_top_offset == rhs.frame_crop_top_offset ) && + ( frame_crop_bottom_offset == rhs.frame_crop_bottom_offset ) && ( reserved2 == rhs.reserved2 ) && + ( pOffsetForRefFrame == rhs.pOffsetForRefFrame ) && ( pScalingLists == rhs.pScalingLists ) && ( pSequenceParameterSetVui == rhs.pSequenceParameterSetVui ); } @@ -1052,14 +1014,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( transform_8x8_mode_flag == rhs.transform_8x8_mode_flag ) && - ( redundant_pic_cnt_present_flag == rhs.redundant_pic_cnt_present_flag ) && + return ( transform_8x8_mode_flag == rhs.transform_8x8_mode_flag ) && ( redundant_pic_cnt_present_flag == rhs.redundant_pic_cnt_present_flag ) && ( constrained_intra_pred_flag == rhs.constrained_intra_pred_flag ) && - ( deblocking_filter_control_present_flag == rhs.deblocking_filter_control_present_flag ) && - ( weighted_pred_flag == rhs.weighted_pred_flag ) && + ( deblocking_filter_control_present_flag == rhs.deblocking_filter_control_present_flag ) && ( weighted_pred_flag == rhs.weighted_pred_flag ) && ( bottom_field_pic_order_in_frame_present_flag == rhs.bottom_field_pic_order_in_frame_present_flag ) && - ( entropy_coding_mode_flag == rhs.entropy_coding_mode_flag ) && - ( pic_scaling_matrix_present_flag == rhs.pic_scaling_matrix_present_flag ); + ( entropy_coding_mode_flag == rhs.entropy_coding_mode_flag ) && ( pic_scaling_matrix_present_flag == rhs.pic_scaling_matrix_present_flag ); } bool operator!=( H264PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1104,16 +1063,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H264PictureParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && - ( pic_parameter_set_id == rhs.pic_parameter_set_id ) && + return ( flags == rhs.flags ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && ( pic_parameter_set_id == rhs.pic_parameter_set_id ) && ( num_ref_idx_l0_default_active_minus1 == rhs.num_ref_idx_l0_default_active_minus1 ) && - ( num_ref_idx_l1_default_active_minus1 == rhs.num_ref_idx_l1_default_active_minus1 ) && - ( weighted_bipred_idc == rhs.weighted_bipred_idc ) && - ( pic_init_qp_minus26 == rhs.pic_init_qp_minus26 ) && - ( pic_init_qs_minus26 == rhs.pic_init_qs_minus26 ) && - ( chroma_qp_index_offset == rhs.chroma_qp_index_offset ) && - ( second_chroma_qp_index_offset == rhs.second_chroma_qp_index_offset ) && + ( num_ref_idx_l1_default_active_minus1 == rhs.num_ref_idx_l1_default_active_minus1 ) && ( weighted_bipred_idc == rhs.weighted_bipred_idc ) && + ( pic_init_qp_minus26 == rhs.pic_init_qp_minus26 ) && ( pic_init_qs_minus26 == rhs.pic_init_qs_minus26 ) && + ( chroma_qp_index_offset == rhs.chroma_qp_index_offset ) && ( second_chroma_qp_index_offset == rhs.second_chroma_qp_index_offset ) && ( pScalingLists == rhs.pScalingLists ); } @@ -1167,11 +1121,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( field_pic_flag == rhs.field_pic_flag ) && - ( is_intra == rhs.is_intra ) && - ( IdrPicFlag == rhs.IdrPicFlag ) && - ( bottom_field_flag == rhs.bottom_field_flag ) && - ( is_reference == rhs.is_reference ) && + return ( field_pic_flag == rhs.field_pic_flag ) && ( is_intra == rhs.is_intra ) && ( IdrPicFlag == rhs.IdrPicFlag ) && + ( bottom_field_flag == rhs.bottom_field_flag ) && ( is_reference == rhs.is_reference ) && ( complementary_field_pair == rhs.complementary_field_pair ); } @@ -1215,13 +1166,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && - ( pic_parameter_set_id == rhs.pic_parameter_set_id ) && - ( reserved1 == rhs.reserved1 ) && - ( reserved2 == rhs.reserved2 ) && - ( frame_num == rhs.frame_num ) && - ( idr_pic_id == rhs.idr_pic_id ) && + return ( flags == rhs.flags ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && ( pic_parameter_set_id == rhs.pic_parameter_set_id ) && + ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && ( frame_num == rhs.frame_num ) && ( idr_pic_id == rhs.idr_pic_id ) && ( PicOrderCnt == rhs.PicOrderCnt ); } @@ -1267,10 +1213,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeH264ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( top_field_flag == rhs.top_field_flag ) && - ( bottom_field_flag == rhs.bottom_field_flag ) && - ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && - ( is_non_existing == rhs.is_non_existing ); + return ( top_field_flag == rhs.top_field_flag ) && ( bottom_field_flag == rhs.bottom_field_flag ) && + ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( is_non_existing == rhs.is_non_existing ); } bool operator!=( DecodeH264ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1356,10 +1300,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( luma_weight_l0_flag == rhs.luma_weight_l0_flag ) && - ( chroma_weight_l0_flag == rhs.chroma_weight_l0_flag ) && - ( luma_weight_l1_flag == rhs.luma_weight_l1_flag ) && - ( chroma_weight_l1_flag == rhs.chroma_weight_l1_flag ); + return ( luma_weight_l0_flag == rhs.luma_weight_l0_flag ) && ( chroma_weight_l0_flag == rhs.chroma_weight_l0_flag ) && + ( luma_weight_l1_flag == rhs.luma_weight_l1_flag ) && ( chroma_weight_l1_flag == rhs.chroma_weight_l1_flag ); } bool operator!=( EncodeH264WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1400,16 +1342,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264WeightTable const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( luma_log2_weight_denom == rhs.luma_log2_weight_denom ) && - ( chroma_log2_weight_denom == rhs.chroma_log2_weight_denom ) && - ( luma_weight_l0 == rhs.luma_weight_l0 ) && - ( luma_offset_l0 == rhs.luma_offset_l0 ) && - ( chroma_weight_l0 == rhs.chroma_weight_l0 ) && - ( chroma_offset_l0 == rhs.chroma_offset_l0 ) && - ( luma_weight_l1 == rhs.luma_weight_l1 ) && - ( luma_offset_l1 == rhs.luma_offset_l1 ) && - ( chroma_weight_l1 == rhs.chroma_weight_l1 ) && + return ( flags == rhs.flags ) && ( luma_log2_weight_denom == rhs.luma_log2_weight_denom ) && + ( chroma_log2_weight_denom == rhs.chroma_log2_weight_denom ) && ( luma_weight_l0 == rhs.luma_weight_l0 ) && + ( luma_offset_l0 == rhs.luma_offset_l0 ) && ( chroma_weight_l0 == rhs.chroma_weight_l0 ) && ( chroma_offset_l0 == rhs.chroma_offset_l0 ) && + ( luma_weight_l1 == rhs.luma_weight_l1 ) && ( luma_offset_l1 == rhs.luma_offset_l1 ) && ( chroma_weight_l1 == rhs.chroma_weight_l1 ) && ( chroma_offset_l1 == rhs.chroma_offset_l1 ); } @@ -1459,8 +1395,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264SliceHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( direct_spatial_mv_pred_flag == rhs.direct_spatial_mv_pred_flag ) && - ( num_ref_idx_active_override_flag == rhs.num_ref_idx_active_override_flag ) && - ( reserved == rhs.reserved ); + ( num_ref_idx_active_override_flag == rhs.num_ref_idx_active_override_flag ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeH264SliceHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1500,12 +1435,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( IdrPicFlag == rhs.IdrPicFlag ) && - ( is_reference == rhs.is_reference ) && - ( no_output_of_prior_pics_flag == rhs.no_output_of_prior_pics_flag ) && - ( long_term_reference_flag == rhs.long_term_reference_flag ) && - ( adaptive_ref_pic_marking_mode_flag == rhs.adaptive_ref_pic_marking_mode_flag ) && - ( reserved == rhs.reserved ); + return ( IdrPicFlag == rhs.IdrPicFlag ) && ( is_reference == rhs.is_reference ) && + ( no_output_of_prior_pics_flag == rhs.no_output_of_prior_pics_flag ) && ( long_term_reference_flag == rhs.long_term_reference_flag ) && + ( adaptive_ref_pic_marking_mode_flag == rhs.adaptive_ref_pic_marking_mode_flag ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1588,8 +1520,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( ref_pic_list_modification_flag_l0 == rhs.ref_pic_list_modification_flag_l0 ) && - ( ref_pic_list_modification_flag_l1 == rhs.ref_pic_list_modification_flag_l1 ) && - ( reserved == rhs.reserved ); + ( ref_pic_list_modification_flag_l1 == rhs.ref_pic_list_modification_flag_l1 ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeH264ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1629,8 +1560,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264RefListModEntry const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( modification_of_pic_nums_idc == rhs.modification_of_pic_nums_idc ) && - ( abs_diff_pic_num_minus1 == rhs.abs_diff_pic_num_minus1 ) && + return ( modification_of_pic_nums_idc == rhs.modification_of_pic_nums_idc ) && ( abs_diff_pic_num_minus1 == rhs.abs_diff_pic_num_minus1 ) && ( long_term_pic_num == rhs.long_term_pic_num ); } @@ -1673,10 +1603,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264RefPicMarkingEntry const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( memory_management_control_operation == rhs.memory_management_control_operation ) && - ( difference_of_pic_nums_minus1 == rhs.difference_of_pic_nums_minus1 ) && - ( long_term_pic_num == rhs.long_term_pic_num ) && - ( long_term_frame_idx == rhs.long_term_frame_idx ) && - ( max_long_term_frame_idx_plus1 == rhs.max_long_term_frame_idx_plus1 ); + ( difference_of_pic_nums_minus1 == rhs.difference_of_pic_nums_minus1 ) && ( long_term_pic_num == rhs.long_term_pic_num ) && + ( long_term_frame_idx == rhs.long_term_frame_idx ) && ( max_long_term_frame_idx_plus1 == rhs.max_long_term_frame_idx_plus1 ); } bool operator!=( EncodeH264RefPicMarkingEntry const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1719,17 +1647,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( num_ref_idx_l0_active_minus1 == rhs.num_ref_idx_l0_active_minus1 ) && - ( num_ref_idx_l1_active_minus1 == rhs.num_ref_idx_l1_active_minus1 ) && - ( RefPicList0 == rhs.RefPicList0 ) && - ( RefPicList1 == rhs.RefPicList1 ) && - ( refList0ModOpCount == rhs.refList0ModOpCount ) && - ( refList1ModOpCount == rhs.refList1ModOpCount ) && - ( refPicMarkingOpCount == rhs.refPicMarkingOpCount ) && - ( reserved1 == rhs.reserved1 ) && - ( pRefList0ModOperations == rhs.pRefList0ModOperations ) && - ( pRefList1ModOperations == rhs.pRefList1ModOperations ) && + return ( flags == rhs.flags ) && ( num_ref_idx_l0_active_minus1 == rhs.num_ref_idx_l0_active_minus1 ) && + ( num_ref_idx_l1_active_minus1 == rhs.num_ref_idx_l1_active_minus1 ) && ( RefPicList0 == rhs.RefPicList0 ) && + ( RefPicList1 == rhs.RefPicList1 ) && ( refList0ModOpCount == rhs.refList0ModOpCount ) && ( refList1ModOpCount == rhs.refList1ModOpCount ) && + ( refPicMarkingOpCount == rhs.refPicMarkingOpCount ) && ( reserved1 == rhs.reserved1 ) && + ( pRefList0ModOperations == rhs.pRefList0ModOperations ) && ( pRefList1ModOperations == rhs.pRefList1ModOperations ) && ( pRefPicMarkingOperations == rhs.pRefPicMarkingOperations ); } @@ -1779,16 +1701,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && - ( pic_parameter_set_id == rhs.pic_parameter_set_id ) && - ( idr_pic_id == rhs.idr_pic_id ) && - ( primary_pic_type == rhs.primary_pic_type ) && - ( frame_num == rhs.frame_num ) && - ( PicOrderCnt == rhs.PicOrderCnt ) && - ( temporal_id == rhs.temporal_id ) && - ( reserved1 == rhs.reserved1 ) && - ( pRefLists == rhs.pRefLists ); + return ( flags == rhs.flags ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && ( pic_parameter_set_id == rhs.pic_parameter_set_id ) && + ( idr_pic_id == rhs.idr_pic_id ) && ( primary_pic_type == rhs.primary_pic_type ) && ( frame_num == rhs.frame_num ) && + ( PicOrderCnt == rhs.PicOrderCnt ) && ( temporal_id == rhs.temporal_id ) && ( reserved1 == rhs.reserved1 ) && ( pRefLists == rhs.pRefLists ); } bool operator!=( EncodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1836,13 +1751,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( primary_pic_type == rhs.primary_pic_type ) && - ( FrameNum == rhs.FrameNum ) && - ( PicOrderCnt == rhs.PicOrderCnt ) && - ( long_term_pic_num == rhs.long_term_pic_num ) && - ( long_term_frame_idx == rhs.long_term_frame_idx ) && - ( temporal_id == rhs.temporal_id ); + return ( flags == rhs.flags ) && ( primary_pic_type == rhs.primary_pic_type ) && ( FrameNum == rhs.FrameNum ) && ( PicOrderCnt == rhs.PicOrderCnt ) && + ( long_term_pic_num == rhs.long_term_pic_num ) && ( long_term_frame_idx == rhs.long_term_frame_idx ) && ( temporal_id == rhs.temporal_id ); } bool operator!=( EncodeH264ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1887,16 +1797,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH264SliceHeader const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( first_mb_in_slice == rhs.first_mb_in_slice ) && - ( slice_type == rhs.slice_type ) && - ( slice_alpha_c0_offset_div2 == rhs.slice_alpha_c0_offset_div2 ) && - ( slice_beta_offset_div2 == rhs.slice_beta_offset_div2 ) && - ( slice_qp_delta == rhs.slice_qp_delta ) && - ( reserved1 == rhs.reserved1 ) && - ( cabac_init_idc == rhs.cabac_init_idc ) && - ( disable_deblocking_filter_idc == rhs.disable_deblocking_filter_idc ) && - ( pWeightTable == rhs.pWeightTable ); + return ( flags == rhs.flags ) && ( first_mb_in_slice == rhs.first_mb_in_slice ) && ( slice_type == rhs.slice_type ) && + ( slice_alpha_c0_offset_div2 == rhs.slice_alpha_c0_offset_div2 ) && ( slice_beta_offset_div2 == rhs.slice_beta_offset_div2 ) && + ( slice_qp_delta == rhs.slice_qp_delta ) && ( reserved1 == rhs.reserved1 ) && ( cabac_init_idc == rhs.cabac_init_idc ) && + ( disable_deblocking_filter_idc == rhs.disable_deblocking_filter_idc ) && ( pWeightTable == rhs.pWeightTable ); } bool operator!=( EncodeH264SliceHeader const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -1949,8 +1853,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265DecPicBufMgr const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( max_latency_increase_plus1 == rhs.max_latency_increase_plus1 ) && - ( max_dec_pic_buffering_minus1 == rhs.max_dec_pic_buffering_minus1 ) && + return ( max_latency_increase_plus1 == rhs.max_latency_increase_plus1 ) && ( max_dec_pic_buffering_minus1 == rhs.max_dec_pic_buffering_minus1 ) && ( max_num_reorder_pics == rhs.max_num_reorder_pics ); } @@ -1991,10 +1894,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265SubLayerHrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( bit_rate_value_minus1 == rhs.bit_rate_value_minus1 ) && - ( cpb_size_value_minus1 == rhs.cpb_size_value_minus1 ) && - ( cpb_size_du_value_minus1 == rhs.cpb_size_du_value_minus1 ) && - ( bit_rate_du_value_minus1 == rhs.bit_rate_du_value_minus1 ) && + return ( bit_rate_value_minus1 == rhs.bit_rate_value_minus1 ) && ( cpb_size_value_minus1 == rhs.cpb_size_value_minus1 ) && + ( cpb_size_du_value_minus1 == rhs.cpb_size_du_value_minus1 ) && ( bit_rate_du_value_minus1 == rhs.bit_rate_du_value_minus1 ) && ( cbr_flag == rhs.cbr_flag ); } @@ -2041,8 +1942,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ( vcl_hrd_parameters_present_flag == rhs.vcl_hrd_parameters_present_flag ) && ( sub_pic_hrd_params_present_flag == rhs.sub_pic_hrd_params_present_flag ) && ( sub_pic_cpb_params_in_pic_timing_sei_flag == rhs.sub_pic_cpb_params_in_pic_timing_sei_flag ) && - ( fixed_pic_rate_general_flag == rhs.fixed_pic_rate_general_flag ) && - ( fixed_pic_rate_within_cvs_flag == rhs.fixed_pic_rate_within_cvs_flag ) && + ( fixed_pic_rate_general_flag == rhs.fixed_pic_rate_general_flag ) && ( fixed_pic_rate_within_cvs_flag == rhs.fixed_pic_rate_within_cvs_flag ) && ( low_delay_hrd_flag == rhs.low_delay_hrd_flag ); } @@ -2087,21 +1987,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( tick_divisor_minus2 == rhs.tick_divisor_minus2 ) && + return ( flags == rhs.flags ) && ( tick_divisor_minus2 == rhs.tick_divisor_minus2 ) && ( du_cpb_removal_delay_increment_length_minus1 == rhs.du_cpb_removal_delay_increment_length_minus1 ) && - ( dpb_output_delay_du_length_minus1 == rhs.dpb_output_delay_du_length_minus1 ) && - ( bit_rate_scale == rhs.bit_rate_scale ) && - ( cpb_size_scale == rhs.cpb_size_scale ) && - ( cpb_size_du_scale == rhs.cpb_size_du_scale ) && + ( dpb_output_delay_du_length_minus1 == rhs.dpb_output_delay_du_length_minus1 ) && ( bit_rate_scale == rhs.bit_rate_scale ) && + ( cpb_size_scale == rhs.cpb_size_scale ) && ( cpb_size_du_scale == rhs.cpb_size_du_scale ) && ( initial_cpb_removal_delay_length_minus1 == rhs.initial_cpb_removal_delay_length_minus1 ) && ( au_cpb_removal_delay_length_minus1 == rhs.au_cpb_removal_delay_length_minus1 ) && - ( dpb_output_delay_length_minus1 == rhs.dpb_output_delay_length_minus1 ) && - ( cpb_cnt_minus1 == rhs.cpb_cnt_minus1 ) && - ( elemental_duration_in_tc_minus1 == rhs.elemental_duration_in_tc_minus1 ) && - ( reserved == rhs.reserved ) && - ( pSubLayerHrdParametersNal == rhs.pSubLayerHrdParametersNal ) && - ( pSubLayerHrdParametersVcl == rhs.pSubLayerHrdParametersVcl ); + ( dpb_output_delay_length_minus1 == rhs.dpb_output_delay_length_minus1 ) && ( cpb_cnt_minus1 == rhs.cpb_cnt_minus1 ) && + ( elemental_duration_in_tc_minus1 == rhs.elemental_duration_in_tc_minus1 ) && ( reserved == rhs.reserved ) && + ( pSubLayerHrdParametersNal == rhs.pSubLayerHrdParametersNal ) && ( pSubLayerHrdParametersVcl == rhs.pSubLayerHrdParametersVcl ); } bool operator!=( H265HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -2197,8 +2091,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265ProfileTierLevelFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( general_tier_flag == rhs.general_tier_flag ) && - ( general_progressive_source_flag == rhs.general_progressive_source_flag ) && + return ( general_tier_flag == rhs.general_tier_flag ) && ( general_progressive_source_flag == rhs.general_progressive_source_flag ) && ( general_interlaced_source_flag == rhs.general_interlaced_source_flag ) && ( general_non_packed_constraint_flag == rhs.general_non_packed_constraint_flag ) && ( general_frame_only_constraint_flag == rhs.general_frame_only_constraint_flag ); @@ -2284,18 +2177,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265VideoParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( vps_video_parameter_set_id == rhs.vps_video_parameter_set_id ) && - ( vps_max_sub_layers_minus1 == rhs.vps_max_sub_layers_minus1 ) && - ( reserved1 == rhs.reserved1 ) && - ( reserved2 == rhs.reserved2 ) && - ( vps_num_units_in_tick == rhs.vps_num_units_in_tick ) && - ( vps_time_scale == rhs.vps_time_scale ) && - ( vps_num_ticks_poc_diff_one_minus1 == rhs.vps_num_ticks_poc_diff_one_minus1 ) && - ( reserved3 == rhs.reserved3 ) && - ( pDecPicBufMgr == rhs.pDecPicBufMgr ) && - ( pHrdParameters == rhs.pHrdParameters ) && - ( pProfileTierLevel == rhs.pProfileTierLevel ); + return ( flags == rhs.flags ) && ( vps_video_parameter_set_id == rhs.vps_video_parameter_set_id ) && + ( vps_max_sub_layers_minus1 == rhs.vps_max_sub_layers_minus1 ) && ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && + ( vps_num_units_in_tick == rhs.vps_num_units_in_tick ) && ( vps_time_scale == rhs.vps_time_scale ) && + ( vps_num_ticks_poc_diff_one_minus1 == rhs.vps_num_ticks_poc_diff_one_minus1 ) && ( reserved3 == rhs.reserved3 ) && + ( pDecPicBufMgr == rhs.pDecPicBufMgr ) && ( pHrdParameters == rhs.pHrdParameters ) && ( pProfileTierLevel == rhs.pProfileTierLevel ); } bool operator!=( H265VideoParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -2344,11 +2230,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( ScalingList4x4 == rhs.ScalingList4x4 ) && - ( ScalingList8x8 == rhs.ScalingList8x8 ) && - ( ScalingList16x16 == rhs.ScalingList16x16 ) && - ( ScalingList32x32 == rhs.ScalingList32x32 ) && - ( ScalingListDCCoef16x16 == rhs.ScalingListDCCoef16x16 ) && + return ( ScalingList4x4 == rhs.ScalingList4x4 ) && ( ScalingList8x8 == rhs.ScalingList8x8 ) && ( ScalingList16x16 == rhs.ScalingList16x16 ) && + ( ScalingList32x32 == rhs.ScalingList32x32 ) && ( ScalingListDCCoef16x16 == rhs.ScalingListDCCoef16x16 ) && ( ScalingListDCCoef32x32 == rhs.ScalingListDCCoef32x32 ); } @@ -2392,21 +2275,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265SpsVuiFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( aspect_ratio_info_present_flag == rhs.aspect_ratio_info_present_flag ) && - ( overscan_info_present_flag == rhs.overscan_info_present_flag ) && - ( overscan_appropriate_flag == rhs.overscan_appropriate_flag ) && - ( video_signal_type_present_flag == rhs.video_signal_type_present_flag ) && - ( video_full_range_flag == rhs.video_full_range_flag ) && - ( colour_description_present_flag == rhs.colour_description_present_flag ) && + return ( aspect_ratio_info_present_flag == rhs.aspect_ratio_info_present_flag ) && ( overscan_info_present_flag == rhs.overscan_info_present_flag ) && + ( overscan_appropriate_flag == rhs.overscan_appropriate_flag ) && ( video_signal_type_present_flag == rhs.video_signal_type_present_flag ) && + ( video_full_range_flag == rhs.video_full_range_flag ) && ( colour_description_present_flag == rhs.colour_description_present_flag ) && ( chroma_loc_info_present_flag == rhs.chroma_loc_info_present_flag ) && - ( neutral_chroma_indication_flag == rhs.neutral_chroma_indication_flag ) && - ( field_seq_flag == rhs.field_seq_flag ) && - ( frame_field_info_present_flag == rhs.frame_field_info_present_flag ) && - ( default_display_window_flag == rhs.default_display_window_flag ) && + ( neutral_chroma_indication_flag == rhs.neutral_chroma_indication_flag ) && ( field_seq_flag == rhs.field_seq_flag ) && + ( frame_field_info_present_flag == rhs.frame_field_info_present_flag ) && ( default_display_window_flag == rhs.default_display_window_flag ) && ( vui_timing_info_present_flag == rhs.vui_timing_info_present_flag ) && ( vui_poc_proportional_to_timing_flag == rhs.vui_poc_proportional_to_timing_flag ) && - ( vui_hrd_parameters_present_flag == rhs.vui_hrd_parameters_present_flag ) && - ( bitstream_restriction_flag == rhs.bitstream_restriction_flag ) && + ( vui_hrd_parameters_present_flag == rhs.vui_hrd_parameters_present_flag ) && ( bitstream_restriction_flag == rhs.bitstream_restriction_flag ) && ( tiles_fixed_structure_flag == rhs.tiles_fixed_structure_flag ) && ( motion_vectors_over_pic_boundaries_flag == rhs.motion_vectors_over_pic_boundaries_flag ) && ( restricted_ref_pic_lists_flag == rhs.restricted_ref_pic_lists_flag ); @@ -2464,31 +2341,18 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265SequenceParameterSetVui const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( aspect_ratio_idc == rhs.aspect_ratio_idc ) && - ( sar_width == rhs.sar_width ) && - ( sar_height == rhs.sar_height ) && - ( video_format == rhs.video_format ) && - ( colour_primaries == rhs.colour_primaries ) && - ( transfer_characteristics == rhs.transfer_characteristics ) && - ( matrix_coeffs == rhs.matrix_coeffs ) && + return ( flags == rhs.flags ) && ( aspect_ratio_idc == rhs.aspect_ratio_idc ) && ( sar_width == rhs.sar_width ) && ( sar_height == rhs.sar_height ) && + ( video_format == rhs.video_format ) && ( colour_primaries == rhs.colour_primaries ) && + ( transfer_characteristics == rhs.transfer_characteristics ) && ( matrix_coeffs == rhs.matrix_coeffs ) && ( chroma_sample_loc_type_top_field == rhs.chroma_sample_loc_type_top_field ) && - ( chroma_sample_loc_type_bottom_field == rhs.chroma_sample_loc_type_bottom_field ) && - ( reserved1 == rhs.reserved1 ) && - ( reserved2 == rhs.reserved2 ) && - ( def_disp_win_left_offset == rhs.def_disp_win_left_offset ) && - ( def_disp_win_right_offset == rhs.def_disp_win_right_offset ) && - ( def_disp_win_top_offset == rhs.def_disp_win_top_offset ) && - ( def_disp_win_bottom_offset == rhs.def_disp_win_bottom_offset ) && - ( vui_num_units_in_tick == rhs.vui_num_units_in_tick ) && - ( vui_time_scale == rhs.vui_time_scale ) && - ( vui_num_ticks_poc_diff_one_minus1 == rhs.vui_num_ticks_poc_diff_one_minus1 ) && - ( min_spatial_segmentation_idc == rhs.min_spatial_segmentation_idc ) && - ( reserved3 == rhs.reserved3 ) && - ( max_bytes_per_pic_denom == rhs.max_bytes_per_pic_denom ) && - ( max_bits_per_min_cu_denom == rhs.max_bits_per_min_cu_denom ) && - ( log2_max_mv_length_horizontal == rhs.log2_max_mv_length_horizontal ) && - ( log2_max_mv_length_vertical == rhs.log2_max_mv_length_vertical ) && + ( chroma_sample_loc_type_bottom_field == rhs.chroma_sample_loc_type_bottom_field ) && ( reserved1 == rhs.reserved1 ) && + ( reserved2 == rhs.reserved2 ) && ( def_disp_win_left_offset == rhs.def_disp_win_left_offset ) && + ( def_disp_win_right_offset == rhs.def_disp_win_right_offset ) && ( def_disp_win_top_offset == rhs.def_disp_win_top_offset ) && + ( def_disp_win_bottom_offset == rhs.def_disp_win_bottom_offset ) && ( vui_num_units_in_tick == rhs.vui_num_units_in_tick ) && + ( vui_time_scale == rhs.vui_time_scale ) && ( vui_num_ticks_poc_diff_one_minus1 == rhs.vui_num_ticks_poc_diff_one_minus1 ) && + ( min_spatial_segmentation_idc == rhs.min_spatial_segmentation_idc ) && ( reserved3 == rhs.reserved3 ) && + ( max_bytes_per_pic_denom == rhs.max_bytes_per_pic_denom ) && ( max_bits_per_min_cu_denom == rhs.max_bits_per_min_cu_denom ) && + ( log2_max_mv_length_horizontal == rhs.log2_max_mv_length_horizontal ) && ( log2_max_mv_length_vertical == rhs.log2_max_mv_length_vertical ) && ( pHrdParameters == rhs.pHrdParameters ); } @@ -2592,34 +2456,27 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( sps_temporal_id_nesting_flag == rhs.sps_temporal_id_nesting_flag ) && - ( separate_colour_plane_flag == rhs.separate_colour_plane_flag ) && + return ( sps_temporal_id_nesting_flag == rhs.sps_temporal_id_nesting_flag ) && ( separate_colour_plane_flag == rhs.separate_colour_plane_flag ) && ( conformance_window_flag == rhs.conformance_window_flag ) && ( sps_sub_layer_ordering_info_present_flag == rhs.sps_sub_layer_ordering_info_present_flag ) && ( scaling_list_enabled_flag == rhs.scaling_list_enabled_flag ) && - ( sps_scaling_list_data_present_flag == rhs.sps_scaling_list_data_present_flag ) && - ( amp_enabled_flag == rhs.amp_enabled_flag ) && - ( sample_adaptive_offset_enabled_flag == rhs.sample_adaptive_offset_enabled_flag ) && - ( pcm_enabled_flag == rhs.pcm_enabled_flag ) && + ( sps_scaling_list_data_present_flag == rhs.sps_scaling_list_data_present_flag ) && ( amp_enabled_flag == rhs.amp_enabled_flag ) && + ( sample_adaptive_offset_enabled_flag == rhs.sample_adaptive_offset_enabled_flag ) && ( pcm_enabled_flag == rhs.pcm_enabled_flag ) && ( pcm_loop_filter_disabled_flag == rhs.pcm_loop_filter_disabled_flag ) && ( long_term_ref_pics_present_flag == rhs.long_term_ref_pics_present_flag ) && ( sps_temporal_mvp_enabled_flag == rhs.sps_temporal_mvp_enabled_flag ) && ( strong_intra_smoothing_enabled_flag == rhs.strong_intra_smoothing_enabled_flag ) && - ( vui_parameters_present_flag == rhs.vui_parameters_present_flag ) && - ( sps_extension_present_flag == rhs.sps_extension_present_flag ) && + ( vui_parameters_present_flag == rhs.vui_parameters_present_flag ) && ( sps_extension_present_flag == rhs.sps_extension_present_flag ) && ( sps_range_extension_flag == rhs.sps_range_extension_flag ) && ( transform_skip_rotation_enabled_flag == rhs.transform_skip_rotation_enabled_flag ) && ( transform_skip_context_enabled_flag == rhs.transform_skip_context_enabled_flag ) && - ( implicit_rdpcm_enabled_flag == rhs.implicit_rdpcm_enabled_flag ) && - ( explicit_rdpcm_enabled_flag == rhs.explicit_rdpcm_enabled_flag ) && + ( implicit_rdpcm_enabled_flag == rhs.implicit_rdpcm_enabled_flag ) && ( explicit_rdpcm_enabled_flag == rhs.explicit_rdpcm_enabled_flag ) && ( extended_precision_processing_flag == rhs.extended_precision_processing_flag ) && ( intra_smoothing_disabled_flag == rhs.intra_smoothing_disabled_flag ) && ( high_precision_offsets_enabled_flag == rhs.high_precision_offsets_enabled_flag ) && ( persistent_rice_adaptation_enabled_flag == rhs.persistent_rice_adaptation_enabled_flag ) && - ( cabac_bypass_alignment_enabled_flag == rhs.cabac_bypass_alignment_enabled_flag ) && - ( sps_scc_extension_flag == rhs.sps_scc_extension_flag ) && - ( sps_curr_pic_ref_enabled_flag == rhs.sps_curr_pic_ref_enabled_flag ) && - ( palette_mode_enabled_flag == rhs.palette_mode_enabled_flag ) && + ( cabac_bypass_alignment_enabled_flag == rhs.cabac_bypass_alignment_enabled_flag ) && ( sps_scc_extension_flag == rhs.sps_scc_extension_flag ) && + ( sps_curr_pic_ref_enabled_flag == rhs.sps_curr_pic_ref_enabled_flag ) && ( palette_mode_enabled_flag == rhs.palette_mode_enabled_flag ) && ( sps_palette_predictor_initializers_present_flag == rhs.sps_palette_predictor_initializers_present_flag ) && ( intra_boundary_filtering_disabled_flag == rhs.intra_boundary_filtering_disabled_flag ); } @@ -2727,20 +2584,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265ShortTermRefPicSet const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( delta_idx_minus1 == rhs.delta_idx_minus1 ) && - ( use_delta_flag == rhs.use_delta_flag ) && - ( abs_delta_rps_minus1 == rhs.abs_delta_rps_minus1 ) && - ( used_by_curr_pic_flag == rhs.used_by_curr_pic_flag ) && - ( used_by_curr_pic_s0_flag == rhs.used_by_curr_pic_s0_flag ) && - ( used_by_curr_pic_s1_flag == rhs.used_by_curr_pic_s1_flag ) && - ( reserved1 == rhs.reserved1 ) && - ( reserved2 == rhs.reserved2 ) && - ( reserved3 == rhs.reserved3 ) && - ( num_negative_pics == rhs.num_negative_pics ) && - ( num_positive_pics == rhs.num_positive_pics ) && - ( delta_poc_s0_minus1 == rhs.delta_poc_s0_minus1 ) && - ( delta_poc_s1_minus1 == rhs.delta_poc_s1_minus1 ); + return ( flags == rhs.flags ) && ( delta_idx_minus1 == rhs.delta_idx_minus1 ) && ( use_delta_flag == rhs.use_delta_flag ) && + ( abs_delta_rps_minus1 == rhs.abs_delta_rps_minus1 ) && ( used_by_curr_pic_flag == rhs.used_by_curr_pic_flag ) && + ( used_by_curr_pic_s0_flag == rhs.used_by_curr_pic_s0_flag ) && ( used_by_curr_pic_s1_flag == rhs.used_by_curr_pic_s1_flag ) && + ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && ( reserved3 == rhs.reserved3 ) && + ( num_negative_pics == rhs.num_negative_pics ) && ( num_positive_pics == rhs.num_positive_pics ) && + ( delta_poc_s0_minus1 == rhs.delta_poc_s0_minus1 ) && ( delta_poc_s1_minus1 == rhs.delta_poc_s1_minus1 ); } bool operator!=( H265ShortTermRefPicSet const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -2830,15 +2679,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( chroma_format_idc == rhs.chroma_format_idc ) && - ( pic_width_in_luma_samples == rhs.pic_width_in_luma_samples ) && - ( pic_height_in_luma_samples == rhs.pic_height_in_luma_samples ) && - ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && - ( sps_max_sub_layers_minus1 == rhs.sps_max_sub_layers_minus1 ) && - ( sps_seq_parameter_set_id == rhs.sps_seq_parameter_set_id ) && - ( bit_depth_luma_minus8 == rhs.bit_depth_luma_minus8 ) && - ( bit_depth_chroma_minus8 == rhs.bit_depth_chroma_minus8 ) && + return ( flags == rhs.flags ) && ( chroma_format_idc == rhs.chroma_format_idc ) && ( pic_width_in_luma_samples == rhs.pic_width_in_luma_samples ) && + ( pic_height_in_luma_samples == rhs.pic_height_in_luma_samples ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && + ( sps_max_sub_layers_minus1 == rhs.sps_max_sub_layers_minus1 ) && ( sps_seq_parameter_set_id == rhs.sps_seq_parameter_set_id ) && + ( bit_depth_luma_minus8 == rhs.bit_depth_luma_minus8 ) && ( bit_depth_chroma_minus8 == rhs.bit_depth_chroma_minus8 ) && ( log2_max_pic_order_cnt_lsb_minus4 == rhs.log2_max_pic_order_cnt_lsb_minus4 ) && ( log2_min_luma_coding_block_size_minus3 == rhs.log2_min_luma_coding_block_size_minus3 ) && ( log2_diff_max_min_luma_coding_block_size == rhs.log2_diff_max_min_luma_coding_block_size ) && @@ -2846,29 +2690,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ( log2_diff_max_min_luma_transform_block_size == rhs.log2_diff_max_min_luma_transform_block_size ) && ( max_transform_hierarchy_depth_inter == rhs.max_transform_hierarchy_depth_inter ) && ( max_transform_hierarchy_depth_intra == rhs.max_transform_hierarchy_depth_intra ) && - ( num_short_term_ref_pic_sets == rhs.num_short_term_ref_pic_sets ) && - ( num_long_term_ref_pics_sps == rhs.num_long_term_ref_pics_sps ) && + ( num_short_term_ref_pic_sets == rhs.num_short_term_ref_pic_sets ) && ( num_long_term_ref_pics_sps == rhs.num_long_term_ref_pics_sps ) && ( pcm_sample_bit_depth_luma_minus1 == rhs.pcm_sample_bit_depth_luma_minus1 ) && ( pcm_sample_bit_depth_chroma_minus1 == rhs.pcm_sample_bit_depth_chroma_minus1 ) && ( log2_min_pcm_luma_coding_block_size_minus3 == rhs.log2_min_pcm_luma_coding_block_size_minus3 ) && - ( log2_diff_max_min_pcm_luma_coding_block_size == rhs.log2_diff_max_min_pcm_luma_coding_block_size ) && - ( reserved1 == rhs.reserved1 ) && - ( reserved2 == rhs.reserved2 ) && - ( palette_max_size == rhs.palette_max_size ) && + ( log2_diff_max_min_pcm_luma_coding_block_size == rhs.log2_diff_max_min_pcm_luma_coding_block_size ) && ( reserved1 == rhs.reserved1 ) && + ( reserved2 == rhs.reserved2 ) && ( palette_max_size == rhs.palette_max_size ) && ( delta_palette_max_predictor_size == rhs.delta_palette_max_predictor_size ) && ( motion_vector_resolution_control_idc == rhs.motion_vector_resolution_control_idc ) && ( sps_num_palette_predictor_initializers_minus1 == rhs.sps_num_palette_predictor_initializers_minus1 ) && - ( conf_win_left_offset == rhs.conf_win_left_offset ) && - ( conf_win_right_offset == rhs.conf_win_right_offset ) && - ( conf_win_top_offset == rhs.conf_win_top_offset ) && - ( conf_win_bottom_offset == rhs.conf_win_bottom_offset ) && - ( pProfileTierLevel == rhs.pProfileTierLevel ) && - ( pDecPicBufMgr == rhs.pDecPicBufMgr ) && - ( pScalingLists == rhs.pScalingLists ) && - ( pShortTermRefPicSet == rhs.pShortTermRefPicSet ) && - ( pLongTermRefPicsSps == rhs.pLongTermRefPicsSps ) && - ( pSequenceParameterSetVui == rhs.pSequenceParameterSetVui ) && - ( pPredictorPaletteEntries == rhs.pPredictorPaletteEntries ); + ( conf_win_left_offset == rhs.conf_win_left_offset ) && ( conf_win_right_offset == rhs.conf_win_right_offset ) && + ( conf_win_top_offset == rhs.conf_win_top_offset ) && ( conf_win_bottom_offset == rhs.conf_win_bottom_offset ) && + ( pProfileTierLevel == rhs.pProfileTierLevel ) && ( pDecPicBufMgr == rhs.pDecPicBufMgr ) && ( pScalingLists == rhs.pScalingLists ) && + ( pShortTermRefPicSet == rhs.pShortTermRefPicSet ) && ( pLongTermRefPicsSps == rhs.pLongTermRefPicsSps ) && + ( pSequenceParameterSetVui == rhs.pSequenceParameterSetVui ) && ( pPredictorPaletteEntries == rhs.pPredictorPaletteEntries ); } bool operator!=( H265SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -2946,19 +2781,13 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( dependent_slice_segments_enabled_flag == rhs.dependent_slice_segments_enabled_flag ) && - ( output_flag_present_flag == rhs.output_flag_present_flag ) && - ( sign_data_hiding_enabled_flag == rhs.sign_data_hiding_enabled_flag ) && - ( cabac_init_present_flag == rhs.cabac_init_present_flag ) && - ( constrained_intra_pred_flag == rhs.constrained_intra_pred_flag ) && - ( transform_skip_enabled_flag == rhs.transform_skip_enabled_flag ) && - ( cu_qp_delta_enabled_flag == rhs.cu_qp_delta_enabled_flag ) && + ( output_flag_present_flag == rhs.output_flag_present_flag ) && ( sign_data_hiding_enabled_flag == rhs.sign_data_hiding_enabled_flag ) && + ( cabac_init_present_flag == rhs.cabac_init_present_flag ) && ( constrained_intra_pred_flag == rhs.constrained_intra_pred_flag ) && + ( transform_skip_enabled_flag == rhs.transform_skip_enabled_flag ) && ( cu_qp_delta_enabled_flag == rhs.cu_qp_delta_enabled_flag ) && ( pps_slice_chroma_qp_offsets_present_flag == rhs.pps_slice_chroma_qp_offsets_present_flag ) && - ( weighted_pred_flag == rhs.weighted_pred_flag ) && - ( weighted_bipred_flag == rhs.weighted_bipred_flag ) && - ( transquant_bypass_enabled_flag == rhs.transquant_bypass_enabled_flag ) && - ( tiles_enabled_flag == rhs.tiles_enabled_flag ) && - ( entropy_coding_sync_enabled_flag == rhs.entropy_coding_sync_enabled_flag ) && - ( uniform_spacing_flag == rhs.uniform_spacing_flag ) && + ( weighted_pred_flag == rhs.weighted_pred_flag ) && ( weighted_bipred_flag == rhs.weighted_bipred_flag ) && + ( transquant_bypass_enabled_flag == rhs.transquant_bypass_enabled_flag ) && ( tiles_enabled_flag == rhs.tiles_enabled_flag ) && + ( entropy_coding_sync_enabled_flag == rhs.entropy_coding_sync_enabled_flag ) && ( uniform_spacing_flag == rhs.uniform_spacing_flag ) && ( loop_filter_across_tiles_enabled_flag == rhs.loop_filter_across_tiles_enabled_flag ) && ( pps_loop_filter_across_slices_enabled_flag == rhs.pps_loop_filter_across_slices_enabled_flag ) && ( deblocking_filter_control_present_flag == rhs.deblocking_filter_control_present_flag ) && @@ -2974,8 +2803,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE ( residual_adaptive_colour_transform_enabled_flag == rhs.residual_adaptive_colour_transform_enabled_flag ) && ( pps_slice_act_qp_offsets_present_flag == rhs.pps_slice_act_qp_offsets_present_flag ) && ( pps_palette_predictor_initializers_present_flag == rhs.pps_palette_predictor_initializers_present_flag ) && - ( monochrome_palette_flag == rhs.monochrome_palette_flag ) && - ( pps_range_extension_flag == rhs.pps_range_extension_flag ); + ( monochrome_palette_flag == rhs.monochrome_palette_flag ) && ( pps_range_extension_flag == rhs.pps_range_extension_flag ); } bool operator!=( H265PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3043,41 +2871,25 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( H265PictureParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) && - ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && - ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && + return ( flags == rhs.flags ) && ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) && + ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && ( num_extra_slice_header_bits == rhs.num_extra_slice_header_bits ) && ( num_ref_idx_l0_default_active_minus1 == rhs.num_ref_idx_l0_default_active_minus1 ) && - ( num_ref_idx_l1_default_active_minus1 == rhs.num_ref_idx_l1_default_active_minus1 ) && - ( init_qp_minus26 == rhs.init_qp_minus26 ) && - ( diff_cu_qp_delta_depth == rhs.diff_cu_qp_delta_depth ) && - ( pps_cb_qp_offset == rhs.pps_cb_qp_offset ) && - ( pps_cr_qp_offset == rhs.pps_cr_qp_offset ) && - ( pps_beta_offset_div2 == rhs.pps_beta_offset_div2 ) && - ( pps_tc_offset_div2 == rhs.pps_tc_offset_div2 ) && - ( log2_parallel_merge_level_minus2 == rhs.log2_parallel_merge_level_minus2 ) && + ( num_ref_idx_l1_default_active_minus1 == rhs.num_ref_idx_l1_default_active_minus1 ) && ( init_qp_minus26 == rhs.init_qp_minus26 ) && + ( diff_cu_qp_delta_depth == rhs.diff_cu_qp_delta_depth ) && ( pps_cb_qp_offset == rhs.pps_cb_qp_offset ) && + ( pps_cr_qp_offset == rhs.pps_cr_qp_offset ) && ( pps_beta_offset_div2 == rhs.pps_beta_offset_div2 ) && + ( pps_tc_offset_div2 == rhs.pps_tc_offset_div2 ) && ( log2_parallel_merge_level_minus2 == rhs.log2_parallel_merge_level_minus2 ) && ( log2_max_transform_skip_block_size_minus2 == rhs.log2_max_transform_skip_block_size_minus2 ) && ( diff_cu_chroma_qp_offset_depth == rhs.diff_cu_chroma_qp_offset_depth ) && - ( chroma_qp_offset_list_len_minus1 == rhs.chroma_qp_offset_list_len_minus1 ) && - ( cb_qp_offset_list == rhs.cb_qp_offset_list ) && - ( cr_qp_offset_list == rhs.cr_qp_offset_list ) && - ( log2_sao_offset_scale_luma == rhs.log2_sao_offset_scale_luma ) && - ( log2_sao_offset_scale_chroma == rhs.log2_sao_offset_scale_chroma ) && - ( pps_act_y_qp_offset_plus5 == rhs.pps_act_y_qp_offset_plus5 ) && - ( pps_act_cb_qp_offset_plus5 == rhs.pps_act_cb_qp_offset_plus5 ) && - ( pps_act_cr_qp_offset_plus3 == rhs.pps_act_cr_qp_offset_plus3 ) && + ( chroma_qp_offset_list_len_minus1 == rhs.chroma_qp_offset_list_len_minus1 ) && ( cb_qp_offset_list == rhs.cb_qp_offset_list ) && + ( cr_qp_offset_list == rhs.cr_qp_offset_list ) && ( log2_sao_offset_scale_luma == rhs.log2_sao_offset_scale_luma ) && + ( log2_sao_offset_scale_chroma == rhs.log2_sao_offset_scale_chroma ) && ( pps_act_y_qp_offset_plus5 == rhs.pps_act_y_qp_offset_plus5 ) && + ( pps_act_cb_qp_offset_plus5 == rhs.pps_act_cb_qp_offset_plus5 ) && ( pps_act_cr_qp_offset_plus3 == rhs.pps_act_cr_qp_offset_plus3 ) && ( pps_num_palette_predictor_initializers == rhs.pps_num_palette_predictor_initializers ) && - ( luma_bit_depth_entry_minus8 == rhs.luma_bit_depth_entry_minus8 ) && - ( chroma_bit_depth_entry_minus8 == rhs.chroma_bit_depth_entry_minus8 ) && - ( num_tile_columns_minus1 == rhs.num_tile_columns_minus1 ) && - ( num_tile_rows_minus1 == rhs.num_tile_rows_minus1 ) && - ( reserved1 == rhs.reserved1 ) && - ( reserved2 == rhs.reserved2 ) && - ( column_width_minus1 == rhs.column_width_minus1 ) && - ( row_height_minus1 == rhs.row_height_minus1 ) && - ( reserved3 == rhs.reserved3 ) && - ( pScalingLists == rhs.pScalingLists ) && + ( luma_bit_depth_entry_minus8 == rhs.luma_bit_depth_entry_minus8 ) && ( chroma_bit_depth_entry_minus8 == rhs.chroma_bit_depth_entry_minus8 ) && + ( num_tile_columns_minus1 == rhs.num_tile_columns_minus1 ) && ( num_tile_rows_minus1 == rhs.num_tile_rows_minus1 ) && + ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && ( column_width_minus1 == rhs.column_width_minus1 ) && + ( row_height_minus1 == rhs.row_height_minus1 ) && ( reserved3 == rhs.reserved3 ) && ( pScalingLists == rhs.pScalingLists ) && ( pPredictorPaletteEntries == rhs.pPredictorPaletteEntries ); } @@ -3155,9 +2967,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( IrapPicFlag == rhs.IrapPicFlag ) && - ( IdrPicFlag == rhs.IdrPicFlag ) && - ( IsReference == rhs.IsReference ) && + return ( IrapPicFlag == rhs.IrapPicFlag ) && ( IdrPicFlag == rhs.IdrPicFlag ) && ( IsReference == rhs.IsReference ) && ( short_term_ref_pic_set_sps_flag == rhs.short_term_ref_pic_set_sps_flag ); } @@ -3199,16 +3009,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && - ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && - ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) && - ( NumDeltaPocsOfRefRpsIdx == rhs.NumDeltaPocsOfRefRpsIdx ) && - ( PicOrderCntVal == rhs.PicOrderCntVal ) && - ( NumBitsForSTRefPicSetInSlice == rhs.NumBitsForSTRefPicSetInSlice ) && - ( reserved == rhs.reserved ) && - ( RefPicSetStCurrBefore == rhs.RefPicSetStCurrBefore ) && - ( RefPicSetStCurrAfter == rhs.RefPicSetStCurrAfter ) && + return ( flags == rhs.flags ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && + ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) && + ( NumDeltaPocsOfRefRpsIdx == rhs.NumDeltaPocsOfRefRpsIdx ) && ( PicOrderCntVal == rhs.PicOrderCntVal ) && + ( NumBitsForSTRefPicSetInSlice == rhs.NumBitsForSTRefPicSetInSlice ) && ( reserved == rhs.reserved ) && + ( RefPicSetStCurrBefore == rhs.RefPicSetStCurrBefore ) && ( RefPicSetStCurrAfter == rhs.RefPicSetStCurrAfter ) && ( RefPicSetLtCurr == rhs.RefPicSetLtCurr ); } @@ -3339,10 +3144,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( luma_weight_l0_flag == rhs.luma_weight_l0_flag ) && - ( chroma_weight_l0_flag == rhs.chroma_weight_l0_flag ) && - ( luma_weight_l1_flag == rhs.luma_weight_l1_flag ) && - ( chroma_weight_l1_flag == rhs.chroma_weight_l1_flag ); + return ( luma_weight_l0_flag == rhs.luma_weight_l0_flag ) && ( chroma_weight_l0_flag == rhs.chroma_weight_l0_flag ) && + ( luma_weight_l1_flag == rhs.luma_weight_l1_flag ) && ( chroma_weight_l1_flag == rhs.chroma_weight_l1_flag ); } bool operator!=( EncodeH265WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3383,16 +3186,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265WeightTable const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( luma_log2_weight_denom == rhs.luma_log2_weight_denom ) && - ( delta_chroma_log2_weight_denom == rhs.delta_chroma_log2_weight_denom ) && - ( delta_luma_weight_l0 == rhs.delta_luma_weight_l0 ) && - ( luma_offset_l0 == rhs.luma_offset_l0 ) && - ( delta_chroma_weight_l0 == rhs.delta_chroma_weight_l0 ) && - ( delta_chroma_offset_l0 == rhs.delta_chroma_offset_l0 ) && - ( delta_luma_weight_l1 == rhs.delta_luma_weight_l1 ) && - ( luma_offset_l1 == rhs.luma_offset_l1 ) && - ( delta_chroma_weight_l1 == rhs.delta_chroma_weight_l1 ) && + return ( flags == rhs.flags ) && ( luma_log2_weight_denom == rhs.luma_log2_weight_denom ) && + ( delta_chroma_log2_weight_denom == rhs.delta_chroma_log2_weight_denom ) && ( delta_luma_weight_l0 == rhs.delta_luma_weight_l0 ) && + ( luma_offset_l0 == rhs.luma_offset_l0 ) && ( delta_chroma_weight_l0 == rhs.delta_chroma_weight_l0 ) && + ( delta_chroma_offset_l0 == rhs.delta_chroma_offset_l0 ) && ( delta_luma_weight_l1 == rhs.delta_luma_weight_l1 ) && + ( luma_offset_l1 == rhs.luma_offset_l1 ) && ( delta_chroma_weight_l1 == rhs.delta_chroma_weight_l1 ) && ( delta_chroma_offset_l1 == rhs.delta_chroma_offset_l1 ); } @@ -3442,18 +3240,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265SliceSegmentHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( first_slice_segment_in_pic_flag == rhs.first_slice_segment_in_pic_flag ) && - ( dependent_slice_segment_flag == rhs.dependent_slice_segment_flag ) && - ( slice_sao_luma_flag == rhs.slice_sao_luma_flag ) && - ( slice_sao_chroma_flag == rhs.slice_sao_chroma_flag ) && - ( num_ref_idx_active_override_flag == rhs.num_ref_idx_active_override_flag ) && - ( mvd_l1_zero_flag == rhs.mvd_l1_zero_flag ) && - ( cabac_init_flag == rhs.cabac_init_flag ) && + ( dependent_slice_segment_flag == rhs.dependent_slice_segment_flag ) && ( slice_sao_luma_flag == rhs.slice_sao_luma_flag ) && + ( slice_sao_chroma_flag == rhs.slice_sao_chroma_flag ) && ( num_ref_idx_active_override_flag == rhs.num_ref_idx_active_override_flag ) && + ( mvd_l1_zero_flag == rhs.mvd_l1_zero_flag ) && ( cabac_init_flag == rhs.cabac_init_flag ) && ( cu_chroma_qp_offset_enabled_flag == rhs.cu_chroma_qp_offset_enabled_flag ) && ( deblocking_filter_override_flag == rhs.deblocking_filter_override_flag ) && ( slice_deblocking_filter_disabled_flag == rhs.slice_deblocking_filter_disabled_flag ) && ( collocated_from_l0_flag == rhs.collocated_from_l0_flag ) && - ( slice_loop_filter_across_slices_enabled_flag == rhs.slice_loop_filter_across_slices_enabled_flag ) && - ( reserved == rhs.reserved ); + ( slice_loop_filter_across_slices_enabled_flag == rhs.slice_loop_filter_across_slices_enabled_flag ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeH265SliceSegmentHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3503,20 +3297,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265SliceSegmentHeader const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( slice_type == rhs.slice_type ) && - ( slice_segment_address == rhs.slice_segment_address ) && - ( collocated_ref_idx == rhs.collocated_ref_idx ) && - ( MaxNumMergeCand == rhs.MaxNumMergeCand ) && - ( slice_cb_qp_offset == rhs.slice_cb_qp_offset ) && - ( slice_cr_qp_offset == rhs.slice_cr_qp_offset ) && - ( slice_beta_offset_div2 == rhs.slice_beta_offset_div2 ) && - ( slice_tc_offset_div2 == rhs.slice_tc_offset_div2 ) && - ( slice_act_y_qp_offset == rhs.slice_act_y_qp_offset ) && - ( slice_act_cb_qp_offset == rhs.slice_act_cb_qp_offset ) && - ( slice_act_cr_qp_offset == rhs.slice_act_cr_qp_offset ) && - ( slice_qp_delta == rhs.slice_qp_delta ) && - ( reserved1 == rhs.reserved1 ) && + return ( flags == rhs.flags ) && ( slice_type == rhs.slice_type ) && ( slice_segment_address == rhs.slice_segment_address ) && + ( collocated_ref_idx == rhs.collocated_ref_idx ) && ( MaxNumMergeCand == rhs.MaxNumMergeCand ) && + ( slice_cb_qp_offset == rhs.slice_cb_qp_offset ) && ( slice_cr_qp_offset == rhs.slice_cr_qp_offset ) && + ( slice_beta_offset_div2 == rhs.slice_beta_offset_div2 ) && ( slice_tc_offset_div2 == rhs.slice_tc_offset_div2 ) && + ( slice_act_y_qp_offset == rhs.slice_act_y_qp_offset ) && ( slice_act_cb_qp_offset == rhs.slice_act_cb_qp_offset ) && + ( slice_act_cr_qp_offset == rhs.slice_act_cr_qp_offset ) && ( slice_qp_delta == rhs.slice_qp_delta ) && ( reserved1 == rhs.reserved1 ) && ( pWeightTable == rhs.pWeightTable ); } @@ -3570,8 +3356,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { return ( ref_pic_list_modification_flag_l0 == rhs.ref_pic_list_modification_flag_l0 ) && - ( ref_pic_list_modification_flag_l1 == rhs.ref_pic_list_modification_flag_l1 ) && - ( reserved == rhs.reserved ); + ( ref_pic_list_modification_flag_l1 == rhs.ref_pic_list_modification_flag_l1 ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeH265ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3611,13 +3396,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( num_ref_idx_l0_active_minus1 == rhs.num_ref_idx_l0_active_minus1 ) && - ( num_ref_idx_l1_active_minus1 == rhs.num_ref_idx_l1_active_minus1 ) && - ( RefPicList0 == rhs.RefPicList0 ) && - ( RefPicList1 == rhs.RefPicList1 ) && - ( list_entry_l0 == rhs.list_entry_l0 ) && - ( list_entry_l1 == rhs.list_entry_l1 ); + return ( flags == rhs.flags ) && ( num_ref_idx_l0_active_minus1 == rhs.num_ref_idx_l0_active_minus1 ) && + ( num_ref_idx_l1_active_minus1 == rhs.num_ref_idx_l1_active_minus1 ) && ( RefPicList0 == rhs.RefPicList0 ) && + ( RefPicList1 == rhs.RefPicList1 ) && ( list_entry_l0 == rhs.list_entry_l0 ) && ( list_entry_l1 == rhs.list_entry_l1 ); } bool operator!=( EncodeH265ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3661,16 +3442,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( is_reference == rhs.is_reference ) && - ( IrapPicFlag == rhs.IrapPicFlag ) && - ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && - ( discardable_flag == rhs.discardable_flag ) && - ( cross_layer_bla_flag == rhs.cross_layer_bla_flag ) && - ( pic_output_flag == rhs.pic_output_flag ) && + return ( is_reference == rhs.is_reference ) && ( IrapPicFlag == rhs.IrapPicFlag ) && + ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( discardable_flag == rhs.discardable_flag ) && + ( cross_layer_bla_flag == rhs.cross_layer_bla_flag ) && ( pic_output_flag == rhs.pic_output_flag ) && ( no_output_of_prior_pics_flag == rhs.no_output_of_prior_pics_flag ) && ( short_term_ref_pic_set_sps_flag == rhs.short_term_ref_pic_set_sps_flag ) && - ( slice_temporal_mvp_enabled_flag == rhs.slice_temporal_mvp_enabled_flag ) && - ( reserved == rhs.reserved ); + ( slice_temporal_mvp_enabled_flag == rhs.slice_temporal_mvp_enabled_flag ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3717,13 +3494,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265LongTermRefPics const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( num_long_term_sps == rhs.num_long_term_sps ) && - ( num_long_term_pics == rhs.num_long_term_pics ) && - ( lt_idx_sps == rhs.lt_idx_sps ) && - ( poc_lsb_lt == rhs.poc_lsb_lt ) && - ( used_by_curr_pic_lt_flag == rhs.used_by_curr_pic_lt_flag ) && - ( delta_poc_msb_present_flag == rhs.delta_poc_msb_present_flag ) && - ( delta_poc_msb_cycle_lt == rhs.delta_poc_msb_cycle_lt ); + return ( num_long_term_sps == rhs.num_long_term_sps ) && ( num_long_term_pics == rhs.num_long_term_pics ) && ( lt_idx_sps == rhs.lt_idx_sps ) && + ( poc_lsb_lt == rhs.poc_lsb_lt ) && ( used_by_curr_pic_lt_flag == rhs.used_by_curr_pic_lt_flag ) && + ( delta_poc_msb_present_flag == rhs.delta_poc_msb_present_flag ) && ( delta_poc_msb_cycle_lt == rhs.delta_poc_msb_cycle_lt ); } bool operator!=( EncodeH265LongTermRefPics const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3767,18 +3540,11 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( pic_type == rhs.pic_type ) && - ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && - ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && - ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) && - ( short_term_ref_pic_set_idx == rhs.short_term_ref_pic_set_idx ) && - ( PicOrderCntVal == rhs.PicOrderCntVal ) && - ( TemporalId == rhs.TemporalId ) && - ( reserved1 == rhs.reserved1 ) && - ( pRefLists == rhs.pRefLists ) && - ( pShortTermRefPicSet == rhs.pShortTermRefPicSet ) && - ( pLongTermRefPics == rhs.pLongTermRefPics ); + return ( flags == rhs.flags ) && ( pic_type == rhs.pic_type ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) && + ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) && + ( short_term_ref_pic_set_idx == rhs.short_term_ref_pic_set_idx ) && ( PicOrderCntVal == rhs.PicOrderCntVal ) && + ( TemporalId == rhs.TemporalId ) && ( reserved1 == rhs.reserved1 ) && ( pRefLists == rhs.pRefLists ) && + ( pShortTermRefPicSet == rhs.pShortTermRefPicSet ) && ( pLongTermRefPics == rhs.pLongTermRefPics ); } bool operator!=( EncodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -3827,8 +3593,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeH265ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && - ( unused_for_reference == rhs.unused_for_reference ) && + return ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( unused_for_reference == rhs.unused_for_reference ) && ( reserved == rhs.reserved ); } @@ -3953,12 +3718,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( VP9ColorConfig const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( BitDepth == rhs.BitDepth ) && - ( subsampling_x == rhs.subsampling_x ) && - ( subsampling_y == rhs.subsampling_y ) && - ( reserved1 == rhs.reserved1 ) && - ( color_space == rhs.color_space ); + return ( flags == rhs.flags ) && ( BitDepth == rhs.BitDepth ) && ( subsampling_x == rhs.subsampling_x ) && ( subsampling_y == rhs.subsampling_y ) && + ( reserved1 == rhs.reserved1 ) && ( color_space == rhs.color_space ); } bool operator!=( VP9ColorConfig const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4001,8 +3762,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( VP9LoopFilterFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( loop_filter_delta_enabled == rhs.loop_filter_delta_enabled ) && - ( loop_filter_delta_update == rhs.loop_filter_delta_update ) && + return ( loop_filter_delta_enabled == rhs.loop_filter_delta_enabled ) && ( loop_filter_delta_update == rhs.loop_filter_delta_update ) && ( reserved == rhs.reserved ); } @@ -4043,13 +3803,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( VP9LoopFilter const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( loop_filter_level == rhs.loop_filter_level ) && - ( loop_filter_sharpness == rhs.loop_filter_sharpness ) && - ( update_ref_delta == rhs.update_ref_delta ) && - ( loop_filter_ref_deltas == rhs.loop_filter_ref_deltas ) && - ( update_mode_delta == rhs.update_mode_delta ) && - ( loop_filter_mode_deltas == rhs.loop_filter_mode_deltas ); + return ( flags == rhs.flags ) && ( loop_filter_level == rhs.loop_filter_level ) && ( loop_filter_sharpness == rhs.loop_filter_sharpness ) && + ( update_ref_delta == rhs.update_ref_delta ) && ( loop_filter_ref_deltas == rhs.loop_filter_ref_deltas ) && + ( update_mode_delta == rhs.update_mode_delta ) && ( loop_filter_mode_deltas == rhs.loop_filter_mode_deltas ); } bool operator!=( VP9LoopFilter const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4093,10 +3849,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( VP9SegmentationFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( segmentation_update_map == rhs.segmentation_update_map ) && - ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && - ( segmentation_update_data == rhs.segmentation_update_data ) && - ( segmentation_abs_or_delta_update == rhs.segmentation_abs_or_delta_update ) && + return ( segmentation_update_map == rhs.segmentation_update_map ) && ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && + ( segmentation_update_data == rhs.segmentation_update_data ) && ( segmentation_abs_or_delta_update == rhs.segmentation_abs_or_delta_update ) && ( reserved == rhs.reserved ); } @@ -4139,11 +3893,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( VP9Segmentation const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( segmentation_tree_probs == rhs.segmentation_tree_probs ) && - ( segmentation_pred_prob == rhs.segmentation_pred_prob ) && - ( FeatureEnabled == rhs.FeatureEnabled ) && - ( FeatureData == rhs.FeatureData ); + return ( flags == rhs.flags ) && ( segmentation_tree_probs == rhs.segmentation_tree_probs ) && + ( segmentation_pred_prob == rhs.segmentation_pred_prob ) && ( FeatureEnabled == rhs.FeatureEnabled ) && ( FeatureData == rhs.FeatureData ); } bool operator!=( VP9Segmentation const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4189,15 +3940,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeVP9PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( error_resilient_mode == rhs.error_resilient_mode ) && - ( intra_only == rhs.intra_only ) && - ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && - ( refresh_frame_context == rhs.refresh_frame_context ) && - ( frame_parallel_decoding_mode == rhs.frame_parallel_decoding_mode ) && - ( segmentation_enabled == rhs.segmentation_enabled ) && - ( show_frame == rhs.show_frame ) && - ( UsePrevFrameMvs == rhs.UsePrevFrameMvs ) && - ( reserved == rhs.reserved ); + return ( error_resilient_mode == rhs.error_resilient_mode ) && ( intra_only == rhs.intra_only ) && + ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && ( refresh_frame_context == rhs.refresh_frame_context ) && + ( frame_parallel_decoding_mode == rhs.frame_parallel_decoding_mode ) && ( segmentation_enabled == rhs.segmentation_enabled ) && + ( show_frame == rhs.show_frame ) && ( UsePrevFrameMvs == rhs.UsePrevFrameMvs ) && ( reserved == rhs.reserved ); } bool operator!=( DecodeVP9PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4243,23 +3989,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeVP9PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( profile == rhs.profile ) && - ( frame_type == rhs.frame_type ) && - ( frame_context_idx == rhs.frame_context_idx ) && - ( reset_frame_context == rhs.reset_frame_context ) && - ( refresh_frame_flags == rhs.refresh_frame_flags ) && - ( ref_frame_sign_bias_mask == rhs.ref_frame_sign_bias_mask ) && - ( interpolation_filter == rhs.interpolation_filter ) && - ( base_q_idx == rhs.base_q_idx ) && - ( delta_q_y_dc == rhs.delta_q_y_dc ) && - ( delta_q_uv_dc == rhs.delta_q_uv_dc ) && - ( delta_q_uv_ac == rhs.delta_q_uv_ac ) && - ( tile_cols_log2 == rhs.tile_cols_log2 ) && - ( tile_rows_log2 == rhs.tile_rows_log2 ) && - ( reserved1 == rhs.reserved1 ) && - ( pColorConfig == rhs.pColorConfig ) && - ( pLoopFilter == rhs.pLoopFilter ) && + return ( flags == rhs.flags ) && ( profile == rhs.profile ) && ( frame_type == rhs.frame_type ) && ( frame_context_idx == rhs.frame_context_idx ) && + ( reset_frame_context == rhs.reset_frame_context ) && ( refresh_frame_flags == rhs.refresh_frame_flags ) && + ( ref_frame_sign_bias_mask == rhs.ref_frame_sign_bias_mask ) && ( interpolation_filter == rhs.interpolation_filter ) && + ( base_q_idx == rhs.base_q_idx ) && ( delta_q_y_dc == rhs.delta_q_y_dc ) && ( delta_q_uv_dc == rhs.delta_q_uv_dc ) && + ( delta_q_uv_ac == rhs.delta_q_uv_ac ) && ( tile_cols_log2 == rhs.tile_cols_log2 ) && ( tile_rows_log2 == rhs.tile_rows_log2 ) && + ( reserved1 == rhs.reserved1 ) && ( pColorConfig == rhs.pColorConfig ) && ( pLoopFilter == rhs.pLoopFilter ) && ( pSegmentation == rhs.pSegmentation ); } @@ -4320,11 +4055,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1ColorConfigFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( mono_chrome == rhs.mono_chrome ) && - ( color_range == rhs.color_range ) && - ( separate_uv_delta_q == rhs.separate_uv_delta_q ) && - ( color_description_present_flag == rhs.color_description_present_flag ) && - ( reserved == rhs.reserved ); + return ( mono_chrome == rhs.mono_chrome ) && ( color_range == rhs.color_range ) && ( separate_uv_delta_q == rhs.separate_uv_delta_q ) && + ( color_description_present_flag == rhs.color_description_present_flag ) && ( reserved == rhs.reserved ); } bool operator!=( AV1ColorConfigFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4366,15 +4098,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1ColorConfig const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( BitDepth == rhs.BitDepth ) && - ( subsampling_x == rhs.subsampling_x ) && - ( subsampling_y == rhs.subsampling_y ) && - ( reserved1 == rhs.reserved1 ) && - ( color_primaries == rhs.color_primaries ) && - ( transfer_characteristics == rhs.transfer_characteristics ) && - ( matrix_coefficients == rhs.matrix_coefficients ) && - ( chroma_sample_position == rhs.chroma_sample_position ); + return ( flags == rhs.flags ) && ( BitDepth == rhs.BitDepth ) && ( subsampling_x == rhs.subsampling_x ) && ( subsampling_y == rhs.subsampling_y ) && + ( reserved1 == rhs.reserved1 ) && ( color_primaries == rhs.color_primaries ) && ( transfer_characteristics == rhs.transfer_characteristics ) && + ( matrix_coefficients == rhs.matrix_coefficients ) && ( chroma_sample_position == rhs.chroma_sample_position ); } bool operator!=( AV1ColorConfig const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4463,9 +4189,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1TimingInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( num_units_in_display_tick == rhs.num_units_in_display_tick ) && - ( time_scale == rhs.time_scale ) && + return ( flags == rhs.flags ) && ( num_units_in_display_tick == rhs.num_units_in_display_tick ) && ( time_scale == rhs.time_scale ) && ( num_ticks_per_picture_minus_1 == rhs.num_ticks_per_picture_minus_1 ); } @@ -4507,8 +4231,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1LoopFilterFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( loop_filter_delta_enabled == rhs.loop_filter_delta_enabled ) && - ( loop_filter_delta_update == rhs.loop_filter_delta_update ) && + return ( loop_filter_delta_enabled == rhs.loop_filter_delta_enabled ) && ( loop_filter_delta_update == rhs.loop_filter_delta_update ) && ( reserved == rhs.reserved ); } @@ -4549,13 +4272,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1LoopFilter const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( loop_filter_level == rhs.loop_filter_level ) && - ( loop_filter_sharpness == rhs.loop_filter_sharpness ) && - ( update_ref_delta == rhs.update_ref_delta ) && - ( loop_filter_ref_deltas == rhs.loop_filter_ref_deltas ) && - ( update_mode_delta == rhs.update_mode_delta ) && - ( loop_filter_mode_deltas == rhs.loop_filter_mode_deltas ); + return ( flags == rhs.flags ) && ( loop_filter_level == rhs.loop_filter_level ) && ( loop_filter_sharpness == rhs.loop_filter_sharpness ) && + ( update_ref_delta == rhs.update_ref_delta ) && ( loop_filter_ref_deltas == rhs.loop_filter_ref_deltas ) && + ( update_mode_delta == rhs.update_mode_delta ) && ( loop_filter_mode_deltas == rhs.loop_filter_mode_deltas ); } bool operator!=( AV1LoopFilter const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4639,16 +4358,9 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1Quantization const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( base_q_idx == rhs.base_q_idx ) && - ( DeltaQYDc == rhs.DeltaQYDc ) && - ( DeltaQUDc == rhs.DeltaQUDc ) && - ( DeltaQUAc == rhs.DeltaQUAc ) && - ( DeltaQVDc == rhs.DeltaQVDc ) && - ( DeltaQVAc == rhs.DeltaQVAc ) && - ( qm_y == rhs.qm_y ) && - ( qm_u == rhs.qm_u ) && - ( qm_v == rhs.qm_v ); + return ( flags == rhs.flags ) && ( base_q_idx == rhs.base_q_idx ) && ( DeltaQYDc == rhs.DeltaQYDc ) && ( DeltaQUDc == rhs.DeltaQUDc ) && + ( DeltaQUAc == rhs.DeltaQUAc ) && ( DeltaQVDc == rhs.DeltaQVDc ) && ( DeltaQVAc == rhs.DeltaQVAc ) && ( qm_y == rhs.qm_y ) && + ( qm_u == rhs.qm_u ) && ( qm_v == rhs.qm_v ); } bool operator!=( AV1Quantization const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4773,16 +4485,10 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1TileInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( TileCols == rhs.TileCols ) && - ( TileRows == rhs.TileRows ) && - ( context_update_tile_id == rhs.context_update_tile_id ) && - ( tile_size_bytes_minus_1 == rhs.tile_size_bytes_minus_1 ) && - ( reserved1 == rhs.reserved1 ) && - ( pMiColStarts == rhs.pMiColStarts ) && - ( pMiRowStarts == rhs.pMiRowStarts ) && - ( pWidthInSbsMinus1 == rhs.pWidthInSbsMinus1 ) && - ( pHeightInSbsMinus1 == rhs.pHeightInSbsMinus1 ); + return ( flags == rhs.flags ) && ( TileCols == rhs.TileCols ) && ( TileRows == rhs.TileRows ) && + ( context_update_tile_id == rhs.context_update_tile_id ) && ( tile_size_bytes_minus_1 == rhs.tile_size_bytes_minus_1 ) && + ( reserved1 == rhs.reserved1 ) && ( pMiColStarts == rhs.pMiColStarts ) && ( pMiRowStarts == rhs.pMiRowStarts ) && + ( pWidthInSbsMinus1 == rhs.pWidthInSbsMinus1 ) && ( pHeightInSbsMinus1 == rhs.pHeightInSbsMinus1 ); } bool operator!=( AV1TileInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -4829,11 +4535,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1CDEF const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( cdef_damping_minus_3 == rhs.cdef_damping_minus_3 ) && - ( cdef_bits == rhs.cdef_bits ) && - ( cdef_y_pri_strength == rhs.cdef_y_pri_strength ) && - ( cdef_y_sec_strength == rhs.cdef_y_sec_strength ) && - ( cdef_uv_pri_strength == rhs.cdef_uv_pri_strength ) && + return ( cdef_damping_minus_3 == rhs.cdef_damping_minus_3 ) && ( cdef_bits == rhs.cdef_bits ) && ( cdef_y_pri_strength == rhs.cdef_y_pri_strength ) && + ( cdef_y_sec_strength == rhs.cdef_y_sec_strength ) && ( cdef_uv_pri_strength == rhs.cdef_uv_pri_strength ) && ( cdef_uv_sec_strength == rhs.cdef_uv_sec_strength ); } @@ -4955,11 +4658,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1FilmGrainFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( chroma_scaling_from_luma == rhs.chroma_scaling_from_luma ) && - ( overlap_flag == rhs.overlap_flag ) && - ( clip_to_restricted_range == rhs.clip_to_restricted_range ) && - ( update_grain == rhs.update_grain ) && - ( reserved == rhs.reserved ); + return ( chroma_scaling_from_luma == rhs.chroma_scaling_from_luma ) && ( overlap_flag == rhs.overlap_flag ) && + ( clip_to_restricted_range == rhs.clip_to_restricted_range ) && ( update_grain == rhs.update_grain ) && ( reserved == rhs.reserved ); } bool operator!=( AV1FilmGrainFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5001,31 +4701,15 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1FilmGrain const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( grain_scaling_minus_8 == rhs.grain_scaling_minus_8 ) && - ( ar_coeff_lag == rhs.ar_coeff_lag ) && - ( ar_coeff_shift_minus_6 == rhs.ar_coeff_shift_minus_6 ) && - ( grain_scale_shift == rhs.grain_scale_shift ) && - ( grain_seed == rhs.grain_seed ) && - ( film_grain_params_ref_idx == rhs.film_grain_params_ref_idx ) && - ( num_y_points == rhs.num_y_points ) && - ( point_y_value == rhs.point_y_value ) && - ( point_y_scaling == rhs.point_y_scaling ) && - ( num_cb_points == rhs.num_cb_points ) && - ( point_cb_value == rhs.point_cb_value ) && - ( point_cb_scaling == rhs.point_cb_scaling ) && - ( num_cr_points == rhs.num_cr_points ) && - ( point_cr_value == rhs.point_cr_value ) && - ( point_cr_scaling == rhs.point_cr_scaling ) && - ( ar_coeffs_y_plus_128 == rhs.ar_coeffs_y_plus_128 ) && - ( ar_coeffs_cb_plus_128 == rhs.ar_coeffs_cb_plus_128 ) && - ( ar_coeffs_cr_plus_128 == rhs.ar_coeffs_cr_plus_128 ) && - ( cb_mult == rhs.cb_mult ) && - ( cb_luma_mult == rhs.cb_luma_mult ) && - ( cb_offset == rhs.cb_offset ) && - ( cr_mult == rhs.cr_mult ) && - ( cr_luma_mult == rhs.cr_luma_mult ) && - ( cr_offset == rhs.cr_offset ); + return ( flags == rhs.flags ) && ( grain_scaling_minus_8 == rhs.grain_scaling_minus_8 ) && ( ar_coeff_lag == rhs.ar_coeff_lag ) && + ( ar_coeff_shift_minus_6 == rhs.ar_coeff_shift_minus_6 ) && ( grain_scale_shift == rhs.grain_scale_shift ) && ( grain_seed == rhs.grain_seed ) && + ( film_grain_params_ref_idx == rhs.film_grain_params_ref_idx ) && ( num_y_points == rhs.num_y_points ) && + ( point_y_value == rhs.point_y_value ) && ( point_y_scaling == rhs.point_y_scaling ) && ( num_cb_points == rhs.num_cb_points ) && + ( point_cb_value == rhs.point_cb_value ) && ( point_cb_scaling == rhs.point_cb_scaling ) && ( num_cr_points == rhs.num_cr_points ) && + ( point_cr_value == rhs.point_cr_value ) && ( point_cr_scaling == rhs.point_cr_scaling ) && + ( ar_coeffs_y_plus_128 == rhs.ar_coeffs_y_plus_128 ) && ( ar_coeffs_cb_plus_128 == rhs.ar_coeffs_cb_plus_128 ) && + ( ar_coeffs_cr_plus_128 == rhs.ar_coeffs_cr_plus_128 ) && ( cb_mult == rhs.cb_mult ) && ( cb_luma_mult == rhs.cb_luma_mult ) && + ( cb_offset == rhs.cb_offset ) && ( cr_mult == rhs.cr_mult ) && ( cr_luma_mult == rhs.cr_luma_mult ) && ( cr_offset == rhs.cr_offset ); } bool operator!=( AV1FilmGrain const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5087,26 +4771,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1SequenceHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( still_picture == rhs.still_picture ) && - ( reduced_still_picture_header == rhs.reduced_still_picture_header ) && - ( use_128x128_superblock == rhs.use_128x128_superblock ) && - ( enable_filter_intra == rhs.enable_filter_intra ) && - ( enable_intra_edge_filter == rhs.enable_intra_edge_filter ) && - ( enable_interintra_compound == rhs.enable_interintra_compound ) && - ( enable_masked_compound == rhs.enable_masked_compound ) && - ( enable_warped_motion == rhs.enable_warped_motion ) && - ( enable_dual_filter == rhs.enable_dual_filter ) && - ( enable_order_hint == rhs.enable_order_hint ) && - ( enable_jnt_comp == rhs.enable_jnt_comp ) && - ( enable_ref_frame_mvs == rhs.enable_ref_frame_mvs ) && - ( frame_id_numbers_present_flag == rhs.frame_id_numbers_present_flag ) && - ( enable_superres == rhs.enable_superres ) && - ( enable_cdef == rhs.enable_cdef ) && - ( enable_restoration == rhs.enable_restoration ) && - ( film_grain_params_present == rhs.film_grain_params_present ) && - ( timing_info_present_flag == rhs.timing_info_present_flag ) && - ( initial_display_delay_present_flag == rhs.initial_display_delay_present_flag ) && - ( reserved == rhs.reserved ); + return ( still_picture == rhs.still_picture ) && ( reduced_still_picture_header == rhs.reduced_still_picture_header ) && + ( use_128x128_superblock == rhs.use_128x128_superblock ) && ( enable_filter_intra == rhs.enable_filter_intra ) && + ( enable_intra_edge_filter == rhs.enable_intra_edge_filter ) && ( enable_interintra_compound == rhs.enable_interintra_compound ) && + ( enable_masked_compound == rhs.enable_masked_compound ) && ( enable_warped_motion == rhs.enable_warped_motion ) && + ( enable_dual_filter == rhs.enable_dual_filter ) && ( enable_order_hint == rhs.enable_order_hint ) && + ( enable_jnt_comp == rhs.enable_jnt_comp ) && ( enable_ref_frame_mvs == rhs.enable_ref_frame_mvs ) && + ( frame_id_numbers_present_flag == rhs.frame_id_numbers_present_flag ) && ( enable_superres == rhs.enable_superres ) && + ( enable_cdef == rhs.enable_cdef ) && ( enable_restoration == rhs.enable_restoration ) && + ( film_grain_params_present == rhs.film_grain_params_present ) && ( timing_info_present_flag == rhs.timing_info_present_flag ) && + ( initial_display_delay_present_flag == rhs.initial_display_delay_present_flag ) && ( reserved == rhs.reserved ); } bool operator!=( AV1SequenceHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5163,20 +4837,12 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( AV1SequenceHeader const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( seq_profile == rhs.seq_profile ) && - ( frame_width_bits_minus_1 == rhs.frame_width_bits_minus_1 ) && - ( frame_height_bits_minus_1 == rhs.frame_height_bits_minus_1 ) && - ( max_frame_width_minus_1 == rhs.max_frame_width_minus_1 ) && - ( max_frame_height_minus_1 == rhs.max_frame_height_minus_1 ) && - ( delta_frame_id_length_minus_2 == rhs.delta_frame_id_length_minus_2 ) && - ( additional_frame_id_length_minus_1 == rhs.additional_frame_id_length_minus_1 ) && - ( order_hint_bits_minus_1 == rhs.order_hint_bits_minus_1 ) && - ( seq_force_integer_mv == rhs.seq_force_integer_mv ) && - ( seq_force_screen_content_tools == rhs.seq_force_screen_content_tools ) && - ( reserved1 == rhs.reserved1 ) && - ( pColorConfig == rhs.pColorConfig ) && - ( pTimingInfo == rhs.pTimingInfo ); + return ( flags == rhs.flags ) && ( seq_profile == rhs.seq_profile ) && ( frame_width_bits_minus_1 == rhs.frame_width_bits_minus_1 ) && + ( frame_height_bits_minus_1 == rhs.frame_height_bits_minus_1 ) && ( max_frame_width_minus_1 == rhs.max_frame_width_minus_1 ) && + ( max_frame_height_minus_1 == rhs.max_frame_height_minus_1 ) && ( delta_frame_id_length_minus_2 == rhs.delta_frame_id_length_minus_2 ) && + ( additional_frame_id_length_minus_1 == rhs.additional_frame_id_length_minus_1 ) && ( order_hint_bits_minus_1 == rhs.order_hint_bits_minus_1 ) && + ( seq_force_integer_mv == rhs.seq_force_integer_mv ) && ( seq_force_screen_content_tools == rhs.seq_force_screen_content_tools ) && + ( reserved1 == rhs.reserved1 ) && ( pColorConfig == rhs.pColorConfig ) && ( pTimingInfo == rhs.pTimingInfo ); } bool operator!=( AV1SequenceHeader const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5231,36 +4897,19 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeAV1PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( error_resilient_mode == rhs.error_resilient_mode ) && - ( disable_cdf_update == rhs.disable_cdf_update ) && - ( use_superres == rhs.use_superres ) && - ( render_and_frame_size_different == rhs.render_and_frame_size_different ) && - ( allow_screen_content_tools == rhs.allow_screen_content_tools ) && - ( is_filter_switchable == rhs.is_filter_switchable ) && - ( force_integer_mv == rhs.force_integer_mv ) && - ( frame_size_override_flag == rhs.frame_size_override_flag ) && - ( buffer_removal_time_present_flag == rhs.buffer_removal_time_present_flag ) && - ( allow_intrabc == rhs.allow_intrabc ) && - ( frame_refs_short_signaling == rhs.frame_refs_short_signaling ) && - ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && - ( is_motion_mode_switchable == rhs.is_motion_mode_switchable ) && - ( use_ref_frame_mvs == rhs.use_ref_frame_mvs ) && - ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && - ( allow_warped_motion == rhs.allow_warped_motion ) && - ( reduced_tx_set == rhs.reduced_tx_set ) && - ( reference_select == rhs.reference_select ) && - ( skip_mode_present == rhs.skip_mode_present ) && - ( delta_q_present == rhs.delta_q_present ) && - ( delta_lf_present == rhs.delta_lf_present ) && - ( delta_lf_multi == rhs.delta_lf_multi ) && - ( segmentation_enabled == rhs.segmentation_enabled ) && - ( segmentation_update_map == rhs.segmentation_update_map ) && - ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && - ( segmentation_update_data == rhs.segmentation_update_data ) && - ( UsesLr == rhs.UsesLr ) && - ( usesChromaLr == rhs.usesChromaLr ) && - ( apply_grain == rhs.apply_grain ) && - ( reserved == rhs.reserved ); + return ( error_resilient_mode == rhs.error_resilient_mode ) && ( disable_cdf_update == rhs.disable_cdf_update ) && + ( use_superres == rhs.use_superres ) && ( render_and_frame_size_different == rhs.render_and_frame_size_different ) && + ( allow_screen_content_tools == rhs.allow_screen_content_tools ) && ( is_filter_switchable == rhs.is_filter_switchable ) && + ( force_integer_mv == rhs.force_integer_mv ) && ( frame_size_override_flag == rhs.frame_size_override_flag ) && + ( buffer_removal_time_present_flag == rhs.buffer_removal_time_present_flag ) && ( allow_intrabc == rhs.allow_intrabc ) && + ( frame_refs_short_signaling == rhs.frame_refs_short_signaling ) && ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && + ( is_motion_mode_switchable == rhs.is_motion_mode_switchable ) && ( use_ref_frame_mvs == rhs.use_ref_frame_mvs ) && + ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && ( allow_warped_motion == rhs.allow_warped_motion ) && + ( reduced_tx_set == rhs.reduced_tx_set ) && ( reference_select == rhs.reference_select ) && ( skip_mode_present == rhs.skip_mode_present ) && + ( delta_q_present == rhs.delta_q_present ) && ( delta_lf_present == rhs.delta_lf_present ) && ( delta_lf_multi == rhs.delta_lf_multi ) && + ( segmentation_enabled == rhs.segmentation_enabled ) && ( segmentation_update_map == rhs.segmentation_update_map ) && + ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && ( segmentation_update_data == rhs.segmentation_update_data ) && + ( UsesLr == rhs.UsesLr ) && ( usesChromaLr == rhs.usesChromaLr ) && ( apply_grain == rhs.apply_grain ) && ( reserved == rhs.reserved ); } bool operator!=( DecodeAV1PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5327,30 +4976,14 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeAV1PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( frame_type == rhs.frame_type ) && - ( current_frame_id == rhs.current_frame_id ) && - ( OrderHint == rhs.OrderHint ) && - ( primary_ref_frame == rhs.primary_ref_frame ) && - ( refresh_frame_flags == rhs.refresh_frame_flags ) && - ( reserved1 == rhs.reserved1 ) && - ( interpolation_filter == rhs.interpolation_filter ) && - ( TxMode == rhs.TxMode ) && - ( delta_q_res == rhs.delta_q_res ) && - ( delta_lf_res == rhs.delta_lf_res ) && - ( SkipModeFrame == rhs.SkipModeFrame ) && - ( coded_denom == rhs.coded_denom ) && - ( reserved2 == rhs.reserved2 ) && - ( OrderHints == rhs.OrderHints ) && - ( expectedFrameId == rhs.expectedFrameId ) && - ( pTileInfo == rhs.pTileInfo ) && - ( pQuantization == rhs.pQuantization ) && - ( pSegmentation == rhs.pSegmentation ) && - ( pLoopFilter == rhs.pLoopFilter ) && - ( pCDEF == rhs.pCDEF ) && - ( pLoopRestoration == rhs.pLoopRestoration ) && - ( pGlobalMotion == rhs.pGlobalMotion ) && - ( pFilmGrain == rhs.pFilmGrain ); + return ( flags == rhs.flags ) && ( frame_type == rhs.frame_type ) && ( current_frame_id == rhs.current_frame_id ) && ( OrderHint == rhs.OrderHint ) && + ( primary_ref_frame == rhs.primary_ref_frame ) && ( refresh_frame_flags == rhs.refresh_frame_flags ) && ( reserved1 == rhs.reserved1 ) && + ( interpolation_filter == rhs.interpolation_filter ) && ( TxMode == rhs.TxMode ) && ( delta_q_res == rhs.delta_q_res ) && + ( delta_lf_res == rhs.delta_lf_res ) && ( SkipModeFrame == rhs.SkipModeFrame ) && ( coded_denom == rhs.coded_denom ) && + ( reserved2 == rhs.reserved2 ) && ( OrderHints == rhs.OrderHints ) && ( expectedFrameId == rhs.expectedFrameId ) && + ( pTileInfo == rhs.pTileInfo ) && ( pQuantization == rhs.pQuantization ) && ( pSegmentation == rhs.pSegmentation ) && + ( pLoopFilter == rhs.pLoopFilter ) && ( pCDEF == rhs.pCDEF ) && ( pLoopRestoration == rhs.pLoopRestoration ) && + ( pGlobalMotion == rhs.pGlobalMotion ) && ( pFilmGrain == rhs.pFilmGrain ); } bool operator!=( DecodeAV1PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5412,8 +5045,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeAV1ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && - ( segmentation_enabled == rhs.segmentation_enabled ) && + return ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && ( segmentation_enabled == rhs.segmentation_enabled ) && ( reserved == rhs.reserved ); } @@ -5454,10 +5086,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( DecodeAV1ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( frame_type == rhs.frame_type ) && - ( RefFrameSignBias == rhs.RefFrameSignBias ) && - ( OrderHint == rhs.OrderHint ) && + return ( flags == rhs.flags ) && ( frame_type == rhs.frame_type ) && ( RefFrameSignBias == rhs.RefFrameSignBias ) && ( OrderHint == rhs.OrderHint ) && ( SavedOrderHints == rhs.SavedOrderHints ); } @@ -5506,8 +5135,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE { return ( buffer_delay_length_minus_1 == rhs.buffer_delay_length_minus_1 ) && ( buffer_removal_time_length_minus_1 == rhs.buffer_removal_time_length_minus_1 ) && - ( frame_presentation_time_length_minus_1 == rhs.frame_presentation_time_length_minus_1 ) && - ( reserved1 == rhs.reserved1 ) && + ( frame_presentation_time_length_minus_1 == rhs.frame_presentation_time_length_minus_1 ) && ( reserved1 == rhs.reserved1 ) && ( num_units_in_decoding_tick == rhs.num_units_in_decoding_tick ); } @@ -5589,10 +5217,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeAV1OperatingPointInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( decoder_model_present_for_this_op == rhs.decoder_model_present_for_this_op ) && - ( low_delay_mode_flag == rhs.low_delay_mode_flag ) && - ( initial_display_delay_present_for_this_op == rhs.initial_display_delay_present_for_this_op ) && - ( reserved == rhs.reserved ); + return ( decoder_model_present_for_this_op == rhs.decoder_model_present_for_this_op ) && ( low_delay_mode_flag == rhs.low_delay_mode_flag ) && + ( initial_display_delay_present_for_this_op == rhs.initial_display_delay_present_for_this_op ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeAV1OperatingPointInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5633,12 +5259,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeAV1OperatingPointInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( operating_point_idc == rhs.operating_point_idc ) && - ( seq_level_idx == rhs.seq_level_idx ) && - ( seq_tier == rhs.seq_tier ) && - ( decoder_buffer_delay == rhs.decoder_buffer_delay ) && - ( encoder_buffer_delay == rhs.encoder_buffer_delay ) && + return ( flags == rhs.flags ) && ( operating_point_idc == rhs.operating_point_idc ) && ( seq_level_idx == rhs.seq_level_idx ) && + ( seq_tier == rhs.seq_tier ) && ( decoder_buffer_delay == rhs.decoder_buffer_delay ) && ( encoder_buffer_delay == rhs.encoder_buffer_delay ) && ( initial_display_delay_minus_1 == rhs.initial_display_delay_minus_1 ); } @@ -5683,36 +5305,20 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeAV1PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( error_resilient_mode == rhs.error_resilient_mode ) && - ( disable_cdf_update == rhs.disable_cdf_update ) && - ( use_superres == rhs.use_superres ) && - ( render_and_frame_size_different == rhs.render_and_frame_size_different ) && - ( allow_screen_content_tools == rhs.allow_screen_content_tools ) && - ( is_filter_switchable == rhs.is_filter_switchable ) && - ( force_integer_mv == rhs.force_integer_mv ) && - ( frame_size_override_flag == rhs.frame_size_override_flag ) && - ( buffer_removal_time_present_flag == rhs.buffer_removal_time_present_flag ) && - ( allow_intrabc == rhs.allow_intrabc ) && - ( frame_refs_short_signaling == rhs.frame_refs_short_signaling ) && - ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && - ( is_motion_mode_switchable == rhs.is_motion_mode_switchable ) && - ( use_ref_frame_mvs == rhs.use_ref_frame_mvs ) && - ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && - ( allow_warped_motion == rhs.allow_warped_motion ) && - ( reduced_tx_set == rhs.reduced_tx_set ) && - ( skip_mode_present == rhs.skip_mode_present ) && - ( delta_q_present == rhs.delta_q_present ) && - ( delta_lf_present == rhs.delta_lf_present ) && - ( delta_lf_multi == rhs.delta_lf_multi ) && - ( segmentation_enabled == rhs.segmentation_enabled ) && - ( segmentation_update_map == rhs.segmentation_update_map ) && - ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && - ( segmentation_update_data == rhs.segmentation_update_data ) && - ( UsesLr == rhs.UsesLr ) && - ( usesChromaLr == rhs.usesChromaLr ) && - ( show_frame == rhs.show_frame ) && - ( showable_frame == rhs.showable_frame ) && - ( reserved == rhs.reserved ); + return ( error_resilient_mode == rhs.error_resilient_mode ) && ( disable_cdf_update == rhs.disable_cdf_update ) && + ( use_superres == rhs.use_superres ) && ( render_and_frame_size_different == rhs.render_and_frame_size_different ) && + ( allow_screen_content_tools == rhs.allow_screen_content_tools ) && ( is_filter_switchable == rhs.is_filter_switchable ) && + ( force_integer_mv == rhs.force_integer_mv ) && ( frame_size_override_flag == rhs.frame_size_override_flag ) && + ( buffer_removal_time_present_flag == rhs.buffer_removal_time_present_flag ) && ( allow_intrabc == rhs.allow_intrabc ) && + ( frame_refs_short_signaling == rhs.frame_refs_short_signaling ) && ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && + ( is_motion_mode_switchable == rhs.is_motion_mode_switchable ) && ( use_ref_frame_mvs == rhs.use_ref_frame_mvs ) && + ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && ( allow_warped_motion == rhs.allow_warped_motion ) && + ( reduced_tx_set == rhs.reduced_tx_set ) && ( skip_mode_present == rhs.skip_mode_present ) && ( delta_q_present == rhs.delta_q_present ) && + ( delta_lf_present == rhs.delta_lf_present ) && ( delta_lf_multi == rhs.delta_lf_multi ) && + ( segmentation_enabled == rhs.segmentation_enabled ) && ( segmentation_update_map == rhs.segmentation_update_map ) && + ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && ( segmentation_update_data == rhs.segmentation_update_data ) && + ( UsesLr == rhs.UsesLr ) && ( usesChromaLr == rhs.usesChromaLr ) && ( show_frame == rhs.show_frame ) && + ( showable_frame == rhs.showable_frame ) && ( reserved == rhs.reserved ); } bool operator!=( EncodeAV1PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5779,33 +5385,16 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeAV1PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( frame_type == rhs.frame_type ) && - ( frame_presentation_time == rhs.frame_presentation_time ) && - ( current_frame_id == rhs.current_frame_id ) && - ( order_hint == rhs.order_hint ) && - ( primary_ref_frame == rhs.primary_ref_frame ) && - ( refresh_frame_flags == rhs.refresh_frame_flags ) && - ( coded_denom == rhs.coded_denom ) && - ( render_width_minus_1 == rhs.render_width_minus_1 ) && - ( render_height_minus_1 == rhs.render_height_minus_1 ) && - ( interpolation_filter == rhs.interpolation_filter ) && - ( TxMode == rhs.TxMode ) && - ( delta_q_res == rhs.delta_q_res ) && - ( delta_lf_res == rhs.delta_lf_res ) && - ( ref_order_hint == rhs.ref_order_hint ) && - ( ref_frame_idx == rhs.ref_frame_idx ) && - ( reserved1 == rhs.reserved1 ) && - ( delta_frame_id_minus_1 == rhs.delta_frame_id_minus_1 ) && - ( pTileInfo == rhs.pTileInfo ) && - ( pQuantization == rhs.pQuantization ) && - ( pSegmentation == rhs.pSegmentation ) && - ( pLoopFilter == rhs.pLoopFilter ) && - ( pCDEF == rhs.pCDEF ) && - ( pLoopRestoration == rhs.pLoopRestoration ) && - ( pGlobalMotion == rhs.pGlobalMotion ) && - ( pExtensionHeader == rhs.pExtensionHeader ) && - ( pBufferRemovalTimes == rhs.pBufferRemovalTimes ); + return ( flags == rhs.flags ) && ( frame_type == rhs.frame_type ) && ( frame_presentation_time == rhs.frame_presentation_time ) && + ( current_frame_id == rhs.current_frame_id ) && ( order_hint == rhs.order_hint ) && ( primary_ref_frame == rhs.primary_ref_frame ) && + ( refresh_frame_flags == rhs.refresh_frame_flags ) && ( coded_denom == rhs.coded_denom ) && + ( render_width_minus_1 == rhs.render_width_minus_1 ) && ( render_height_minus_1 == rhs.render_height_minus_1 ) && + ( interpolation_filter == rhs.interpolation_filter ) && ( TxMode == rhs.TxMode ) && ( delta_q_res == rhs.delta_q_res ) && + ( delta_lf_res == rhs.delta_lf_res ) && ( ref_order_hint == rhs.ref_order_hint ) && ( ref_frame_idx == rhs.ref_frame_idx ) && + ( reserved1 == rhs.reserved1 ) && ( delta_frame_id_minus_1 == rhs.delta_frame_id_minus_1 ) && ( pTileInfo == rhs.pTileInfo ) && + ( pQuantization == rhs.pQuantization ) && ( pSegmentation == rhs.pSegmentation ) && ( pLoopFilter == rhs.pLoopFilter ) && + ( pCDEF == rhs.pCDEF ) && ( pLoopRestoration == rhs.pLoopRestoration ) && ( pGlobalMotion == rhs.pGlobalMotion ) && + ( pExtensionHeader == rhs.pExtensionHeader ) && ( pBufferRemovalTimes == rhs.pBufferRemovalTimes ); } bool operator!=( EncodeAV1PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT @@ -5870,8 +5459,7 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeAV1ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && - ( segmentation_enabled == rhs.segmentation_enabled ) && + return ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && ( segmentation_enabled == rhs.segmentation_enabled ) && ( reserved == rhs.reserved ); } @@ -5912,12 +5500,8 @@ VULKAN_HPP_EXPORT namespace VULKAN_HPP_NAMESPACE bool operator==( EncodeAV1ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT { - return ( flags == rhs.flags ) && - ( RefFrameId == rhs.RefFrameId ) && - ( frame_type == rhs.frame_type ) && - ( OrderHint == rhs.OrderHint ) && - ( reserved1 == rhs.reserved1 ) && - ( pExtensionHeader == rhs.pExtensionHeader ); + return ( flags == rhs.flags ) && ( RefFrameId == rhs.RefFrameId ) && ( frame_type == rhs.frame_type ) && ( OrderHint == rhs.OrderHint ) && + ( reserved1 == rhs.reserved1 ) && ( pExtensionHeader == rhs.pExtensionHeader ); } bool operator!=( EncodeAV1ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT diff --git a/third_party/vulkan/include/vulkan/vulkan_wayland.h b/third_party/vulkan/include/vulkan/vulkan_wayland.h index 41025db43..16645625f 100644 --- a/third_party/vulkan/include/vulkan/vulkan_wayland.h +++ b/third_party/vulkan/include/vulkan/vulkan_wayland.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_win32.h b/third_party/vulkan/include/vulkan/vulkan_win32.h index 5c7e8bd6d..075069277 100644 --- a/third_party/vulkan/include/vulkan/vulkan_win32.h +++ b/third_party/vulkan/include/vulkan/vulkan_win32.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_xcb.h b/third_party/vulkan/include/vulkan/vulkan_xcb.h index 473f8c288..439f65d54 100644 --- a/third_party/vulkan/include/vulkan/vulkan_xcb.h +++ b/third_party/vulkan/include/vulkan/vulkan_xcb.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_xlib.h b/third_party/vulkan/include/vulkan/vulkan_xlib.h index dfd107c3e..7394bf7c7 100644 --- a/third_party/vulkan/include/vulkan/vulkan_xlib.h +++ b/third_party/vulkan/include/vulkan/vulkan_xlib.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan/include/vulkan/vulkan_xlib_xrandr.h b/third_party/vulkan/include/vulkan/vulkan_xlib_xrandr.h index a272e246c..4aabd6442 100644 --- a/third_party/vulkan/include/vulkan/vulkan_xlib_xrandr.h +++ b/third_party/vulkan/include/vulkan/vulkan_xlib_xrandr.h @@ -4,7 +4,7 @@ /* ** Copyright 2015-2026 The Khronos Group Inc. ** -** SPDX-License-Identifier: Apache-2.0 +** SPDX-License-Identifier: Apache-2.0 OR MIT */ /* diff --git a/third_party/vulkan_docs/xml/vk.xml b/third_party/vulkan_docs/xml/vk.xml index 02dee3981..ab319650d 100644 --- a/third_party/vulkan_docs/xml/vk.xml +++ b/third_party/vulkan_docs/xml/vk.xml @@ -1,8 +1,7 @@ - + Copyright 2015-2026 The Khronos Group Inc. - SPDX-License-Identifier: Apache-2.0 OR MIT @@ -19,70 +18,71 @@ branch of the member gitlab server. - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -90,19 +90,19 @@ branch of the member gitlab server. WSI extensions - - - - - - - - - - - - - + + + + + + + + + + + + + In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -120,37 +120,37 @@ branch of the member gitlab server. to #include the header file in the 'name' attribute. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #define VK_MAKE_VERSION(major, minor, patch) \ @@ -188,11 +188,11 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 350 +#define VK_HEADER_VERSION 363 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) // Version of this file -#define VK_HEADER_VERSION 21 +#define VK_HEADER_VERSION 22 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) @@ -212,7 +212,7 @@ branch of the member gitlab server. #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) - #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) + #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) #define VK_NULL_HANDLE nullptr #else #define VK_NULL_HANDLE ((void*)0) @@ -292,807 +292,831 @@ typedef void* MTLSharedEvent_id; struct OH_NativeBuffer; Basic C types, pulled in via vk_platform.h - - - - - - - - - - - - - - + + + + + + + + + + + + + + Bitmask types - typedef VkFlags VkFramebufferCreateFlags; - typedef VkFlags VkQueryPoolCreateFlags; - typedef VkFlags VkRenderPassCreateFlags; - typedef VkFlags VkSamplerCreateFlags; - typedef VkFlags VkPipelineLayoutCreateFlags; - typedef VkFlags VkPipelineCacheCreateFlags; + typedef VkFlags VkFramebufferCreateFlags; + typedef VkFlags VkQueryPoolCreateFlags; + typedef VkFlags VkRenderPassCreateFlags; + typedef VkFlags VkSamplerCreateFlags; + typedef VkFlags VkPipelineLayoutCreateFlags; + typedef VkFlags VkPipelineCacheCreateFlags; typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDepthStencilStateCreateFlags; - typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineDynamicStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineColorBlendStateCreateFlags; - typedef VkFlags VkPipelineMultisampleStateCreateFlags; - typedef VkFlags VkPipelineRasterizationStateCreateFlags; - typedef VkFlags VkPipelineViewportStateCreateFlags; - typedef VkFlags VkPipelineTessellationStateCreateFlags; - typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; - typedef VkFlags VkPipelineVertexInputStateCreateFlags; + typedef VkFlags VkPipelineMultisampleStateCreateFlags; + typedef VkFlags VkPipelineRasterizationStateCreateFlags; + typedef VkFlags VkPipelineViewportStateCreateFlags; + typedef VkFlags VkPipelineTessellationStateCreateFlags; + typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; + typedef VkFlags VkPipelineVertexInputStateCreateFlags; typedef VkFlags VkPipelineShaderStageCreateFlags; typedef VkFlags VkDescriptorSetLayoutCreateFlags; - typedef VkFlags VkBufferViewCreateFlags; - typedef VkFlags VkInstanceCreateFlags; - typedef VkFlags VkDeviceCreateFlags; - typedef VkFlags VkDeviceQueueCreateFlags; - typedef VkFlags VkQueueFlags; - typedef VkFlags VkMemoryPropertyFlags; - typedef VkFlags VkMemoryHeapFlags; - typedef VkFlags VkAccessFlags; - typedef VkFlags VkBufferUsageFlags; - typedef VkFlags VkBufferCreateFlags; - typedef VkFlags VkShaderStageFlags; - typedef VkFlags VkImageUsageFlags; - typedef VkFlags VkImageCreateFlags; - typedef VkFlags VkImageViewCreateFlags; - typedef VkFlags VkPipelineCreateFlags; - typedef VkFlags VkColorComponentFlags; - typedef VkFlags VkFenceCreateFlags; - typedef VkFlags VkSemaphoreCreateFlags; - typedef VkFlags VkFormatFeatureFlags; - typedef VkFlags VkQueryControlFlags; - typedef VkFlags VkQueryResultFlags; - typedef VkFlags VkShaderModuleCreateFlags; - typedef VkFlags VkEventCreateFlags; - typedef VkFlags VkCommandPoolCreateFlags; - typedef VkFlags VkCommandPoolResetFlags; - typedef VkFlags VkCommandBufferResetFlags; - typedef VkFlags VkCommandBufferUsageFlags; + typedef VkFlags VkBufferViewCreateFlags; + typedef VkFlags VkInstanceCreateFlags; + typedef VkFlags VkDeviceCreateFlags; + typedef VkFlags VkDeviceQueueCreateFlags; + typedef VkFlags VkQueueFlags; + typedef VkFlags VkMemoryPropertyFlags; + typedef VkFlags VkMemoryHeapFlags; + typedef VkFlags VkAccessFlags; + typedef VkFlags VkBufferUsageFlags; + typedef VkFlags VkBufferCreateFlags; + typedef VkFlags VkShaderStageFlags; + typedef VkFlags VkImageUsageFlags; + typedef VkFlags VkImageCreateFlags; + typedef VkFlags VkImageViewCreateFlags; + typedef VkFlags VkPipelineCreateFlags; + typedef VkFlags VkColorComponentFlags; + typedef VkFlags VkFenceCreateFlags; + typedef VkFlags VkSemaphoreCreateFlags; + typedef VkFlags VkFormatFeatureFlags; + typedef VkFlags VkQueryControlFlags; + typedef VkFlags VkQueryResultFlags; + typedef VkFlags VkShaderModuleCreateFlags; + typedef VkFlags VkEventCreateFlags; + typedef VkFlags VkCommandPoolCreateFlags; + typedef VkFlags VkCommandPoolResetFlags; + typedef VkFlags VkCommandBufferResetFlags; + typedef VkFlags VkCommandBufferUsageFlags; typedef VkFlags VkQueryPipelineStatisticFlags; - typedef VkFlags VkMemoryMapFlags; - typedef VkFlags VkMemoryUnmapFlags; - - typedef VkFlags VkImageAspectFlags; - typedef VkFlags VkSparseMemoryBindFlags; - typedef VkFlags VkSparseImageFormatFlags; - typedef VkFlags VkSubpassDescriptionFlags; - typedef VkFlags VkPipelineStageFlags; - typedef VkFlags VkSampleCountFlags; - typedef VkFlags VkAttachmentDescriptionFlags; - typedef VkFlags VkStencilFaceFlags; - typedef VkFlags VkCullModeFlags; - typedef VkFlags VkDescriptorPoolCreateFlags; - typedef VkFlags VkDescriptorPoolResetFlags; - typedef VkFlags VkDependencyFlags; - typedef VkFlags VkSubgroupFeatureFlags; + typedef VkFlags VkMemoryMapFlags; + typedef VkFlags VkMemoryUnmapFlags; + + typedef VkFlags VkImageAspectFlags; + typedef VkFlags VkSparseMemoryBindFlags; + typedef VkFlags VkSparseImageFormatFlags; + typedef VkFlags VkSubpassDescriptionFlags; + typedef VkFlags VkPipelineStageFlags; + typedef VkFlags VkSampleCountFlags; + typedef VkFlags VkAttachmentDescriptionFlags; + typedef VkFlags VkStencilFaceFlags; + typedef VkFlags VkCullModeFlags; + typedef VkFlags VkDescriptorPoolCreateFlags; + typedef VkFlags VkDescriptorPoolResetFlags; + typedef VkFlags VkDependencyFlags; + typedef VkFlags VkSubgroupFeatureFlags; typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; - typedef VkFlags VkIndirectStateFlagsNV; - typedef VkFlags VkGeometryFlagsKHR; - - typedef VkFlags VkGeometryInstanceFlagsKHR; - - typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV; - typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV; - typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV; + typedef VkFlags VkIndirectStateFlagsNV; + typedef VkFlags VkGeometryFlagsKHR; + + typedef VkFlags VkGeometryInstanceFlagsKHR; + + typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV; + typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV; + typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV; typedef VkFlags VkBuildAccelerationStructureFlagsKHR; - - typedef VkFlags VkPrivateDataSlotCreateFlags; - + + typedef VkFlags VkPrivateDataSlotCreateFlags; + typedef VkFlags VkAccelerationStructureCreateFlagsKHR; - typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; - + typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; + typedef VkFlags VkPipelineCreationFeedbackFlags; - + typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; typedef VkFlags VkAcquireProfilingLockFlagsKHR; - typedef VkFlags VkSemaphoreWaitFlags; - + typedef VkFlags VkSemaphoreWaitFlags; + typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; - typedef VkFlags VkRefreshObjectFlagsKHR; - typedef VkFlags64 VkAccessFlags2; - - typedef VkFlags64 VkPipelineStageFlags2; - - typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; - typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; - typedef VkFlags64 VkFormatFeatureFlags2; - - typedef VkFlags VkRenderingFlags; + typedef VkFlags VkRefreshObjectFlagsKHR; + typedef VkFlags64 VkAccessFlags2; + + typedef VkFlags64 VkPipelineStageFlags2; + + typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; + typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; + typedef VkFlags64 VkFormatFeatureFlags2; + + typedef VkFlags64 VkFormatFeatureFlags4KHR; + typedef VkFlags VkRenderingFlags; typedef VkFlags64 VkMemoryDecompressionMethodFlagsEXT; - - - typedef VkFlags VkDeviceFaultFlagsKHR; + + + typedef VkFlags VkDeviceFaultFlagsKHR; typedef VkFlags VkBuildMicromapFlagsEXT; typedef VkFlags VkMicromapCreateFlagsEXT; typedef VkFlags VkIndirectCommandsLayoutUsageFlagsEXT; typedef VkFlags VkIndirectCommandsInputModeFlagsEXT; - typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; - typedef VkFlags64 VkPipelineCreateFlags2; - - typedef VkFlags64 VkBufferUsageFlags2; - - typedef VkFlags VkAddressCopyFlagsKHR; - typedef VkFlags64 VkTensorCreateFlagsARM; - typedef VkFlags64 VkTensorUsageFlagsARM; - typedef VkFlags64 VkTensorViewCreateFlagsARM; + typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; + typedef VkFlags64 VkPipelineCreateFlags2; + + typedef VkFlags64 VkBufferUsageFlags2; + + typedef VkFlags64 VkImageUsageFlags2KHR; + typedef VkFlags64 VkImageCreateFlags2KHR; + typedef VkFlags VkAddressCopyFlagsKHR; + typedef VkFlags64 VkTensorCreateFlagsARM; + typedef VkFlags64 VkTensorUsageFlagsARM; + typedef VkFlags64 VkTensorViewCreateFlagsARM; typedef VkFlags64 VkDataGraphPipelineSessionCreateFlagsARM; typedef VkFlags64 VkDataGraphPipelineDispatchFlagsARM; typedef VkFlags VkVideoEncodeRgbModelConversionFlagsVALVE; typedef VkFlags VkVideoEncodeRgbRangeCompressionFlagsVALVE; typedef VkFlags VkVideoEncodeRgbChromaOffsetFlagsVALVE; - typedef VkFlags VkSpirvResourceTypeFlagsEXT; - typedef VkFlags VkAddressCommandFlagsKHR; + typedef VkFlags VkSpirvResourceTypeFlagsEXT; + typedef VkFlags VkGpaSqShaderStageFlagsAMD; + typedef VkFlags VkGpaPerfBlockPropertiesFlagsAMD; + typedef VkFlags VkPhysicalDeviceGpaPropertiesFlagsAMD; + typedef VkFlags VkAddressCommandFlagsKHR; WSI extensions - typedef VkFlags VkCompositeAlphaFlagsKHR; - typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; - typedef VkFlags VkSurfaceTransformFlagsKHR; - typedef VkFlags VkSwapchainCreateFlagsKHR; - typedef VkFlags VkDisplayModeCreateFlagsKHR; - typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; - typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; - typedef VkFlags VkViSurfaceCreateFlagsNN; - typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; - typedef VkFlags VkUbmSurfaceCreateFlagsSEC; - typedef VkFlags VkWin32SurfaceCreateFlagsKHR; - typedef VkFlags VkXlibSurfaceCreateFlagsKHR; - typedef VkFlags VkXcbSurfaceCreateFlagsKHR; - typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT; - typedef VkFlags VkIOSSurfaceCreateFlagsMVK; - typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; - typedef VkFlags VkMetalSurfaceCreateFlagsEXT; - typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; - typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP; - typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; - typedef VkFlags VkScreenSurfaceCreateFlagsQNX; - typedef VkFlags VkPeerMemoryFeatureFlags; - - typedef VkFlags VkMemoryAllocateFlags; - + typedef VkFlags VkCompositeAlphaFlagsKHR; + typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; + typedef VkFlags VkSurfaceTransformFlagsKHR; + typedef VkFlags VkSwapchainCreateFlagsKHR; + typedef VkFlags VkDisplayModeCreateFlagsKHR; + typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; + typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; + typedef VkFlags VkViSurfaceCreateFlagsNN; + typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; + typedef VkFlags VkUbmSurfaceCreateFlagsSEC; + typedef VkFlags VkWin32SurfaceCreateFlagsKHR; + typedef VkFlags VkXlibSurfaceCreateFlagsKHR; + typedef VkFlags VkXcbSurfaceCreateFlagsKHR; + typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT; + typedef VkFlags VkIOSSurfaceCreateFlagsMVK; + typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; + typedef VkFlags VkMetalSurfaceCreateFlagsEXT; + typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; + typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP; + typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; + typedef VkFlags VkScreenSurfaceCreateFlagsQNX; + typedef VkFlags VkPeerMemoryFeatureFlags; + + typedef VkFlags VkMemoryAllocateFlags; + typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; - typedef VkFlags VkDebugReportFlagsEXT; - typedef VkFlags VkCommandPoolTrimFlags; - + typedef VkFlags VkDebugReportFlagsEXT; + typedef VkFlags VkCommandPoolTrimFlags; + typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV; typedef VkFlags VkExternalMemoryFeatureFlagsNV; typedef VkFlags VkExternalMemoryHandleTypeFlags; - - typedef VkFlags VkExternalMemoryFeatureFlags; - + + typedef VkFlags VkExternalMemoryFeatureFlags; + typedef VkFlags VkExternalSemaphoreHandleTypeFlags; - + typedef VkFlags VkExternalSemaphoreFeatureFlags; - + typedef VkFlags VkSemaphoreImportFlags; - + typedef VkFlags VkExternalFenceHandleTypeFlags; - - typedef VkFlags VkExternalFenceFeatureFlags; - - typedef VkFlags VkFenceImportFlags; - - typedef VkFlags VkSurfaceCounterFlagsEXT; - typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; - typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; - typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; - typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; - typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; - typedef VkFlags VkValidationCacheCreateFlagsEXT; + + typedef VkFlags VkExternalFenceFeatureFlags; + + typedef VkFlags VkFenceImportFlags; + + typedef VkFlags VkSurfaceCounterFlagsEXT; + typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; + typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; + typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; + typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; + typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; + typedef VkFlags VkValidationCacheCreateFlagsEXT; typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; - typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; - typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; - typedef VkFlags VkDeviceMemoryReportFlagsEXT; - typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; - typedef VkFlags VkDescriptorBindingFlags; - - typedef VkFlags VkConditionalRenderingFlagsEXT; - typedef VkFlags VkResolveModeFlags; - - typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; - typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; + typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; + typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; + typedef VkFlags VkDeviceMemoryReportFlagsEXT; + typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; + typedef VkFlags VkDescriptorBindingFlags; + + typedef VkFlags VkConditionalRenderingFlagsEXT; + typedef VkFlags VkResolveModeFlags; + + typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; + typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; typedef VkFlags VkSwapchainImageUsageFlagsANDROID; - typedef VkFlags VkToolPurposeFlags; - - typedef VkFlags VkSubmitFlags; - - typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; - typedef VkFlags VkHostImageCopyFlags; - + typedef VkFlags VkToolPurposeFlags; + + typedef VkFlags VkSubmitFlags; + + typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; + typedef VkFlags VkHostImageCopyFlags; + typedef VkFlags VkPartitionedAccelerationStructureInstanceFlagsNV; - typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; + typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; - typedef VkFlags VkImageCompressionFlagsEXT; + typedef VkFlags VkImageCompressionFlagsEXT; typedef VkFlags VkImageCompressionFixedRateFlagsEXT; - typedef VkFlags VkExportMetalObjectTypeFlagsEXT; + typedef VkFlags VkExportMetalObjectTypeFlagsEXT; typedef VkFlags VkRenderingAttachmentFlagsKHR; typedef VkFlags VkResolveImageFlagsKHR; typedef VkFlags VkDeviceAddressBindingFlagsEXT; - typedef VkFlags VkOpticalFlowGridSizeFlagsNV; - typedef VkFlags VkOpticalFlowUsageFlagsNV; - typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; - typedef VkFlags VkOpticalFlowExecuteFlagsNV; - typedef VkFlags VkFrameBoundaryFlagsEXT; + typedef VkFlags VkOpticalFlowGridSizeFlagsNV; + typedef VkFlags VkOpticalFlowUsageFlagsNV; + typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; + typedef VkFlags VkOpticalFlowExecuteFlagsNV; + typedef VkFlags VkFrameBoundaryFlagsEXT; typedef VkFlags VkPresentScalingFlagsKHR; - + typedef VkFlags VkPresentGravityFlagsKHR; - - typedef VkFlags VkShaderCreateFlagsEXT; - typedef VkFlags VkTileShadingRenderPassFlagsQCOM; + + typedef VkFlags VkShaderCreateFlagsEXT; + typedef VkFlags VkTileShadingRenderPassFlagsQCOM; typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; - typedef VkFlags VkSurfaceCreateFlagsOHOS; + typedef VkFlags VkSurfaceCreateFlagsOHOS; typedef VkFlags VkPresentStageFlagsEXT; typedef VkFlags VkPastPresentationTimingFlagsEXT; - typedef VkFlags VkPresentTimingInfoFlagsEXT; + typedef VkFlags VkPresentTimingInfoFlagsEXT; typedef VkFlags VkSwapchainImageUsageFlagsOHOS; - typedef VkFlags VkPerformanceCounterDescriptionFlagsARM; - typedef VkFlags VkShaderInstrumentationValuesFlagsARM; + typedef VkFlags VkPerformanceCounterDescriptionFlagsARM; + typedef VkFlags VkShaderInstrumentationValuesFlagsARM; typedef VkFlags VkDataGraphTOSAQualityFlagsARM; typedef VkFlags VkDataGraphOpticalFlowGridSizeFlagsARM; - typedef VkFlags VkDataGraphOpticalFlowImageUsageFlagsARM; - typedef VkFlags VkDataGraphOpticalFlowCreateFlagsARM; - typedef VkFlags VkDataGraphOpticalFlowExecuteFlagsARM; + typedef VkFlags VkDataGraphOpticalFlowImageUsageFlagsARM; + typedef VkFlags VkDataGraphOpticalFlowCreateFlagsARM; + typedef VkFlags VkDataGraphOpticalFlowExecuteFlagsARM; Video Core extension - typedef VkFlags VkVideoCodecOperationFlagsKHR; - typedef VkFlags VkVideoCapabilityFlagsKHR; - typedef VkFlags VkVideoSessionCreateFlagsKHR; - typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; - typedef VkFlags VkVideoBeginCodingFlagsKHR; - typedef VkFlags VkVideoEndCodingFlagsKHR; - typedef VkFlags VkVideoCodingControlFlagsKHR; + typedef VkFlags VkVideoCodecOperationFlagsKHR; + typedef VkFlags VkVideoCapabilityFlagsKHR; + typedef VkFlags VkVideoSessionCreateFlagsKHR; + typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; + typedef VkFlags VkVideoBeginCodingFlagsKHR; + typedef VkFlags VkVideoEndCodingFlagsKHR; + typedef VkFlags VkVideoCodingControlFlagsKHR; Video Decode Core extension - typedef VkFlags VkVideoDecodeUsageFlagsKHR; - typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; - typedef VkFlags VkVideoDecodeFlagsKHR; + typedef VkFlags VkVideoDecodeUsageFlagsKHR; + typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; + typedef VkFlags VkVideoDecodeFlagsKHR; Video Decode H.264 extension - typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; + typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; Video Encode Core extension - typedef VkFlags VkVideoEncodeFlagsKHR; - typedef VkFlags VkVideoEncodeUsageFlagsKHR; - typedef VkFlags VkVideoEncodeContentFlagsKHR; - typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; - typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; - typedef VkFlags VkVideoEncodeRateControlFlagsKHR; - typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; - typedef VkFlags VkVideoEncodeIntraRefreshModeFlagsKHR; - typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; - typedef VkFlags VkVideoComponentBitDepthFlagsKHR; + typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeUsageFlagsKHR; + typedef VkFlags VkVideoEncodeContentFlagsKHR; + typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; + typedef VkFlags VkVideoEncodePerPartitionFeedbackFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; + typedef VkFlags VkVideoEncodeIntraRefreshModeFlagsKHR; + typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; + typedef VkFlags VkVideoComponentBitDepthFlagsKHR; Video Encode H.264 extension - typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; - typedef VkFlags VkVideoEncodeH264StdFlagsKHR; - typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; + typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeH264StdFlagsKHR; + typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; Video Encode H.265 extension - typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; - typedef VkFlags VkVideoEncodeH265StdFlagsKHR; - typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; - typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; - typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; + typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeH265StdFlagsKHR; + typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; + typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; + typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; Video Encode AV1 extension - typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR; - typedef VkFlags VkVideoEncodeAV1StdFlagsKHR; - typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR; - typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR; + typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeAV1StdFlagsKHR; + typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR; + typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR; VK_KHR_maintenance8 - typedef VkFlags64 VkAccessFlags3KHR; + typedef VkFlags64 VkAccessFlags3KHR; + + VK_EXT_cooperative_matrix_maintenance1 + typedef VkFlags VkCooperativeMatrixFlagsEXT; Types which can be void pointers or class pointers, selected at compile time - VK_DEFINE_HANDLE(VkInstance) - VK_DEFINE_HANDLE(VkPhysicalDevice) + VK_DEFINE_HANDLE(VkInstance) + VK_DEFINE_HANDLE(VkPhysicalDevice) VK_DEFINE_HANDLE(VkDevice) - VK_DEFINE_HANDLE(VkQueue) - VK_DEFINE_HANDLE(VkCommandBuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) + VK_DEFINE_HANDLE(VkQueue) + VK_DEFINE_HANDLE(VkCommandBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) - - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) - - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) - - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorARM) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorViewARM) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDataGraphPipelineSessionARM) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderInstrumentationARM) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) + + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) + + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) + + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorARM) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorViewARM) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDataGraphPipelineSessionARM) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderInstrumentationARM) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkGpaSessionAMD) WSI extensions VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) Video extensions - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) VK_NV_external_sci_sync2 - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV) Types generated from corresponding enums tags below - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extensions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WSI extensions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enumerated types in the header, but not used by the API - - - - - - + + + + + + Video Core extensions - - - - - - - - + + + + + + + + Video Decode extensions - - + + Video H.264 Decode extensions - + Video H.265 Decode extensions Video Encode extensions - - - - - - - - + + + + + + + + + Video H.264 Encode extensions - - - + + + Video H.265 Encode extensions - - - - - + + + + + Video AV1 Encode extensions - - - - - - + + + + + + VK_KHR_maintenance8 - + VK_KHR_device_fault - + VK_KHR_maintenance9 - + void PFN_vkInternalAllocationNotification @@ -1390,13 +1414,13 @@ typedef void* MTLSharedEvent_id; const void* pNext VkBufferUsageFlags2 usage - + VkStructureType sType const void* pNext VkBufferCreateFlags flagsBuffer creation flags VkDeviceSize sizeSpecified in bytes - VkBufferUsageFlags usageBuffer usage flags + VkBufferUsageFlags usageBuffer usage flags VkSharingMode sharingMode uint32_t queueFamilyIndexCount const uint32_t* pQueueFamilyIndices @@ -1460,7 +1484,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkImageCreateFlags flagsImage creation flags + VkImageCreateFlags flagsImage creation flags VkImageType imageType VkFormat format VkExtent3D extent @@ -1468,12 +1492,22 @@ typedef void* MTLSharedEvent_id; uint32_t arrayLayers VkSampleCountFlagBits samples VkImageTiling tiling - VkImageUsageFlags usageImage usage flags + VkImageUsageFlags usageImage usage flags VkSharingMode sharingModeCross-queue-family sharing mode uint32_t queueFamilyIndexCountNumber of queue families to share across const uint32_t* pQueueFamilyIndicesArray of queue family indices to share across VkImageLayout initialLayoutInitial image layout for all subresources + + VkStructureType sType + void* pNext + VkImageCreateFlags2KHR flags + + + VkStructureType sType + void* pNext + VkImageUsageFlags2KHR usage + VkDeviceSize offsetSpecified in bytes VkDeviceSize sizeSpecified in bytes @@ -1571,7 +1605,7 @@ typedef void* MTLSharedEvent_id; VkDeviceAddress dstAddress VkDeviceSize size - + VkStructureType sType const void* pNext @@ -1588,7 +1622,7 @@ typedef void* MTLSharedEvent_id; VkOffset3D imageOffset VkExtent3D imageExtent - + VkStructureType sType const void* pNext @@ -1670,7 +1704,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags VkPipelineShaderStageCreateInfo stage VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of @@ -1688,7 +1722,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkPipelineCreateFlags2 flags - + uint32_t bindingVertex buffer binding id uint32_t strideDistance between vertices in bytes (0 = no advancement) @@ -1810,7 +1844,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage @@ -1908,7 +1942,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext uint32_t keySize - uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR] + uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR] VkStructureType sType @@ -2388,7 +2422,7 @@ typedef void* MTLSharedEvent_id; VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported - VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkStructureType sType @@ -2477,7 +2511,7 @@ typedef void* MTLSharedEvent_id; VkColorSpaceKHR imageColorSpaceColorspace of the presentation images VkExtent2D imageExtentDimensions of the presentation images uint32_t imageArrayLayersDetermines the number of views for multiview/stereo presentation - VkImageUsageFlags imageUsageBits indicating how the presentation images will be used + VkImageUsageFlags imageUsageBits indicating how the presentation images will be used VkSharingMode imageSharingModeSharing mode used for the presentation images uint32_t queueFamilyIndexCountNumber of queue families having access to the images in case of concurrent sharing mode const uint32_t* pQueueFamilyIndicesArray of queue family indices having access to the images in case of concurrent sharing mode @@ -2511,7 +2545,7 @@ typedef void* MTLSharedEvent_id; uint32_t disabledValidationCheckCountNumber of validation checks to disable const VkValidationCheckEXT* pDisabledValidationChecksValidation checks to disable - + VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT const void* pNext uint32_t enabledValidationFeatureCountNumber of validation features to enable @@ -2639,7 +2673,7 @@ typedef void* MTLSharedEvent_id; VkBool32 sciBufImport VkBool32 sciBufExport - + VkStructureType sType const void* pNext @@ -2686,19 +2720,24 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t privateDataSlotRequestCount - + VkStructureType sType const void* pNext - VkPrivateDataSlotCreateFlags flags + VkPrivateDataSlotCreateFlags flags - + VkStructureType sType void* pNext VkBool32 privateData - + + + VkStructureType sType + void* pNext + VkBool32 privateDataBaseHandle + VkStructureType sType void* pNext @@ -2961,76 +3000,76 @@ typedef void* MTLSharedEvent_id; void* pNext VkPhysicalDeviceFeatures features - + VkStructureType sType void* pNext VkPhysicalDeviceProperties properties - + VkStructureType sType void* pNext VkFormatProperties formatProperties - + VkStructureType sType void* pNext VkImageFormatProperties imageFormatProperties - + VkStructureType sType const void* pNext VkFormat format VkImageType type VkImageTiling tiling - VkImageUsageFlags usage - VkImageCreateFlags flags + VkImageUsageFlags usage + VkImageCreateFlags flags - + VkStructureType sType void* pNext VkQueueFamilyProperties queueFamilyProperties - + VkStructureType sType void* pNext VkPhysicalDeviceMemoryProperties memoryProperties - + VkStructureType sType void* pNext VkSparseImageFormatProperties properties - + VkStructureType sType const void* pNext VkFormat format VkImageType type VkSampleCountFlagBits samples - VkImageUsageFlags usage + VkImageUsageFlags usage VkImageTiling tiling - + VkStructureType sType void* pNext uint32_t maxPushDescriptors - + uint8_t major uint8_t minor uint8_t subminor uint8_t patch - + VkStructureType sType void* pNext @@ -3039,7 +3078,7 @@ typedef void* MTLSharedEvent_id; char driverInfo[VK_MAX_DRIVER_INFO_SIZE] VkConformanceVersion conformanceVersion - + VkStructureType sType const void* pNext @@ -3061,41 +3100,41 @@ typedef void* MTLSharedEvent_id; VkBool32 variablePointersStorageBuffer VkBool32 variablePointers - - - + + + VkExternalMemoryFeatureFlags externalMemoryFeatures VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes VkExternalMemoryHandleTypeFlags compatibleHandleTypes - - + + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlagBits handleType - + VkStructureType sType void* pNext VkExternalMemoryProperties externalMemoryProperties - + VkStructureType sType const void* pNext - VkBufferCreateFlags flags + VkBufferCreateFlags flags VkBufferUsageFlags usage VkExternalMemoryHandleTypeFlagBits handleType - + VkStructureType sType void* pNext VkExternalMemoryProperties externalMemoryProperties - + VkStructureType sType void* pNext @@ -3105,25 +3144,25 @@ typedef void* MTLSharedEvent_id; uint32_t deviceNodeMask VkBool32 deviceLUIDValid - + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlags handleTypes - + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlags handleTypes - + VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlags handleTypes - + VkStructureType sType const void* pNext @@ -3216,7 +3255,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkExternalSemaphoreHandleTypeFlagBits handleType - + VkStructureType sType void* pNext @@ -3224,13 +3263,13 @@ typedef void* MTLSharedEvent_id; VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures - + VkStructureType sType const void* pNext VkExternalSemaphoreHandleTypeFlags handleTypes - + VkStructureType sType const void* pNext @@ -3294,7 +3333,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkExternalFenceHandleTypeFlagBits handleType - + VkStructureType sType void* pNext @@ -3302,13 +3341,13 @@ typedef void* MTLSharedEvent_id; VkExternalFenceHandleTypeFlags compatibleHandleTypes VkExternalFenceFeatureFlags externalFenceFeatures - + VkStructureType sType const void* pNext VkExternalFenceHandleTypeFlags handleTypes - + VkStructureType sType const void* pNext @@ -3426,14 +3465,14 @@ typedef void* MTLSharedEvent_id; VkBool32 multiviewGeometryShaderMultiple views in a render pass w/ geometry shader VkBool32 multiviewTessellationShaderMultiple views in a render pass w/ tessellation shader - + VkStructureType sType void* pNext uint32_t maxMultiviewViewCountmax number of views in a subpass uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass - + VkStructureType sType const void* pNext @@ -3444,7 +3483,7 @@ typedef void* MTLSharedEvent_id; uint32_t correlationMaskCount const uint32_t* pCorrelationMasks - + VkStructureType sType void* pNext @@ -3487,14 +3526,14 @@ typedef void* MTLSharedEvent_id; VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE] VkBool32 subsetAllocation - + VkStructureType sType const void* pNext VkMemoryAllocateFlags flags uint32_t deviceMask - + VkStructureType sType const void* pNext @@ -3502,14 +3541,14 @@ typedef void* MTLSharedEvent_id; VkDeviceMemory memory VkDeviceSize memoryOffset - + VkStructureType sType const void* pNext uint32_t deviceIndexCount const uint32_t* pDeviceIndices - + VkStructureType sType const void* pNext @@ -3517,7 +3556,7 @@ typedef void* MTLSharedEvent_id; VkDeviceMemory memory VkDeviceSize memoryOffset - + VkStructureType sType const void* pNext @@ -3526,7 +3565,7 @@ typedef void* MTLSharedEvent_id; uint32_t splitInstanceBindRegionCount const VkRect2D* pSplitInstanceBindRegions - + VkStructureType sType const void* pNext @@ -3534,13 +3573,13 @@ typedef void* MTLSharedEvent_id; uint32_t deviceRenderAreaCount const VkRect2D* pDeviceRenderAreas - + VkStructureType sType const void* pNext uint32_t deviceMask - + VkStructureType sType const void* pNext @@ -3551,14 +3590,14 @@ typedef void* MTLSharedEvent_id; uint32_t signalSemaphoreCount const uint32_t* pSignalSemaphoreDeviceIndices - + VkStructureType sType const void* pNext uint32_t resourceDeviceIndex uint32_t memoryDeviceIndex - + VkStructureType sType void* pNext @@ -3598,7 +3637,7 @@ typedef void* MTLSharedEvent_id; uint32_t physicalDeviceCount const VkPhysicalDevice* pPhysicalDevices - + VkStructureType sType const void* pNext @@ -3612,7 +3651,7 @@ typedef void* MTLSharedEvent_id; size_t offsetOffset into pData where the descriptors to update are stored size_t strideStride between two descriptors in pData when writing more than one descriptor - + VkStructureType sType const void* pNext @@ -3625,7 +3664,7 @@ typedef void* MTLSharedEvent_id; VkPipelineLayout pipelineLayoutIf used for push descriptors, this is the only allowed layout uint32_t set - + float x float y @@ -3863,14 +3902,14 @@ typedef void* MTLSharedEvent_id; uint32_t inputAttachmentIndex VkImageAspectFlags aspectMask - + VkStructureType sType const void* pNext uint32_t aspectReferenceCount const VkInputAttachmentAspectReference* pAspectReferences - + VkStructureType sType const void* pNext @@ -3922,6 +3961,16 @@ typedef void* MTLSharedEvent_id; void* pNext VkImageUsageFlags sharedPresentSupportedUsageFlagsSupported image usage flags if swapchain created using a shared present mode + + VkStructureType sType + void* pNext + VkSwapchainCreateFlagsKHR swapchainSupportedFlagsSupported swapchain create flags for this surface and, if provided, a specific present mode in VkSurfacePresentModeKHR + + + VkStructureType sType + void* pNext + VkImageUsageFlags2KHR sharedPresentSupportedUsageFlags + VkStructureType sType void* pNext @@ -3930,7 +3979,7 @@ typedef void* MTLSharedEvent_id; VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs - + VkStructureType sType void* pNext @@ -3944,94 +3993,99 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderSubgroupExtendedTypesFlag to specify whether subgroup operations with extended types are supported - + VkStructureType sType const void* pNext VkBuffer buffer - + VkStructureType sType const void* pNext const VkBufferCreateInfo* pCreateInfo - + VkStructureType sType const void* pNext VkImage image - + VkStructureType sType const void* pNext VkImage image - + VkStructureType sType const void* pNext const VkImageCreateInfo* pCreateInfo VkImageAspectFlagBits planeAspect - + VkStructureType sType void* pNext VkMemoryRequirements memoryRequirements - + VkStructureType sType void* pNext VkSparseImageMemoryRequirements memoryRequirements - + VkStructureType sType void* pNext VkPointClippingBehavior pointClippingBehavior - + VkStructureType sType void* pNext VkBool32 prefersDedicatedAllocation VkBool32 requiresDedicatedAllocation - + VkStructureType sType const void* pNext VkImage imageImage that this allocation will be bound to VkBuffer bufferBuffer that this allocation will be bound to - + VkStructureType sType const void* pNext VkImageUsageFlags usage + + VkStructureType sType + void* pNext + VkImageUsageFlags2KHR usage + VkStructureType sType const void* pNext uint32_t sliceOffset uint32_t sliceCount - + VkStructureType sType const void* pNext VkTessellationDomainOrigin domainOrigin - + VkStructureType sType const void* pNext VkSamplerYcbcrConversion conversion - + VkStructureType sType const void* pNext @@ -4044,31 +4098,31 @@ typedef void* MTLSharedEvent_id; VkFilter chromaFilter VkBool32 forceExplicitReconstruction - + VkStructureType sType const void* pNext VkImageAspectFlagBits planeAspect - + VkStructureType sType const void* pNext VkImageAspectFlagBits planeAspect - + VkStructureType sType void* pNext VkBool32 samplerYcbcrConversionSampler color conversion supported - + VkStructureType sType void* pNext uint32_t combinedImageSamplerDescriptorCount - + VkStructureType sType void* pNext @@ -4116,7 +4170,7 @@ typedef void* MTLSharedEvent_id; VkBool32 filterMinmaxSingleComponentFormats VkBool32 filterMinmaxImageComponentMapping - + float x float y @@ -4170,7 +4224,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkSamplerReductionMode reductionMode - + VkStructureType sType void* pNext @@ -4204,7 +4258,7 @@ typedef void* MTLSharedEvent_id; VkBool32 inlineUniformBlock VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind - + VkStructureType sType void* pNext @@ -4214,20 +4268,20 @@ typedef void* MTLSharedEvent_id; uint32_t maxDescriptorSetInlineUniformBlocks uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks - + VkStructureType sType const void* pNext uint32_t dataSize const void* pData - + VkStructureType sType const void* pNext uint32_t maxInlineUniformBlockBindings - + VkStructureType sType const void* pNext @@ -4243,7 +4297,7 @@ typedef void* MTLSharedEvent_id; uint32_t viewFormatCount const VkFormat* pViewFormats - + VkStructureType sType const void* pNext @@ -4262,25 +4316,25 @@ typedef void* MTLSharedEvent_id; uint32_t maxPerSetDescriptors VkDeviceSize maxMemoryAllocationSize - + VkStructureType sType void* pNext VkBool32 maintenance4 - + VkStructureType sType void* pNext VkDeviceSize maxBufferSize - + VkStructureType sType void* pNext VkBool32 maintenance5 - + VkStructureType sType void* pNext @@ -4291,13 +4345,13 @@ typedef void* MTLSharedEvent_id; VkBool32 nonStrictSinglePixelWideLinesUseParallelogram VkBool32 nonStrictWideLinesUseParallelogram - + VkStructureType sType void* pNext VkBool32 maintenance6 - + VkStructureType sType void* pNext @@ -4305,7 +4359,7 @@ typedef void* MTLSharedEvent_id; uint32_t maxCombinedImageSamplerDescriptorCount VkBool32 fragmentShadingRateClampCombinerInputs - + VkStructureType sType void* pNext @@ -4394,27 +4448,27 @@ typedef void* MTLSharedEvent_id; VkFormat depthAttachmentFormat VkFormat stencilAttachmentFormat - + VkStructureType sType void* pNext VkBool32 supported - + VkStructureType sType void* pNext VkBool32 shaderDrawParameters - + VkStructureType sType void* pNext VkBool32 shaderFloat1616-bit floats (halfs) in shaders VkBool32 shaderInt88-bit integers in shaders - - + + VkStructureType sType void* pNext @@ -4436,13 +4490,13 @@ typedef void* MTLSharedEvent_id; VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ - + VkStructureType sType void* pNext VkBool32 hostQueryReset - + uint64_t consumer uint64_t producer @@ -4482,28 +4536,33 @@ typedef void* MTLSharedEvent_id; uint32_t numAvailableSgprs uint32_t computeWorkGroupSize[3] + + VkStructureType sType + void* pNext + VkBool32 elapsedTimerQuery + VkStructureType sType const void* pNext VkQueueGlobalPriority globalPriority - - + + VkStructureType sType void* pNext VkBool32 globalPriorityQuery - - + + VkStructureType sType void* pNext uint32_t priorityCount VkQueueGlobalPriority priorities[VK_MAX_GLOBAL_PRIORITY_SIZE] - - + + VkStructureType sType const void* pNext @@ -4606,7 +4665,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkTimeDomainKHR timeDomain - + VkStructureType sType void* pNext @@ -4662,7 +4721,7 @@ typedef void* MTLSharedEvent_id; VkBool32 descriptorBindingVariableDescriptorCount VkBool32 runtimeDescriptorArray - + VkStructureType sType void* pNext @@ -4690,27 +4749,27 @@ typedef void* MTLSharedEvent_id; uint32_t maxDescriptorSetUpdateAfterBindStorageImages uint32_t maxDescriptorSetUpdateAfterBindInputAttachments - + VkStructureType sType const void* pNext uint32_t bindingCount const VkDescriptorBindingFlags* pBindingFlags - + VkStructureType sType const void* pNext uint32_t descriptorSetCount const uint32_t* pDescriptorCounts - + VkStructureType sType void* pNext uint32_t maxVariableDescriptorCount - + VkStructureType sType const void* pNext @@ -4724,7 +4783,7 @@ typedef void* MTLSharedEvent_id; VkImageLayout initialLayout VkImageLayout finalLayout - + VkStructureType sType const void* pNext @@ -4732,7 +4791,7 @@ typedef void* MTLSharedEvent_id; VkImageLayout layout VkImageAspectFlags aspectMask - + VkStructureType sType const void* pNext @@ -4748,7 +4807,7 @@ typedef void* MTLSharedEvent_id; uint32_t preserveAttachmentCount const uint32_t* pPreserveAttachments - + VkStructureType sType const void* pNext @@ -4761,7 +4820,7 @@ typedef void* MTLSharedEvent_id; VkDependencyFlags dependencyFlags int32_t viewOffset - + VkStructureType sType const void* pNext @@ -4775,37 +4834,37 @@ typedef void* MTLSharedEvent_id; uint32_t correlatedViewMaskCount const uint32_t* pCorrelatedViewMasks - + VkStructureType sType const void* pNext VkSubpassContents contents - + VkStructureType sType const void* pNext - + VkStructureType sType void* pNext VkBool32 timelineSemaphore - + VkStructureType sType void* pNext uint64_t maxTimelineSemaphoreValueDifference - + VkStructureType sType const void* pNext VkSemaphoreType semaphoreType uint64_t initialValue - + VkStructureType sType const void* pNext @@ -4814,7 +4873,7 @@ typedef void* MTLSharedEvent_id; uint32_t signalSemaphoreValueCount const uint64_t* pSignalSemaphoreValues - + VkStructureType sType const void* pNext @@ -4823,28 +4882,28 @@ typedef void* MTLSharedEvent_id; const VkSemaphore* pSemaphores const uint64_t* pValues - + VkStructureType sType const void* pNext VkSemaphore semaphore uint64_t value - + uint32_t binding uint32_t divisor - - + + VkStructureType sType const void* pNext uint32_t vertexBindingDivisorCount const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors - - + + VkStructureType sType void* pNext @@ -4856,7 +4915,7 @@ typedef void* MTLSharedEvent_id; uint32_t maxVertexAttribDivisormax value of vertex attribute divisor VkBool32 supportsNonZeroFirstInstance - + VkStructureType sType void* pNext @@ -4915,7 +4974,7 @@ typedef void* MTLSharedEvent_id; VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform VkBool32 storagePushConstant88-bit integer variables supported in PushConstant - + VkStructureType sType void* pNext @@ -4929,14 +4988,14 @@ typedef void* MTLSharedEvent_id; VkBool32 vulkanMemoryModelDeviceScope VkBool32 vulkanMemoryModelAvailabilityVisibilityChains - + VkStructureType sType void* pNext VkBool32 shaderBufferInt64Atomics VkBool32 shaderSharedInt64Atomics - + VkStructureType sType void* pNext @@ -4975,8 +5034,8 @@ typedef void* MTLSharedEvent_id; VkBool32 vertexAttributeInstanceRateDivisor VkBool32 vertexAttributeInstanceRateZeroDivisor - - + + VkStructureType sType void* pNext @@ -4996,7 +5055,7 @@ typedef void* MTLSharedEvent_id; VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none VkBool32 independentResolvedepth and stencil resolve modes can be set independently - + VkStructureType sType const void* pNext @@ -5004,7 +5063,7 @@ typedef void* MTLSharedEvent_id; VkResolveModeFlagBits stencilResolveModestencil resolve mode const VkAttachmentReference2* pDepthStencilResolveAttachmentdepth/stencil resolve attachment - + VkStructureType sType const void* pNext @@ -5073,13 +5132,13 @@ typedef void* MTLSharedEvent_id; VkBool32 computeDerivativeGroupQuads VkBool32 computeDerivativeGroupLinear - + VkStructureType sType void* pNext VkBool32 meshAndTaskShaderDerivatives - + VkStructureType sType void* pNext @@ -5106,20 +5165,20 @@ typedef void* MTLSharedEvent_id; void* pNext VkQueueFlags supportedQueuesBitmask of VkQueueFlagBits indicating the family of queues that support indirect copy - + VkStructureType sType void* pNext VkBool32 memoryDecompression - + VkStructureType sType void* pNext VkMemoryDecompressionMethodFlagsEXT decompressionMethods uint64_t maxDecompressionIndirectCount - + uint32_t shadingRatePaletteEntryCount const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries @@ -5262,7 +5321,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage uint32_t groupCount @@ -5275,7 +5334,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage uint32_t groupCount @@ -5497,8 +5556,13 @@ typedef void* MTLSharedEvent_id; const void* pNext VkImageUsageFlags stencilUsage - - + + + VkStructureType sType + void* pNext + VkImageUsageFlags2KHR stencilUsage + + VkStructureType sType const void* pNext VkMemoryOverallocationBehaviorAMD overallocationBehavior @@ -5520,7 +5584,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 fragmentDensityMapOffset - + VkStructureType sType void* pNext @@ -5541,7 +5605,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkExtent2D fragmentDensityOffsetGranularity - + VkStructureType sType const void* pNext @@ -5553,13 +5617,13 @@ typedef void* MTLSharedEvent_id; uint32_t fragmentDensityOffsetCount const VkOffset2D* pFragmentDensityOffsets - + VkStructureType sType void* pNext VkBool32 scalarBlockLayout - + VkStructureType sType void* pNext @@ -5570,7 +5634,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 uniformBufferStandardLayout - + VkStructureType sType void* pNext @@ -5610,7 +5674,7 @@ typedef void* MTLSharedEvent_id; VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice - + VkStructureType sType void* pNext @@ -5618,20 +5682,20 @@ typedef void* MTLSharedEvent_id; VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice - + VkStructureType sType const void* pNext VkBuffer buffer - - + + VkStructureType sType const void* pNext uint64_t opaqueCaptureAddress - + VkStructureType sType const void* pNext @@ -5653,39 +5717,39 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 imagelessFramebuffer - + VkStructureType sType const void* pNext uint32_t attachmentImageInfoCount const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos - + VkStructureType sType const void* pNext - VkImageCreateFlags flagsImage creation flags - VkImageUsageFlags usageImage usage flags + VkImageCreateFlags flagsImage creation flags + VkImageUsageFlags usageImage usage flags uint32_t width uint32_t height uint32_t layerCount uint32_t viewFormatCount const VkFormat* pViewFormats - + VkStructureType sType const void* pNext uint32_t attachmentCount const VkImageView* pAttachments - + VkStructureType sType void* pNext VkBool32 textureCompressionASTC_HDR - + VkStructureType sType void* pNext @@ -5736,7 +5800,7 @@ typedef void* MTLSharedEvent_id; VkPipelineCreationFeedbackFlags flags uint64_t duration - + VkStructureType sType const void* pNext @@ -5744,7 +5808,7 @@ typedef void* MTLSharedEvent_id; uint32_t pipelineStageCreationFeedbackCount VkPipelineCreationFeedback* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct - + VkStructureType sType void* pNext @@ -5883,7 +5947,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkQueryPoolSamplingModeINTEL performanceCountersSampling - + VkStructureType sType const void* pNext @@ -5917,8 +5981,8 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 indexTypeUint8 - - + + VkStructureType sType void* pNext @@ -5942,7 +6006,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 separateDepthStencilLayouts - + VkStructureType sType void* pNext @@ -5954,14 +6018,14 @@ typedef void* MTLSharedEvent_id; VkBool32 primitiveTopologyListRestart VkBool32 primitiveTopologyPatchListRestart - + VkStructureType sType void* pNext VkImageLayout stencilInitialLayout VkImageLayout stencilFinalLayout - + VkStructureType sType void* pNext @@ -5972,7 +6036,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkPipeline pipeline - + VkStructureType sType void* pNext @@ -6015,7 +6079,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderDemoteToHelperInvocation - + VkStructureType sType void* pNext @@ -6029,14 +6093,14 @@ typedef void* MTLSharedEvent_id; VkDeviceSize uniformTexelBufferOffsetAlignmentBytes VkBool32 uniformTexelBufferOffsetSingleTexelAlignment - + VkStructureType sType void* pNext VkBool32 subgroupSizeControl VkBool32 computeFullSubgroups - + VkStructureType sType void* pNext @@ -6045,14 +6109,14 @@ typedef void* MTLSharedEvent_id; uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size - + VkStructureType sType const void* pNext uint32_t requiredSubgroupSize - - + + VkStructureType sType void* pNext @@ -6077,13 +6141,13 @@ typedef void* MTLSharedEvent_id; const void* pNext uint64_t opaqueCaptureAddress - + VkStructureType sType const void* pNext VkDeviceMemory memory - + VkStructureType sType void* pNext @@ -6094,15 +6158,15 @@ typedef void* MTLSharedEvent_id; VkBool32 stippledBresenhamLines VkBool32 stippledSmoothLines - - + + VkStructureType sType void* pNext uint32_t lineSubPixelPrecisionBits - - + + VkStructureType sType const void* pNext @@ -6111,277 +6175,277 @@ typedef void* MTLSharedEvent_id; uint32_t lineStippleFactor uint16_t lineStipplePattern - - + + VkStructureType sType void* pNext VkBool32 pipelineCreationCacheControl - + VkStructureType sType void* pNext - VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock - VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block - VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant - VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs - VkBool32 multiviewMultiple views in a render pass - VkBool32 multiviewGeometryShaderMultiple views in a render pass w/ geometry shader - VkBool32 multiviewTessellationShaderMultiple views in a render pass w/ tessellation shader - VkBool32 variablePointersStorageBuffer - VkBool32 variablePointers - VkBool32 protectedMemory - VkBool32 samplerYcbcrConversionSampler color conversion supported - VkBool32 shaderDrawParameters + VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock + VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block + VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant + VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs + VkBool32 multiviewMultiple views in a render pass + VkBool32 multiviewGeometryShaderMultiple views in a render pass w/ geometry shader + VkBool32 multiviewTessellationShaderMultiple views in a render pass w/ tessellation shader + VkBool32 variablePointersStorageBuffer + VkBool32 variablePointers + VkBool32 protectedMemory + VkBool32 samplerYcbcrConversionSampler color conversion supported + VkBool32 shaderDrawParameters VkStructureType sType void* pNext - uint8_t deviceUUID[VK_UUID_SIZE] - uint8_t driverUUID[VK_UUID_SIZE] - uint8_t deviceLUID[VK_LUID_SIZE] - uint32_t deviceNodeMask - VkBool32 deviceLUIDValid - uint32_t subgroupSizeThe size of a subgroup for this queue. - VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations - VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. - VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. - VkPointClippingBehavior pointClippingBehavior - uint32_t maxMultiviewViewCountmax number of views in a subpass - uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass - VkBool32 protectedNoFault - uint32_t maxPerSetDescriptors - VkDeviceSize maxMemoryAllocationSize + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid + uint32_t subgroupSizeThe size of a subgroup for this queue. + VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations + VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. + VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + VkPointClippingBehavior pointClippingBehavior + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass + VkBool32 protectedNoFault + uint32_t maxPerSetDescriptors + VkDeviceSize maxMemoryAllocationSize VkStructureType sType void* pNext - VkBool32 samplerMirrorClampToEdge - VkBool32 drawIndirectCount - VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer - VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform - VkBool32 storagePushConstant88-bit integer variables supported in PushConstant - VkBool32 shaderBufferInt64Atomics - VkBool32 shaderSharedInt64Atomics - VkBool32 shaderFloat1616-bit floats (halfs) in shaders - VkBool32 shaderInt88-bit integers in shaders - VkBool32 descriptorIndexing - 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 - VkBool32 samplerFilterMinmax - VkBool32 scalarBlockLayout - VkBool32 imagelessFramebuffer - VkBool32 uniformBufferStandardLayout - VkBool32 shaderSubgroupExtendedTypes - VkBool32 separateDepthStencilLayouts - VkBool32 hostQueryReset - VkBool32 timelineSemaphore - VkBool32 bufferDeviceAddress - VkBool32 bufferDeviceAddressCaptureReplay - VkBool32 bufferDeviceAddressMultiDevice - VkBool32 vulkanMemoryModel - VkBool32 vulkanMemoryModelDeviceScope - VkBool32 vulkanMemoryModelAvailabilityVisibilityChains - VkBool32 shaderOutputViewportIndex - VkBool32 shaderOutputLayer + VkBool32 samplerMirrorClampToEdge + VkBool32 drawIndirectCount + VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer + VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform + VkBool32 storagePushConstant88-bit integer variables supported in PushConstant + VkBool32 shaderBufferInt64Atomics + VkBool32 shaderSharedInt64Atomics + VkBool32 shaderFloat1616-bit floats (halfs) in shaders + VkBool32 shaderInt88-bit integers in shaders + VkBool32 descriptorIndexing + 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 + VkBool32 samplerFilterMinmax + VkBool32 scalarBlockLayout + VkBool32 imagelessFramebuffer + VkBool32 uniformBufferStandardLayout + VkBool32 shaderSubgroupExtendedTypes + VkBool32 separateDepthStencilLayouts + VkBool32 hostQueryReset + VkBool32 timelineSemaphore + VkBool32 bufferDeviceAddress + VkBool32 bufferDeviceAddressCaptureReplay + VkBool32 bufferDeviceAddressMultiDevice + VkBool32 vulkanMemoryModel + VkBool32 vulkanMemoryModelDeviceScope + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains + VkBool32 shaderOutputViewportIndex + VkBool32 shaderOutputLayer VkBool32 subgroupBroadcastDynamicId VkStructureType sType void* pNext - VkDriverId driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE] - VkConformanceVersion conformanceVersion - VkShaderFloatControlsIndependence denormBehaviorIndependence - VkShaderFloatControlsIndependence roundingModeIndependence - VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf - VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals - VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals - VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE - VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ - 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 - VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes - VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes - VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none - VkBool32 independentResolvedepth and stencil resolve modes can be set independently - VkBool32 filterMinmaxSingleComponentFormats - VkBool32 filterMinmaxImageComponentMapping - uint64_t maxTimelineSemaphoreValueDifference + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + 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 + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping + uint64_t maxTimelineSemaphoreValueDifference VkSampleCountFlags framebufferIntegerColorSampleCounts VkStructureType sType void* pNext - VkBool32 robustImageAccess - VkBool32 inlineUniformBlock - VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind - VkBool32 pipelineCreationCacheControl - VkBool32 privateData - VkBool32 shaderDemoteToHelperInvocation - VkBool32 shaderTerminateInvocation - VkBool32 subgroupSizeControl - VkBool32 computeFullSubgroups - VkBool32 synchronization2 - VkBool32 textureCompressionASTC_HDR - VkBool32 shaderZeroInitializeWorkgroupMemory - VkBool32 dynamicRendering - VkBool32 shaderIntegerDotProduct - VkBool32 maintenance4 + VkBool32 robustImageAccess + VkBool32 inlineUniformBlock + VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind + VkBool32 pipelineCreationCacheControl + VkBool32 privateData + VkBool32 shaderDemoteToHelperInvocation + VkBool32 shaderTerminateInvocation + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups + VkBool32 synchronization2 + VkBool32 textureCompressionASTC_HDR + VkBool32 shaderZeroInitializeWorkgroupMemory + VkBool32 dynamicRendering + VkBool32 shaderIntegerDotProduct + VkBool32 maintenance4 VkStructureType sType void* pNext - uint32_t minSubgroupSizeThe minimum subgroup size supported by this device - uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device - uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup - VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size - uint32_t maxInlineUniformBlockSize - uint32_t maxPerStageDescriptorInlineUniformBlocks - uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks - uint32_t maxDescriptorSetInlineUniformBlocks - uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + uint32_t maxInlineUniformBlockSize + uint32_t maxPerStageDescriptorInlineUniformBlocks + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + uint32_t maxDescriptorSetInlineUniformBlocks + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks uint32_t maxInlineUniformTotalSize - 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 - VkDeviceSize storageTexelBufferOffsetAlignmentBytes - VkBool32 storageTexelBufferOffsetSingleTexelAlignment - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + 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 + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment VkDeviceSize maxBufferSize VkStructureType sType void* pNext - VkBool32 globalPriorityQuery - VkBool32 shaderSubgroupRotate - VkBool32 shaderSubgroupRotateClustered - VkBool32 shaderFloatControls2 - VkBool32 shaderExpectAssume - VkBool32 rectangularLines - VkBool32 bresenhamLines - VkBool32 smoothLines - VkBool32 stippledRectangularLines - VkBool32 stippledBresenhamLines - VkBool32 stippledSmoothLines - VkBool32 vertexAttributeInstanceRateDivisor - VkBool32 vertexAttributeInstanceRateZeroDivisor - VkBool32 indexTypeUint8 - VkBool32 dynamicRenderingLocalRead - VkBool32 maintenance5 - VkBool32 maintenance6 - VkBool32 pipelineProtectedAccess - VkBool32 pipelineRobustness - VkBool32 hostImageCopy + VkBool32 globalPriorityQuery + VkBool32 shaderSubgroupRotate + VkBool32 shaderSubgroupRotateClustered + VkBool32 shaderFloatControls2 + VkBool32 shaderExpectAssume + VkBool32 rectangularLines + VkBool32 bresenhamLines + VkBool32 smoothLines + VkBool32 stippledRectangularLines + VkBool32 stippledBresenhamLines + VkBool32 stippledSmoothLines + VkBool32 vertexAttributeInstanceRateDivisor + VkBool32 vertexAttributeInstanceRateZeroDivisor + VkBool32 indexTypeUint8 + VkBool32 dynamicRenderingLocalRead + VkBool32 maintenance5 + VkBool32 maintenance6 + VkBool32 pipelineProtectedAccess + VkBool32 pipelineRobustness + VkBool32 hostImageCopy VkBool32 pushDescriptor VkStructureType sType void* pNext - uint32_t lineSubPixelPrecisionBits - uint32_t maxVertexAttribDivisormax value of vertex attribute divisor - VkBool32 supportsNonZeroFirstInstance - uint32_t maxPushDescriptors + uint32_t lineSubPixelPrecisionBits + uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + VkBool32 supportsNonZeroFirstInstance + uint32_t maxPushDescriptors VkBool32 dynamicRenderingLocalReadDepthStencilAttachments VkBool32 dynamicRenderingLocalReadMultisampledAttachments - VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting - VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting - VkBool32 depthStencilSwizzleOneSupport - VkBool32 polygonModePointSize - VkBool32 nonStrictSinglePixelWideLinesUseParallelogram - VkBool32 nonStrictWideLinesUseParallelogram - VkBool32 blockTexelViewCompatibleMultipleLayers - uint32_t maxCombinedImageSamplerDescriptorCount - VkBool32 fragmentShadingRateClampCombinerInputs - VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers - VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers - VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs - VkPipelineRobustnessImageBehavior defaultRobustnessImages - uint32_t copySrcLayoutCount - VkImageLayout* pCopySrcLayouts - uint32_t copyDstLayoutCount - VkImageLayout* pCopyDstLayouts - uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE] - VkBool32 identicalMemoryTypeRequirements + VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting + VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting + VkBool32 depthStencilSwizzleOneSupport + VkBool32 polygonModePointSize + VkBool32 nonStrictSinglePixelWideLinesUseParallelogram + VkBool32 nonStrictWideLinesUseParallelogram + VkBool32 blockTexelViewCompatibleMultipleLayers + uint32_t maxCombinedImageSamplerDescriptorCount + VkBool32 fragmentShadingRateClampCombinerInputs + VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers + VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers + VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs + VkPipelineRobustnessImageBehavior defaultRobustnessImages + uint32_t copySrcLayoutCount + VkImageLayout* pCopySrcLayouts + uint32_t copyDstLayoutCount + VkImageLayout* pCopyDstLayouts + uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE] + VkBool32 identicalMemoryTypeRequirements VkStructureType sType @@ -6393,6 +6457,80 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 deviceCoherentMemory + + VkGpaPerfBlockAMD blockType + VkGpaPerfBlockPropertiesFlagsAMD flags + uint32_t instanceCount + uint32_t maxEventID + uint32_t maxGlobalOnlyCounters + uint32_t maxGlobalSharedCounters + uint32_t maxStreamingCounters + + + VkStructureType sType + void* pNext + VkBool32 perfCounters + VkBool32 streamingPerfCounters + VkBool32 sqThreadTracing + VkBool32 clockModes + + + VkStructureType sType + void* pNext + VkPhysicalDeviceGpaPropertiesFlagsAMD flags + VkDeviceSize maxSqttSeBufferSize + uint32_t shaderEngineCount + uint32_t perfBlockCount + VkGpaPerfBlockPropertiesAMD* pPerfBlocks + + + VkStructureType sType + void* pNext + uint32_t revisionId + + + VkGpaPerfBlockAMD blockType + uint32_t blockInstance + uint32_t eventID + + + VkStructureType sType + const void* pNext + VkGpaSampleTypeAMD sampleType + VkBool32 sampleInternalOperations + VkBool32 cacheFlushOnCounterCollection + VkBool32 sqShaderMaskEnable + VkGpaSqShaderStageFlagsAMD sqShaderMask + uint32_t perfCounterCount + const VkGpaPerfCounterAMD* pPerfCounters + uint32_t streamingPerfTraceSampleInterval + VkDeviceSize perfCounterDeviceMemoryLimit + VkBool32 sqThreadTraceEnable + VkBool32 sqThreadTraceSuppressInstructionTokens + VkDeviceSize sqThreadTraceDeviceMemoryLimit + VkPipelineStageFlags timingPreSample + VkPipelineStageFlags timingPostSample + + + VkStructureType sType + const void* pNext + VkGpaDeviceClockModeAMD clockMode + float memoryClockRatioToPeak + float engineClockRatioToPeak + + + VkStructureType sType + void* pNext + float memoryClockRatioToPeak + float engineClockRatioToPeak + uint32_t memoryClockFrequency + uint32_t engineClockFrequency + + + VkStructureType sType + const void* pNext + VkGpaSessionAMD secondaryCopySource + VkStructureType sType void* pNext @@ -6415,7 +6553,7 @@ typedef void* MTLSharedEvent_id; char description[VK_MAX_DESCRIPTION_SIZE] char layer[VK_MAX_EXTENSION_NAME_SIZE] - + VkStructureType sType const void* pNext @@ -6557,11 +6695,11 @@ typedef void* MTLSharedEvent_id; float maxY float maxZ - + float matrix[3][4] - + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. VkTransformMatrixKHR transform @@ -6571,7 +6709,7 @@ typedef void* MTLSharedEvent_id; VkGeometryInstanceFlagsKHR flags:8 uint64_t accelerationStructureReference - + VkStructureType sType const void* pNext @@ -6678,6 +6816,11 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 dynamicPrimitiveTopologyUnrestricted + + VkStructureType sType + void* pNext + VkBool32 extendedFlags + VkBlendFactor srcColorBlendFactor VkBlendFactor dstColorBlendFactor @@ -6796,7 +6939,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderZeroInitializeWorkgroupMemory - + VkStructureType sType void* pNext @@ -6809,20 +6952,20 @@ typedef void* MTLSharedEvent_id; VkBool32 robustImageAccess2 VkBool32 nullDescriptor - + VkStructureType sType void* pNext VkDeviceSize robustStorageBufferAccessSizeAlignment VkDeviceSize robustUniformBufferAccessSizeAlignment - + VkStructureType sType void* pNext VkBool32 robustImageAccess - + VkStructureType sType void* pNext @@ -6884,7 +7027,7 @@ typedef void* MTLSharedEvent_id; VkDeviceSize dstOffsetSpecified in bytes VkDeviceSize sizeSpecified in bytes - + VkStructureType sType const void* pNext @@ -6894,7 +7037,7 @@ typedef void* MTLSharedEvent_id; VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images VkExtent3D extentSpecified in pixels for both compressed and uncompressed images - + VkStructureType sType const void* pNext @@ -6903,7 +7046,7 @@ typedef void* MTLSharedEvent_id; VkImageSubresourceLayers dstSubresource VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images - + VkStructureType sType const void* pNext @@ -6914,7 +7057,7 @@ typedef void* MTLSharedEvent_id; VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images - + VkStructureType sType const void* pNext @@ -6924,7 +7067,7 @@ typedef void* MTLSharedEvent_id; VkOffset3D dstOffset VkExtent3D extent - + VkStructureType sType const void* pNext @@ -6933,7 +7076,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkBufferCopy2* pRegions - + VkStructureType sType const void* pNext @@ -6944,7 +7087,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkImageCopy2* pRegions - + VkStructureType sType const void* pNext @@ -6956,7 +7099,7 @@ typedef void* MTLSharedEvent_id; const VkImageBlit2* pRegions VkFilter filter - + VkStructureType sType const void* pNext @@ -6966,7 +7109,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkBufferImageCopy2* pRegions - + VkStructureType sType const void* pNext @@ -6976,7 +7119,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkBufferImageCopy2* pRegions - + VkStructureType sType const void* pNext @@ -6987,7 +7130,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkImageResolve2* pRegions - + VkStructureType sType void* pNext @@ -7045,7 +7188,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderTerminateInvocation - + VkStructureType sType void* pNext @@ -7103,19 +7246,19 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 mutableDescriptorType - + uint32_t descriptorTypeCount const VkDescriptorType* pDescriptorTypes - + VkStructureType sType const void* pNext uint32_t mutableDescriptorTypeListCount const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists - + VkStructureType sType void* pNext @@ -7360,7 +7503,7 @@ typedef void* MTLSharedEvent_id; VkPipelineStageFlags2 dstStageMask VkAccessFlags2 dstAccessMask - + VkStructureType sType const void* pNext @@ -7375,7 +7518,7 @@ typedef void* MTLSharedEvent_id; VkImage image VkImageSubresourceRange subresourceRange - + VkStructureType sType const void* pNext @@ -7389,7 +7532,7 @@ typedef void* MTLSharedEvent_id; VkDeviceSize offset VkDeviceSize size - + VkStructureType sType const void* pNext @@ -7407,7 +7550,7 @@ typedef void* MTLSharedEvent_id; uint32_t imageMemoryBarrierCount const VkImageMemoryBarrier2* pImageMemoryBarriers - + VkStructureType sType const void* pNext @@ -7416,14 +7559,14 @@ typedef void* MTLSharedEvent_id; VkPipelineStageFlags2 stageMask uint32_t deviceIndex - + VkStructureType sType const void* pNext VkCommandBuffer commandBuffer uint32_t deviceMask - + VkStructureType sType const void* pNext @@ -7435,7 +7578,7 @@ typedef void* MTLSharedEvent_id; uint32_t signalSemaphoreInfoCount const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos - + VkStructureType sType void* pNext @@ -7452,7 +7595,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 synchronization2 - + VkStructureType sType void* pNext @@ -7464,7 +7607,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 hostImageCopy - + VkStructureType sType void* pNext @@ -7475,7 +7618,7 @@ typedef void* MTLSharedEvent_id; uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE] VkBool32 identicalMemoryTypeRequirements - + VkStructureType sType const void* pNext @@ -7486,7 +7629,7 @@ typedef void* MTLSharedEvent_id; VkOffset3D imageOffset VkExtent3D imageExtent - + VkStructureType sType const void* pNext @@ -7497,7 +7640,7 @@ typedef void* MTLSharedEvent_id; VkOffset3D imageOffset VkExtent3D imageExtent - + VkStructureType sType const void* pNext @@ -7507,7 +7650,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkMemoryToImageCopy* pRegions - + VkStructureType sType const void* pNext @@ -7517,7 +7660,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkImageToMemoryCopy* pRegions - + VkStructureType sType const void* pNext @@ -7529,7 +7672,7 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkImageCopy2* pRegions - + VkStructureType sType const void* pNext @@ -7538,20 +7681,20 @@ typedef void* MTLSharedEvent_id; VkImageLayout newLayout VkImageSubresourceRange subresourceRange - + VkStructureType sType void* pNext VkDeviceSize sizeSpecified in bytes - + VkStructureType sType void* pNext VkBool32 optimalDeviceAccessSpecifies if device access is optimal VkBool32 identicalMemoryLayoutSpecifies if memory layout is identical - + VkStructureType sType void* pNext @@ -7681,12 +7824,17 @@ typedef void* MTLSharedEvent_id; VkBool32 multisampledRenderToSingleSampledEnable VkSampleCountFlagBits rasterizationSamples + + VkStructureType sType + void* pNext + VkBool32 multisampledRenderToSwapchain + VkStructureType sType void* pNext VkBool32 pipelineProtectedAccess - + VkStructureType sType void* pNext @@ -7706,7 +7854,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkImageUsageFlags imageUsage + VkImageUsageFlags imageUsage VkStructureType sType @@ -7846,11 +7994,11 @@ typedef void* MTLSharedEvent_id; Video Decode Codec Standard specific structures #include "vk_video/vulkan_video_codec_h264std.h" - - + + #include "vk_video/vulkan_video_codec_h264std_decode.h" - - + + VkStructureType sType const void* pNext @@ -7863,8 +8011,8 @@ typedef void* MTLSharedEvent_id; StdVideoH264LevelIdc maxLevelIdc VkOffset2D fieldOffsetGranularity - - + + VkStructureType sType const void* pNext @@ -7899,14 +8047,14 @@ typedef void* MTLSharedEvent_id; const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo #include "vk_video/vulkan_video_codec_h265std.h" - - - - - + + + + + #include "vk_video/vulkan_video_codec_h265std_decode.h" - - + + VkStructureType sType const void* pNext @@ -7955,10 +8103,10 @@ typedef void* MTLSharedEvent_id; const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo #include "vk_video/vulkan_video_codec_vp9std.h" - - + + #include "vk_video/vulkan_video_codec_vp9std_decode.h" - + VkStructureType sType void* pNext @@ -7984,12 +8132,12 @@ typedef void* MTLSharedEvent_id; uint32_t tilesOffset #include "vk_video/vulkan_video_codec_av1std.h" - - - + + + #include "vk_video/vulkan_video_codec_av1std_decode.h" - - + + VkStructureType sType const void* pNext @@ -8167,6 +8315,23 @@ typedef void* MTLSharedEvent_id; VkExtent2D encodeInputPictureGranularity VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags + + VkStructureType sType + void* pNext + VkBool32 videoEncodeFeedback2 + + + VkStructureType sType + void* pNext + uint32_t maxPerPartitionFeedbackEntries + VkVideoEncodePerPartitionFeedbackFlagsKHR supportedPerPartitionEncodeFeedbackFlags + + + VkStructureType sType + const void* pNext + uint32_t maxPerPartitionFeedbackEntries + VkVideoEncodePerPartitionFeedbackFlagsKHR perPartitionEncodeFeedbackFlags + VkStructureType sType void* pNext @@ -8198,9 +8363,9 @@ typedef void* MTLSharedEvent_id; VkBool32 preferredStdEntropyCodingModeFlag #include "vk_video/vulkan_video_codec_h264std_encode.h" - - - + + + VkStructureType sType const void* pNext @@ -8330,9 +8495,9 @@ typedef void* MTLSharedEvent_id; uint32_t preferredMaxL1ReferenceCount #include "vk_video/vulkan_video_codec_h265std_encode.h" - - - + + + VkStructureType sType const void* pNext @@ -8482,11 +8647,11 @@ typedef void* MTLSharedEvent_id; uint32_t preferredBidirectionalCompoundReferenceNameMask #include "vk_video/vulkan_video_codec_av1std_encode.h" - - - - - + + + + + VkStructureType sType void* pNext @@ -8722,7 +8887,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkDeviceAddress address - VkBufferUsageFlags usage + VkBufferUsageFlags usage VkStructureType sType @@ -8783,7 +8948,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderIntegerDotProduct - + VkStructureType sType void* pNext @@ -8818,7 +8983,7 @@ typedef void* MTLSharedEvent_id; VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated - + VkStructureType sType void* pNext @@ -8863,7 +9028,7 @@ typedef void* MTLSharedEvent_id; VkBool32 spheres VkBool32 linearSweptSpheres - + VkStructureType sType const void* pNext @@ -9049,7 +9214,14 @@ typedef void* MTLSharedEvent_id; VkFormatFeatureFlags2 optimalTilingFeatures VkFormatFeatureFlags2 bufferFeatures - + + + VkStructureType sType + void* pNext + VkFormatFeatureFlags4KHR linearTilingFeatures + VkFormatFeatureFlags4KHR optimalTilingFeatures + VkFormatFeatureFlags4KHR bufferFeatures + VkStructureType sType void* pNext @@ -9082,7 +9254,7 @@ typedef void* MTLSharedEvent_id; VkFormat depthAttachmentFormat VkFormat stencilAttachmentFormat - + VkStructureType sType const void* pNext @@ -9095,12 +9267,12 @@ typedef void* MTLSharedEvent_id; const VkRenderingAttachmentInfo* pDepthAttachment const VkRenderingAttachmentInfo* pStencilAttachment - + VkStructureType sType const void* pNext - + VkStructureType sType const void* pNext @@ -9113,10 +9285,10 @@ typedef void* MTLSharedEvent_id; VkAttachmentStoreOp storeOp VkClearValue clearValue - + VkStructureType sType - const void* pNext + const void* pNext VkImageView imageView VkImageLayout imageLayout VkExtent2D shadingRateAttachmentTexelSize @@ -9132,7 +9304,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 dynamicRendering - + VkStructureType sType const void* pNext @@ -9145,7 +9317,7 @@ typedef void* MTLSharedEvent_id; VkFormat stencilAttachmentFormat VkSampleCountFlagBits rasterizationSamples - + VkStructureType sType const void* pNext @@ -9153,7 +9325,7 @@ typedef void* MTLSharedEvent_id; const VkSampleCountFlagBits* pColorAttachmentSamples VkSampleCountFlagBits depthStencilAttachmentSamples - + VkStructureType sType const void* pNext @@ -9177,7 +9349,7 @@ typedef void* MTLSharedEvent_id; VkBool32 rasterizationOrderDepthAttachmentAccess VkBool32 rasterizationOrderStencilAttachmentAccess - + VkStructureType sType void* pNext @@ -9233,6 +9405,20 @@ typedef void* MTLSharedEvent_id; const void* pNext VkNeuralAcceleratorStatisticsModeARM mode + + VkStructureType sType + void* pNext + VkFormatFeatureFlags2 brick16TilingTensorFeatures + VkFormatFeatureFlags2 brick8TilingTensorFeatures + VkFormatFeatureFlags2 brick4TilingTensorFeatures + VkFormatFeatureFlags2 blockUTilingTensorFeatures + VkFormatFeatureFlags2 blockU64kTilingTensorFeatures + + + VkStructureType sType + const void* pNext + uint32_t wraps[VK_MAX_TENSOR_CREATE_INFO_ROLLING_BACKING_WRAP_COUNT_ARM] + VkStructureType sType void* pNext @@ -9312,15 +9498,15 @@ typedef void* MTLSharedEvent_id; void* pNext VkImageSubresource imageSubresource - - - + + + VkStructureType sType void* pNext VkSubresourceLayout subresourceLayout - - + + VkStructureType sType const void* pNext @@ -9350,97 +9536,135 @@ typedef void* MTLSharedEvent_id; VkBool32 subpassMergeFeedback - VkStructureType sType - const void* pNext - VkMicromapTypeEXT type - VkBuildMicromapFlagsEXT flags - VkBuildMicromapModeEXT mode - VkMicromapEXT dstMicromap - uint32_t usageCountsCount - const VkMicromapUsageEXT* pUsageCounts + VkStructureType sType + const void* pNext + VkMicromapTypeEXT type + VkBuildMicromapFlagsEXT flags + VkBuildMicromapModeEXT mode + VkMicromapEXT dstMicromap + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts const VkMicromapUsageEXT* const* ppUsageCounts VkDeviceOrHostAddressConstKHR data VkDeviceOrHostAddressKHR scratchData VkDeviceOrHostAddressConstKHR triangleArray VkDeviceSize triangleArrayStride + + VkStructureType sType + const void* pNext + uint32_t usageCountsCount + const VkMicromapUsageKHR* pUsageCounts + const VkMicromapUsageKHR* const* ppUsageCounts + VkDeviceAddress data + VkDeviceAddress triangleArray + VkDeviceSize triangleArrayStride + VkStructureType sType - const void* pNext - VkMicromapCreateFlagsEXT createFlags - VkBuffer buffer - VkDeviceSize offsetSpecified in bytes - VkDeviceSize size - VkMicromapTypeEXT type - VkDeviceAddress deviceAddress + const void* pNext + VkMicromapCreateFlagsEXT createFlags + VkBuffer buffer + VkDeviceSize offsetSpecified in bytes + VkDeviceSize size + VkMicromapTypeEXT type + VkDeviceAddress deviceAddress VkStructureType sType - const void* pNext + const void* pNext const uint8_t* pVersionData VkStructureType sType - const void* pNext - VkMicromapEXT src - VkMicromapEXT dst - VkCopyMicromapModeEXT mode + const void* pNext + VkMicromapEXT src + VkMicromapEXT dst + VkCopyMicromapModeEXT mode VkStructureType sType - const void* pNext - VkMicromapEXT src - VkDeviceOrHostAddressKHR dst - VkCopyMicromapModeEXT mode + const void* pNext + VkMicromapEXT src + VkDeviceOrHostAddressKHR dst + VkCopyMicromapModeEXT mode VkStructureType sType - const void* pNext - VkDeviceOrHostAddressConstKHR src - VkMicromapEXT dst - VkCopyMicromapModeEXT mode + const void* pNext + VkDeviceOrHostAddressConstKHR src + VkMicromapEXT dst + VkCopyMicromapModeEXT mode VkStructureType sType - const void* pNext - VkDeviceSize micromapSize - VkDeviceSize buildScratchSize - VkBool32 discardable + const void* pNext + VkDeviceSize micromapSize + VkDeviceSize buildScratchSize + VkBool32 discardable + + + uint32_t count + uint32_t subdivisionLevel + VkOpacityMicromapFormatKHR format uint32_t count uint32_t subdivisionLevel uint32_t formatInterpretation depends on parent type - + uint32_t dataOffsetSpecified in bytes uint16_t subdivisionLevel uint16_t format + + + VkStructureType sType + void* pNext + VkBool32 micromap + VkStructureType sType - void* pNext - VkBool32 micromap - VkBool32 micromapCaptureReplay - VkBool32 micromapHostCommands + void* pNext + VkBool32 micromap + VkBool32 micromapCaptureReplay + VkBool32 micromapHostCommands + + + VkStructureType sType + void* pNext + uint32_t maxOpacity2StateSubdivisionLevel + uint32_t maxOpacity4StateSubdivisionLevel + uint32_t maxOpacityLossy4StateSubdivisionLevel + uint64_t maxMicromapTriangles VkStructureType sType - void* pNext - uint32_t maxOpacity2StateSubdivisionLevel - uint32_t maxOpacity4StateSubdivisionLevel + void* pNext + uint32_t maxOpacity2StateSubdivisionLevel + uint32_t maxOpacity4StateSubdivisionLevel + + + VkStructureType sType + void* pNext + VkIndexType indexType + VkDeviceAddress indexBuffer + VkDeviceSize indexStride + uint32_t baseTriangle + VkAccelerationStructureKHR micromap VkStructureType sType - void* pNext - VkIndexType indexType - VkDeviceOrHostAddressConstKHR indexBuffer - VkDeviceSize indexStride - uint32_t baseTriangle - uint32_t usageCountsCount - const VkMicromapUsageEXT* pUsageCounts - const VkMicromapUsageEXT* const* ppUsageCounts - VkMicromapEXT micromap + void* pNext + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexBuffer + VkDeviceSize indexStride + uint32_t baseTriangle + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + VkMicromapEXT micromap VkStructureType sType @@ -9576,7 +9800,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 pipelineRobustness - + VkStructureType sType const void* pNext @@ -9585,7 +9809,7 @@ typedef void* MTLSharedEvent_id; VkPipelineRobustnessBufferBehavior vertexInputs VkPipelineRobustnessImageBehavior images - + VkStructureType sType void* pNext @@ -9594,7 +9818,7 @@ typedef void* MTLSharedEvent_id; VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs VkPipelineRobustnessImageBehavior defaultRobustnessImages - + VkStructureType sType const void* pNext @@ -9602,6 +9826,16 @@ typedef void* MTLSharedEvent_id; VkExtent2D filterSize uint32_t numPhases + + VkStructureType sType + void* pNext + VkBool32 shaderMultipleWaitQueues + + + VkStructureType sType + void* pNext + uint32_t maxShaderWaitQueues + VkStructureType sType void* pNext @@ -9749,13 +9983,13 @@ typedef void* MTLSharedEvent_id; VkDeviceAddress reportedAddress VkDeviceSize addressPrecision - + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault uint64_t vendorFaultCode uint64_t vendorFaultData - + VkStructureType sType void* pNext @@ -9801,7 +10035,7 @@ typedef void* MTLSharedEvent_id; uint32_t engineVersion uint32_t apiVersion - + VkStructureType sType void* pNext @@ -9815,8 +10049,9 @@ typedef void* MTLSharedEvent_id; void* pNext uint32_t maxDeviceFaultCount - - VkStructureType sType + + + VkStructureType sType void* pNext VkBool32 pipelineLibraryGroupHandles @@ -9898,7 +10133,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkPresentModeKHR presentMode - + VkStructureType sType void* pNext @@ -9908,41 +10143,41 @@ typedef void* MTLSharedEvent_id; VkExtent2D minScaledImageExtentSupported minimum image width and height for the surface when scaling is used VkExtent2D maxScaledImageExtentSupported maximum image width and height for the surface when scaling is used - + VkStructureType sType void* pNext uint32_t presentModeCount VkPresentModeKHR* pPresentModesOutput list of present modes compatible with the one specified in VkSurfacePresentModeKHR - + VkStructureType sType void* pNext VkBool32 swapchainMaintenance1 - + VkStructureType sType const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkFence* pFencesFence to signal for each swapchain - + VkStructureType sType const void* pNext uint32_t presentModeCountLength of the pPresentModes array const VkPresentModeKHR* pPresentModesPresentation modes which will be usable with this swapchain - + VkStructureType sType const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkPresentModeKHR* pPresentModesPresentation mode for each swapchain - + VkStructureType sType const void* pNext @@ -9950,7 +10185,7 @@ typedef void* MTLSharedEvent_id; VkPresentGravityFlagsKHR presentGravityX VkPresentGravityFlagsKHR presentGravityY - + VkStructureType sType const void* pNext @@ -9958,7 +10193,7 @@ typedef void* MTLSharedEvent_id; uint32_t imageIndexCountNumber of indices to release const uint32_t* pImageIndicesIndices of which presentable images to release - + VkStructureType sType void* pNext @@ -10029,7 +10264,7 @@ typedef void* MTLSharedEvent_id; const VkImageCreateInfo* pCreateInfo const VkImageSubresource2* pSubresource - + VkStructureType sType void* pNext @@ -10061,14 +10296,14 @@ typedef void* MTLSharedEvent_id; VkDeviceSize offset VkDeviceSize size - + VkStructureType sType const void* pNext VkMemoryUnmapFlags flags VkDeviceMemory memory - + VkStructureType sType void* pNext @@ -10163,6 +10398,25 @@ typedef void* MTLSharedEvent_id; VkBool32 saturatingAccumulation VkScopeKHR scope + + VkStructureType sType + const void* pNext + VkScopeKHR scope + uint32_t invocations + uint32_t subgroupSize + VkCooperativeMatrixFlagsEXT flags + + + VkStructureType sType + void* pNext + uint32_t MGranularity + uint32_t NGranularity + uint32_t KGranularity + VkComponentTypeKHR AType + VkComponentTypeKHR BType + VkComponentTypeKHR CType + VkComponentTypeKHR ResultType + VkStructureType sType void* pNext @@ -10175,7 +10429,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext + void* pNext uint32_t maxExecutionGraphDepth uint32_t maxExecutionGraphShaderOutputNodes uint32_t maxExecutionGraphShaderPayloadSize @@ -10270,7 +10524,7 @@ typedef void* MTLSharedEvent_id; VkDeviceSize size VkDeviceSize alignment - + VkStructureType sType const void* pNext @@ -10282,7 +10536,7 @@ typedef void* MTLSharedEvent_id; uint32_t dynamicOffsetCount const uint32_t* pDynamicOffsets - + VkStructureType sType const void* pNext @@ -10292,7 +10546,7 @@ typedef void* MTLSharedEvent_id; uint32_t size const void* pValues - + VkStructureType sType const void* pNext @@ -10302,7 +10556,7 @@ typedef void* MTLSharedEvent_id; uint32_t descriptorWriteCount const VkWriteDescriptorSet* pDescriptorWrites - + VkStructureType sType const void* pNext @@ -10311,7 +10565,7 @@ typedef void* MTLSharedEvent_id; uint32_t set const void* pData - + VkStructureType sType const void* pNext @@ -10376,6 +10630,13 @@ typedef void* MTLSharedEvent_id; VkExtent2D windowExtent VkBlockMatchWindowCompareModeQCOM windowCompareMode + + VkStructureType sType + void* pNext + VkBool32 imageGatherLinear + VkBool32 imageGatherExtendedModes + VkBool32 blockMatchExtendedClampToEdge + VkStructureType sType void* pNext @@ -10562,32 +10823,32 @@ typedef void* MTLSharedEvent_id; VkBool32 shaderSubgroupRotate VkBool32 shaderSubgroupRotateClustered - + VkStructureType sType void* pNext VkBool32 shaderExpectAssume - + VkStructureType sType void* pNext VkBool32 shaderFloatControls2 - + VkStructureType sType void* pNext VkBool32 dynamicRenderingLocalRead - + VkStructureType sType const void* pNext uint32_t colorAttachmentCount const uint32_t* pColorAttachmentLocations - + VkStructureType sType const void* pNext @@ -10596,7 +10857,7 @@ typedef void* MTLSharedEvent_id; const uint32_t* pDepthInputAttachmentIndex const uint32_t* pStencilInputAttachmentIndex - + VkStructureType sType void* pNext @@ -10661,7 +10922,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderReplicatedComposites - + VkStructureType sType void* pNext @@ -10703,6 +10964,11 @@ typedef void* MTLSharedEvent_id; VkScopeKHR scope uint32_t workgroupInvocations + + VkStructureType sType + void* pNext + VkBool32 cooperativeMatrixDecodeVector + VkStructureType sType void* pNext @@ -11573,6 +11839,16 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t subsampledImageDescriptorCount + + VkStructureType sType + void* pNext + VkBool32 shaderSplitBarrier + + + VkStructureType sType + void* pNext + uint32_t splitBarrierReservedSharedMemory + VkStructureType sType void* pNext @@ -11646,7 +11922,7 @@ typedef void* MTLSharedEvent_id; VkDeviceAddress address VkDeviceSize size - + VkStructureType sType const void* pNext @@ -11826,12 +12102,12 @@ typedef void* MTLSharedEvent_id; uint32_t maxWidth uint32_t maxHeight - + VkStructureType sType const void* pNext VkDataGraphOpticalFlowImageUsageFlagsARM usage - + VkStructureType sType void* pNext VkFormat format @@ -11862,50 +12138,100 @@ typedef void* MTLSharedEvent_id; VkDataGraphOpticalFlowExecuteFlagsARM flags uint32_t meanFlowL1NormHint + + VkStructureType sType + void* pNext + VkBool32 imageTilingControl + + + VkStructureType sType + const void* pNext + VkImageTilingControlEXT tilingControl + + + VkStructureType sType + void* pNext + VkBool32 shaderFloat4 + VkBool32 shaderFloat6 + VkBool32 shaderFloat8UnsignedE8M0 + VkBool32 shaderMXInt8 + + + VkStructureType sType + void* pNext + VkBool32 cooperativeMatrixProperties2 + VkBool32 cooperativeMatrixReductions + VkBool32 cooperativeMatrixConversions + VkBool32 cooperativeMatrixPerElementOperations + VkBool32 cooperativeMatrixGetCoordinate + + + VkStructureType sType + void* pNext + VkBool32 bufferDeviceAddressAllocationAlignment + + + VkStructureType sType + void* pNext + uint32_t maxBufferDeviceAddressAllocationAlignment + + + VkStructureType sType + void* pNext + uint32_t alignment + + + VkStructureType sType + void* pNext + uint32_t deviceIpVersionArch + uint32_t deviceIpVersionRelease + uint32_t deviceIpVersionRevision + Vulkan enumerant (token) definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11918,125 +12244,125 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - - - - - + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - + - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - - + + - - + + - - - - + + + + value="4" reserved for VK_KHR_sampler_mirror_clamp_to_edge enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE; do not @@ -12044,1282 +12370,1303 @@ typedef void* MTLSharedEvent_id; - - - - - - - - + + + + + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + Return codes (positive values) - - - - - - + + + + + + Error codes (negative values) - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - - + + + - - + + Flags - - - - + + + + - - - - + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - + - + - - - - - - - + + + + + + + - + - - - - + + + + - + - + - - + + - + WSI Extensions - - - - + + + + - - + + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NVX_device_generated_commands formerly used these enum values, but that extension has been removed value 31 / name VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - - + + - - - - - + + + + + - - + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - + + + - + - - - + + + - - - - - - - + + + + + + + - - + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - + - - - - + + + + - - + + - + - - + + - - - + + + - + - + - - - - + + + + - + - - - - + + + + - - - - - - - - + + + + + + + + - - + + - - + + - - - + + + - - + + - - - - - + + + + + - - + + - - + + - - - + + + - - - - + + + + - - + + - + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + Vendor IDs are now represented as enums instead of the old <vendorids> tag, allowing them to be included in the API headers. - - - - - - - - - + + + + + + + + + + Driver IDs are now represented as enums instead of the old <driverids> tag, allowing them to be included in the API headers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - - - - + + + + + - - + + - - - - - + + + + + - + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + + @@ -13328,960 +13675,1060 @@ typedef void* MTLSharedEvent_id; - + - + - - + + - - + + - - - - - + + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + bitpos 17-31 are specified by extensions to the original VkAccessFlagBits enum - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum - - - - - - - + + + + + + + - + - - - + + + - - + + - - + + - + - - - + + + - - - - + + + + - + - - + + - + - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - - + + + + - - + + - - + + - + - - - - - + + + + + - - - - + + + + - - + + - + - - - + + + - + - - - + + + - - - - + + + + - - + + + + - - - - - + + + + + - - - - + + + + - - - - - + + + + + - - + + - - - + + + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + bitpos 13 is an extension interaction with VK_EXT_filter_cubic - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - + + - - - - + + + + - - - + + + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - + - + - - - + + + - + - - - - + + + + - + + + + + - - - + + + + + - - - - - + + - - - + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - - + + + - + - - + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - + + - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - + + - + - - + + - - - - + + + + - - - + + + - - + + - - - - + + + + - - + + - - + + - + - + - + - - + + - + - + - + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - + - - - - - - - - + + + + + + + + values 8, 9, and 10 are defined as an extension interaction - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + + + + + + @@ -14638,7 +15085,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t firstQuery uint32_t queryCount - + VkResult vkCreateBuffer VkDevice device @@ -14818,7 +15265,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI VkDevice device VkRenderPass renderpass - VkExtent2D* pMaxWorkgroupSize + VkExtent2D* pMaxWorkgroupSize void vkDestroyPipeline @@ -14946,7 +15393,7 @@ endif::VK_KHR_internally_synchronized_queues[] const VkRenderingAreaInfo* pRenderingAreaInfo VkExtent2D* pGranularity - + VkResult vkCreateCommandPool VkDevice device @@ -15852,40 +16299,40 @@ endif::VK_KHR_internally_synchronized_queues[] VkPhysicalDevice physicalDevice VkPhysicalDeviceFeatures2* pFeatures - + void vkGetPhysicalDeviceProperties2 VkPhysicalDevice physicalDevice VkPhysicalDeviceProperties2* pProperties - + void vkGetPhysicalDeviceFormatProperties2 VkPhysicalDevice physicalDevice VkFormat format VkFormatProperties2* pFormatProperties - + VkResult vkGetPhysicalDeviceImageFormatProperties2 VkPhysicalDevice physicalDevice const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo VkImageFormatProperties2* pImageFormatProperties - + void vkGetPhysicalDeviceQueueFamilyProperties2 VkPhysicalDevice physicalDevice uint32_t* pQueueFamilyPropertyCount VkQueueFamilyProperties2* pQueueFamilyProperties - + void vkGetPhysicalDeviceMemoryProperties2 VkPhysicalDevice physicalDevice VkPhysicalDeviceMemoryProperties2* pMemoryProperties - + void vkGetPhysicalDeviceSparseImageFormatProperties2 VkPhysicalDevice physicalDevice @@ -15893,7 +16340,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pPropertyCount VkSparseImageFormatProperties2* pProperties - + void vkCmdPushDescriptorSet VkCommandBuffer commandBuffer @@ -15903,21 +16350,21 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t descriptorWriteCount const VkWriteDescriptorSet* pDescriptorWrites - + void vkTrimCommandPool VkDevice device VkCommandPool commandPool VkCommandPoolTrimFlags flags - + void vkGetPhysicalDeviceExternalBufferProperties VkPhysicalDevice physicalDevice const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo VkExternalBufferProperties* pExternalBufferProperties - + VkResult vkGetMemoryWin32HandleKHR VkDevice device @@ -15987,7 +16434,7 @@ endif::VK_KHR_internally_synchronized_queues[] const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo VkExternalSemaphoreProperties* pExternalSemaphoreProperties - + VkResult vkGetSemaphoreWin32HandleKHR VkDevice device @@ -16027,7 +16474,7 @@ endif::VK_KHR_internally_synchronized_queues[] const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo VkExternalFenceProperties* pExternalFenceProperties - + VkResult vkGetFenceWin32HandleKHR VkDevice device @@ -16171,7 +16618,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pPhysicalDeviceGroupCount VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties - + void vkGetDeviceGroupPeerMemoryFeatures VkDevice device @@ -16180,27 +16627,27 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t remoteDeviceIndex VkPeerMemoryFeatureFlags* pPeerMemoryFeatures - + VkResult vkBindBufferMemory2 VkDevice device uint32_t bindInfoCount const VkBindBufferMemoryInfo* pBindInfos - + VkResult vkBindImageMemory2 VkDevice device uint32_t bindInfoCount const VkBindImageMemoryInfo* pBindInfos - + void vkCmdSetDeviceMask VkCommandBuffer commandBuffer uint32_t deviceMask - + VkResult vkGetDeviceGroupPresentCapabilitiesKHR VkDevice device @@ -16228,7 +16675,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t groupCountY uint32_t groupCountZ - + VkResult vkGetPhysicalDevicePresentRectanglesKHR VkPhysicalDevice physicalDevice @@ -16243,14 +16690,14 @@ endif::VK_KHR_internally_synchronized_queues[] const VkAllocationCallbacks* pAllocator VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate - + void vkDestroyDescriptorUpdateTemplate VkDevice device VkDescriptorUpdateTemplate descriptorUpdateTemplate const VkAllocationCallbacks* pAllocator - + void vkUpdateDescriptorSetWithTemplate VkDevice device @@ -16258,7 +16705,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkDescriptorUpdateTemplate descriptorUpdateTemplate const void* pData - + void vkCmdPushDescriptorSetWithTemplate VkCommandBuffer commandBuffer @@ -16267,7 +16714,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t set const void* pData - + void vkSetHdrMetadataEXT VkDevice device @@ -16393,14 +16840,14 @@ endif::VK_KHR_internally_synchronized_queues[] const VkBufferMemoryRequirementsInfo2* pInfo VkMemoryRequirements2* pMemoryRequirements - + void vkGetImageMemoryRequirements2 VkDevice device const VkImageMemoryRequirementsInfo2* pInfo VkMemoryRequirements2* pMemoryRequirements - + void vkGetImageSparseMemoryRequirements2 VkDevice device @@ -16408,21 +16855,21 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pSparseMemoryRequirementCount VkSparseImageMemoryRequirements2* pSparseMemoryRequirements - + void vkGetDeviceBufferMemoryRequirements VkDevice device const VkDeviceBufferMemoryRequirements* pInfo VkMemoryRequirements2* pMemoryRequirements - + void vkGetDeviceImageMemoryRequirements VkDevice device const VkDeviceImageMemoryRequirements* pInfo VkMemoryRequirements2* pMemoryRequirements - + void vkGetDeviceImageSparseMemoryRequirements VkDevice device @@ -16430,7 +16877,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pSparseMemoryRequirementCount VkSparseImageMemoryRequirements2* pSparseMemoryRequirements - + VkResult vkCreateSamplerYcbcrConversion VkDevice device @@ -16438,14 +16885,14 @@ endif::VK_KHR_internally_synchronized_queues[] const VkAllocationCallbacks* pAllocator VkSamplerYcbcrConversion* pYcbcrConversion - + void vkDestroySamplerYcbcrConversion VkDevice device VkSamplerYcbcrConversion ycbcrConversion const VkAllocationCallbacks* pAllocator - + void vkGetDeviceQueue2 VkDevice device @@ -16485,7 +16932,7 @@ endif::VK_KHR_internally_synchronized_queues[] const VkDescriptorSetLayoutCreateInfo* pCreateInfo VkDescriptorSetLayoutSupport* pSupport - + VkResult vkGetSwapchainGrallocUsageANDROID VkDevice device @@ -16539,7 +16986,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pTimeDomainCount VkTimeDomainKHR* pTimeDomains - + VkResult vkGetCalibratedTimestampsKHR VkDevice device @@ -16548,7 +16995,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint64_t* pTimestamps uint64_t* pMaxDeviation - + VkResult vkSetDebugUtilsObjectNameEXT VkDevice device @@ -16629,47 +17076,47 @@ endif::VK_KHR_internally_synchronized_queues[] const VkAllocationCallbacks* pAllocator VkRenderPass* pRenderPass - + void vkCmdBeginRenderPass2 VkCommandBuffer commandBuffer const VkRenderPassBeginInfo* pRenderPassBegin const VkSubpassBeginInfo* pSubpassBeginInfo - + void vkCmdNextSubpass2 VkCommandBuffer commandBuffer const VkSubpassBeginInfo* pSubpassBeginInfo const VkSubpassEndInfo* pSubpassEndInfo - + void vkCmdEndRenderPass2 VkCommandBuffer commandBuffer const VkSubpassEndInfo* pSubpassEndInfo - + VkResult vkGetSemaphoreCounterValue VkDevice device VkSemaphore semaphore uint64_t* pValue - + VkResult vkWaitSemaphores VkDevice device const VkSemaphoreWaitInfo* pWaitInfo uint64_t timeout - + VkResult vkSignalSemaphore VkDevice device const VkSemaphoreSignalInfo* pSignalInfo - + VkResult vkGetAndroidHardwareBufferPropertiesANDROID VkDevice device @@ -16692,8 +17139,8 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t maxDrawCount uint32_t stride - - + + void vkCmdDrawIndexedIndirectCount VkCommandBuffer commandBuffer @@ -16704,8 +17151,8 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t maxDrawCount uint32_t stride - - + + void vkCmdSetCheckpointNV VkCommandBuffer commandBuffer @@ -17011,7 +17458,7 @@ endif::VK_KHR_internally_synchronized_queues[] size_t dataSize void* pData - + VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR VkDevice device @@ -17194,14 +17641,14 @@ endif::VK_KHR_internally_synchronized_queues[] VkDevice device const VkBufferDeviceAddressInfo* pInfo - + VkDeviceAddress vkGetBufferDeviceAddress VkDevice device const VkBufferDeviceAddressInfo* pInfo - - + + VkResult vkCreateHeadlessSurfaceEXT VkInstance instance @@ -17266,7 +17713,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkDevice device const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo - + VkResult vkGetPipelineExecutablePropertiesKHR VkDevice device @@ -17294,8 +17741,8 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t lineStippleFactor uint16_t lineStipplePattern - - + + VkResult vkGetFaultData VkDevice device @@ -17310,7 +17757,7 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pToolCount VkPhysicalDeviceToolProperties* pToolProperties - + VkResult vkCreateAccelerationStructureKHR VkDevice device @@ -17395,33 +17842,33 @@ endif::VK_KHR_internally_synchronized_queues[] VkCommandBuffer commandBuffer VkCullModeFlags cullMode - + void vkCmdSetFrontFace VkCommandBuffer commandBuffer VkFrontFace frontFace - + void vkCmdSetPrimitiveTopology VkCommandBuffer commandBuffer VkPrimitiveTopology primitiveTopology - + void vkCmdSetViewportWithCount VkCommandBuffer commandBuffer uint32_t viewportCount const VkViewport* pViewports - + void vkCmdSetScissorWithCount VkCommandBuffer commandBuffer uint32_t scissorCount const VkRect2D* pScissors - + void vkCmdBindIndexBuffer2 VkCommandBuffer commandBuffer @@ -17430,7 +17877,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkDeviceSize size VkIndexType indexType - + void vkCmdBindVertexBuffers2 VkCommandBuffer commandBuffer @@ -17441,37 +17888,37 @@ endif::VK_KHR_internally_synchronized_queues[] const VkDeviceSize* pSizes const VkDeviceSize* pStrides - + void vkCmdSetDepthTestEnable VkCommandBuffer commandBuffer VkBool32 depthTestEnable - + void vkCmdSetDepthWriteEnable VkCommandBuffer commandBuffer VkBool32 depthWriteEnable - + void vkCmdSetDepthCompareOp VkCommandBuffer commandBuffer VkCompareOp depthCompareOp - + void vkCmdSetDepthBoundsTestEnable VkCommandBuffer commandBuffer VkBool32 depthBoundsTestEnable - + void vkCmdSetStencilTestEnable VkCommandBuffer commandBuffer VkBool32 stencilTestEnable - + void vkCmdSetStencilOp VkCommandBuffer commandBuffer @@ -17481,7 +17928,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkStencilOp depthFailOp VkCompareOp compareOp - + void vkCmdSetPatchControlPointsEXT VkCommandBuffer commandBuffer @@ -17492,13 +17939,13 @@ endif::VK_KHR_internally_synchronized_queues[] VkCommandBuffer commandBuffer VkBool32 rasterizerDiscardEnable - + void vkCmdSetDepthBiasEnable VkCommandBuffer commandBuffer VkBool32 depthBiasEnable - + void vkCmdSetLogicOpEXT VkCommandBuffer commandBuffer @@ -17509,7 +17956,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkCommandBuffer commandBuffer VkBool32 primitiveRestartEnable - + void vkCmdSetTessellationDomainOriginEXT VkCommandBuffer commandBuffer @@ -17684,14 +18131,14 @@ endif::VK_KHR_internally_synchronized_queues[] const VkAllocationCallbacks* pAllocator VkPrivateDataSlot* pPrivateDataSlot - + void vkDestroyPrivateDataSlot VkDevice device VkPrivateDataSlot privateDataSlot const VkAllocationCallbacks* pAllocator - + VkResult vkSetPrivateData VkDevice device @@ -17700,7 +18147,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkPrivateDataSlot privateDataSlot uint64_t data - + void vkGetPrivateData VkDevice device @@ -17709,43 +18156,43 @@ endif::VK_KHR_internally_synchronized_queues[] VkPrivateDataSlot privateDataSlot uint64_t* pData - + void vkCmdCopyBuffer2 VkCommandBuffer commandBuffer const VkCopyBufferInfo2* pCopyBufferInfo - + void vkCmdCopyImage2 VkCommandBuffer commandBuffer const VkCopyImageInfo2* pCopyImageInfo - + void vkCmdBlitImage2 VkCommandBuffer commandBuffer const VkBlitImageInfo2* pBlitImageInfo - + void vkCmdCopyBufferToImage2 VkCommandBuffer commandBuffer const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo - + void vkCmdCopyImageToBuffer2 VkCommandBuffer commandBuffer const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo - + void vkCmdResolveImage2 VkCommandBuffer commandBuffer const VkResolveImageInfo2* pResolveImageInfo - + void vkCmdRefreshObjectsKHR VkCommandBuffer commandBuffer @@ -17803,14 +18250,14 @@ endif::VK_KHR_internally_synchronized_queues[] VkEvent event const VkDependencyInfo* pDependencyInfo - + void vkCmdResetEvent2 VkCommandBuffer commandBuffer VkEvent event VkPipelineStageFlags2 stageMask - + void vkCmdWaitEvents2 VkCommandBuffer commandBuffer @@ -17818,13 +18265,13 @@ endif::VK_KHR_internally_synchronized_queues[] const VkEvent* pEvents const VkDependencyInfo* pDependencyInfos - + void vkCmdPipelineBarrier2 VkCommandBuffer commandBuffer const VkDependencyInfo* pDependencyInfo - + VkResult vkQueueSubmit2 VkQueue queue @@ -17832,7 +18279,7 @@ endif::VK_KHR_internally_synchronized_queues[] const VkSubmitInfo2* pSubmits VkFence fence - + void vkCmdWriteTimestamp2 VkCommandBuffer commandBuffer @@ -17840,7 +18287,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkQueryPool queryPool uint32_t query - + void vkCmdWriteBufferMarker2AMD VkCommandBuffer commandBuffer @@ -17860,26 +18307,26 @@ endif::VK_KHR_internally_synchronized_queues[] VkDevice device const VkCopyMemoryToImageInfo* pCopyMemoryToImageInfo - + VkResult vkCopyImageToMemory VkDevice device const VkCopyImageToMemoryInfo* pCopyImageToMemoryInfo - + VkResult vkCopyImageToImage VkDevice device const VkCopyImageToImageInfo* pCopyImageToImageInfo - + VkResult vkTransitionImageLayout VkDevice device uint32_t transitionCount const VkHostImageLayoutTransitionInfo* pTransitions - + void vkGetCommandPoolMemoryConsumption VkDevice device @@ -18233,7 +18680,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkCommandBuffer commandBuffer const VkRenderingInfo* pRenderingInfo - + void vkCmdEndRendering VkCommandBuffer commandBuffer @@ -18243,8 +18690,8 @@ endif::VK_KHR_internally_synchronized_queues[] VkCommandBuffer commandBuffer const VkRenderingEndInfoKHR* pRenderingEndInfo - - + + void vkGetDescriptorSetLayoutHostMappingInfoVALVE VkDevice device @@ -18260,93 +18707,93 @@ endif::VK_KHR_internally_synchronized_queues[] VkResult vkCreateMicromapEXT VkDevice device - const VkMicromapCreateInfoEXT* pCreateInfo + const VkMicromapCreateInfoEXT* pCreateInfo const VkAllocationCallbacks* pAllocator - VkMicromapEXT* pMicromap + VkMicromapEXT* pMicromap void vkCmdBuildMicromapsEXT - VkCommandBuffer commandBuffer - uint32_t infoCount + VkCommandBuffer commandBuffer + uint32_t infoCount const VkMicromapBuildInfoEXT* pInfos VkResult vkBuildMicromapsEXT - VkDevice device - VkDeferredOperationKHR deferredOperation - uint32_t infoCount + VkDevice device + VkDeferredOperationKHR deferredOperation + uint32_t infoCount const VkMicromapBuildInfoEXT* pInfos void vkDestroyMicromapEXT - VkDevice device + VkDevice device VkMicromapEXT micromap - const VkAllocationCallbacks* pAllocator + const VkAllocationCallbacks* pAllocator void vkCmdCopyMicromapEXT VkCommandBuffer commandBuffer - const VkCopyMicromapInfoEXT* pInfo + const VkCopyMicromapInfoEXT* pInfo VkResult vkCopyMicromapEXT - VkDevice device + VkDevice device VkDeferredOperationKHR deferredOperation - const VkCopyMicromapInfoEXT* pInfo + const VkCopyMicromapInfoEXT* pInfo void vkCmdCopyMicromapToMemoryEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkCopyMicromapToMemoryInfoEXT* pInfo VkResult vkCopyMicromapToMemoryEXT - VkDevice device + VkDevice device VkDeferredOperationKHR deferredOperation - const VkCopyMicromapToMemoryInfoEXT* pInfo + const VkCopyMicromapToMemoryInfoEXT* pInfo void vkCmdCopyMemoryToMicromapEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkCopyMemoryToMicromapInfoEXT* pInfo VkResult vkCopyMemoryToMicromapEXT - VkDevice device + VkDevice device VkDeferredOperationKHR deferredOperation - const VkCopyMemoryToMicromapInfoEXT* pInfo + const VkCopyMemoryToMicromapInfoEXT* pInfo void vkCmdWriteMicromapsPropertiesEXT VkCommandBuffer commandBuffer - uint32_t micromapCount + uint32_t micromapCount const VkMicromapEXT* pMicromaps - VkQueryType queryType - VkQueryPool queryPool - uint32_t firstQuery + VkQueryType queryType + VkQueryPool queryPool + uint32_t firstQuery VkResult vkWriteMicromapsPropertiesEXT - VkDevice device - uint32_t micromapCount + VkDevice device + uint32_t micromapCount const VkMicromapEXT* pMicromaps - VkQueryType queryType - size_t dataSize - void* pData - size_t stride + VkQueryType queryType + size_t dataSize + void* pData + size_t stride void vkGetDeviceMicromapCompatibilityEXT - VkDevice device - const VkMicromapVersionInfoEXT* pVersionInfo + VkDevice device + const VkMicromapVersionInfoEXT* pVersionInfo VkAccelerationStructureCompatibilityKHR* pCompatibility void vkGetMicromapBuildSizesEXT - VkDevice device - VkAccelerationStructureBuildTypeKHR buildType - const VkMicromapBuildInfoEXT* pBuildInfo - VkMicromapBuildSizesInfoEXT* pSizeInfo + VkDevice device + VkAccelerationStructureBuildTypeKHR buildType + const VkMicromapBuildInfoEXT* pBuildInfo + VkMicromapBuildSizesInfoEXT* pSizeInfo void vkGetShaderModuleIdentifierEXT @@ -18367,8 +18814,8 @@ endif::VK_KHR_internally_synchronized_queues[] const VkImageSubresource2* pSubresource VkSubresourceLayout2* pLayout - - + + VkResult vkGetPipelinePropertiesEXT VkDevice device @@ -18460,27 +18907,27 @@ endif::VK_KHR_internally_synchronized_queues[] VkDevice device const VkReleaseSwapchainImagesInfoKHR* pReleaseInfo - + void vkGetDeviceImageSubresourceLayout VkDevice device const VkDeviceImageSubresourceInfo* pInfo VkSubresourceLayout2* pLayout - + VkResult vkMapMemory2 VkDevice device const VkMemoryMapInfo* pMemoryMapInfo void** ppData - + VkResult vkUnmapMemory2 VkDevice device const VkMemoryUnmapInfo* pMemoryUnmapInfo - + VkResult vkCreateShadersEXT VkDevice device @@ -18547,6 +18994,13 @@ endif::VK_KHR_internally_synchronized_queues[] uint32_t* pPropertyCount VkCooperativeMatrixPropertiesKHR* pProperties + + VkResult vkGetPhysicalDeviceCooperativeMatrixProperties2EXT + VkPhysicalDevice physicalDevice + const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo + uint32_t* pPropertyCount + VkCooperativeMatrixProperties2EXT* pProperties + VkResult vkGetExecutionGraphPipelineScratchSizeAMDX VkDevice device @@ -18597,30 +19051,99 @@ endif::VK_KHR_internally_synchronized_queues[] VkDeviceSize scratchSize VkDeviceAddress countInfo + + VkResult vkCreateGpaSessionAMD + VkDevice device + const VkGpaSessionCreateInfoAMD* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkGpaSessionAMD* pGpaSession + + + void vkDestroyGpaSessionAMD + VkDevice device + VkGpaSessionAMD gpaSession + const VkAllocationCallbacks* pAllocator + + + VkResult vkSetGpaDeviceClockModeAMD + VkDevice device + VkGpaDeviceClockModeInfoAMD* pInfo + + + VkResult vkGetGpaDeviceClockInfoAMD + VkDevice device + VkGpaDeviceGetClockInfoAMD* pInfo + + + VkResult vkCmdBeginGpaSessionAMD + VkCommandBuffer commandBuffer + VkGpaSessionAMD gpaSession + + + VkResult vkCmdEndGpaSessionAMD + VkCommandBuffer commandBuffer + VkGpaSessionAMD gpaSession + + + VkResult vkCmdBeginGpaSampleAMD + VkCommandBuffer commandBuffer + VkGpaSessionAMD gpaSession + const VkGpaSampleBeginInfoAMD* pGpaSampleBeginInfo + uint32_t* pSampleID + + + void vkCmdEndGpaSampleAMD + VkCommandBuffer commandBuffer + VkGpaSessionAMD gpaSession + uint32_t sampleID + + + VkResult vkGetGpaSessionStatusAMD + VkDevice device + VkGpaSessionAMD gpaSession + + + VkResult vkGetGpaSessionResultsAMD + VkDevice device + VkGpaSessionAMD gpaSession + uint32_t sampleID + size_t* pSizeInBytes + void* pData + + + VkResult vkResetGpaSessionAMD + VkDevice device + VkGpaSessionAMD gpaSession + + + void vkCmdCopyGpaSessionResultsAMD + VkCommandBuffer commandBuffer + VkGpaSessionAMD gpaSession + void vkCmdBindDescriptorSets2 VkCommandBuffer commandBuffer const VkBindDescriptorSetsInfo* pBindDescriptorSetsInfo - + void vkCmdPushConstants2 VkCommandBuffer commandBuffer const VkPushConstantsInfo* pPushConstantsInfo - + void vkCmdPushDescriptorSet2 VkCommandBuffer commandBuffer const VkPushDescriptorSetInfo* pPushDescriptorSetInfo - + void vkCmdPushDescriptorSetWithTemplate2 VkCommandBuffer commandBuffer const VkPushDescriptorSetWithTemplateInfo* pPushDescriptorSetWithTemplateInfo - + void vkCmdSetDescriptorBufferOffsets2EXT VkCommandBuffer commandBuffer @@ -18660,18 +19183,56 @@ endif::VK_KHR_internally_synchronized_queues[] VkQueue queue const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo + + void vkSetLatencySleepModeLegacyNV + VkDevice device + VkBool32 lowLatencyMode + VkBool32 lowLatencyBoost + uint32_t minimumIntervalUs + + + void vkLatencySleepLegacyNV + VkDevice device + VkSemaphore signalSemaphore + uint64_t value + + + void vkSetLatencyMarkerLegacyNV + VkDevice device + uint64_t frameID + uint32_t marker + + + void vkGetLatencyTimingsLegacyNV + VkDevice device + void* pTimings + + + void vkQueueNotifyOutOfBandLegacyNV + VkQueue queue + uint32_t queueType + + + void vkGetSleepStatusLegacyNV + VkDevice device + VkBool32* pLowLatencyMode + + + void vkShutdownLatencyDeviceLegacyNV + VkDevice device + void vkCmdSetRenderingAttachmentLocations VkCommandBuffer commandBuffer const VkRenderingAttachmentLocationInfo* pLocationInfo - + void vkCmdSetRenderingInputAttachmentIndices VkCommandBuffer commandBuffer const VkRenderingInputAttachmentIndexInfo* pInputAttachmentIndexInfo - + void vkCmdSetDepthClampRangeEXT VkCommandBuffer commandBuffer @@ -18781,7 +19342,7 @@ endif::VK_KHR_internally_synchronized_queues[] VkDevice device VkShaderInstrumentationARM instrumentation uint32_t* pMetricBlockCount - void* pMetricValues + void* pMetricValues VkShaderInstrumentationValuesFlagsARM flags @@ -19203,1636 +19764,1637 @@ endif::VK_KHR_internally_synchronized_queues[] - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - + + + + - - - - - - - + + + + + + + - - - - + + + + - + offset 1 reserved for the old VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHX enum offset 2 reserved for the old VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX enum - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + Additional dependent types / tokens extending enumerants, not explicitly mentioned - + - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - + + - - - + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + Additional dependent types / tokens extending enumerants, not explicitly mentioned - - - - + + + + - + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - + - + - + - + - + - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - - + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - + + - - + + - + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - - + + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + - + - + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - - - - - + + + + + - - + + - - + + - - - - - - + + + + + + - - - - + + + + - - - + + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - + + - + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Also promoted from KHR in VK_KHR_maintenance5: type name="VkSubresourceLayout2" type name="VkImageSubresource2" @@ -20840,26 +21402,26 @@ endif::VK_KHR_internally_synchronized_queues[] - + - - - - + + + + - - + + - - + + - - - - + + + + Included in base enum: bitpos="4" name="VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT" bitpos="8" name="VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT" @@ -20867,8 +21429,8 @@ endif::VK_KHR_internally_synchronized_queues[] - - + + Included in base enum: @@ -20877,1708 +21439,1708 @@ endif::VK_KHR_internally_synchronized_queues[] - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + - + - + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - - - - + + + + Included in base enum: bitpos="3" name="VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT" - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - + + + + - + - - - - - + + + + + - - + + - + leave this present for compatibility: enum name="VK_OBJECT_TYPE_SHADER_MODULE" - - - + + + Remove Vulkan and deprecated macros - - - - - + + + + + leave this present for compatibility: type name="VkShaderModule" - - - - - - - - - - - - - - + + + + + + + + + + + + + + Descriptor update templates are unsupported - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + Sparse resources are unsupported - + needed for VkPhysicalDeviceProperties name="VkPhysicalDeviceSparseProperties" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + This duplicates definitions in VK_KHR_device_group below - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It is not exposed to applications and uses types that are not part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + This duplicates definitions in other extensions, below - - + + - - - + + + - - + + - - - - + + + + - - - - + + + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + VkPipelineStageFlagBits bitpos="26" is reserved by this extension, but not used - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + - - - + + + - - + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - + - - + + - - - - - - - + + + + + + + - - - + + + - - - - + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - + + - - + + enum offset=0 was mistakenly used for the 1.1 core enum VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES @@ -22588,2983 +23150,3042 @@ endif::VK_KHR_internally_synchronized_queues[] - - + + - - - - + + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - + + + - + - - - - + + + + - - + + - - - + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - - + + - - + + - - - - - - + + + + + + - + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - + + - - - - - - + + + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - - - - - - - + + + + + + + + - - - - + + + + - - - - - + + + + + - + - - + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - + - - - - - + + + + + - - - - - + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - + + + + - - + + - - - + + + - - - - - + + + + + - - + + - - - - + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - - - - - - + + + + + + - - + + - - - - - - - + + + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - + + - - - - + + + + - + - - - - - - - + + + + + + + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - - + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - + - + - - - - - - + + + + + + - - + + - - + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -25573,1068 +26194,1096 @@ endif::VK_KHR_internally_synchronized_queues[] This extension requires buffer_device_address functionality. VK_EXT_buffer_device_address is also acceptable, but since it is deprecated the KHR version is preferred. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + - - + + VkPipelineStageFlagBits bitpos="27" is reserved by this extension, but not used - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - + - - + + + + + - + - + - - + + + + + + + - + - - + + + + + + + - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + - + - - - - + + + + - - + + - + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - - - - - - + + + + + + + + - + - + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + - - + + - + - - + + @@ -26644,136 +27293,136 @@ endif::VK_KHR_internally_synchronized_queues[] VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT were not promoted to Vulkan 1.3. - - - - - - - - - + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -26783,7272 +27432,7843 @@ endif::VK_KHR_internally_synchronized_queues[] VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT were not promoted to Vulkan 1.3. - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - + + + + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - - - - - - + + + + + + - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - + - - + + - + - - + + - - + + - - - - - - - + + + + + + + VkPipelineStageFlagBits bitpos="28" is reserved by this extension, but not used - + - + - - + + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - - - + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - + - - - - - - + + + + + + - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + - + - - + + - - + + - - + + - - - - - + + + + + - - - - + + + + - - + + - + - - - - - + + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - + + - - - + + + - - + + - - - + + + + + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - - - + + + + - - - - - - + + + + + + - - + + - - + + - - + + - + - + - + - + - + - + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - + - - + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - NV internal use only - - - - - - - - - - - - - - - - - - - - - - - - - - - NV internal use only - - - - - - - + + + + + + + + + NV internal use only + + + + + + + + + + + + + + + + + + + + + + + + + + + NV internal use only + + + + + + + - - - - - - + + + + + + - - - + + + - - - - - - - + + + + + + + - - + + - - - - - - - - - + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - + + - - + + - - + + - + - - - - - - - + + + + + + + - + - + - + - - - - + - - + + - - + + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - - - - - - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - + - + - - + + - - - + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + - - + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - - + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - + - - + + + + + + + + + + + + - - + + - - - - - + + + + + - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - + + - - - - + + + + - - - - - + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - - + + + + + - + - - + + - - + + - - + + - - - - - - - + + + + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - + + + + + + + - - + + - - + + - - - - - - - - - - + + + + + + + + + + - - - + + + - - + + - - - - - - + + + + + + - - + + - + - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + - + - - + + + - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - - + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + + - - - + + + - + - - - + + + + + + + + - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + - - + + - - - - - + + + + + - - - - - - + + + + + + - + - - + + - - - - - + + + + + + - - + + + - - - - - + + + + + - - + + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + + - - + + - + - - + + + + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - + + - + + + + - - - - - - - + + + + + + + - + - - + + + + + + + + + + + + + - - + + - - + + - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - + - - + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + - + - - - - - - + + + + + + - - + + - - + + - - - - - + + + + + - - + + - - + + - - + + - - + + - + - - + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + - - + + - - + + - + - + - - + + - - + + - + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - + - + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - + - + - + - + - - + + - - + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + - + - - + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + - + - - + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - + + - + - - + + - - - - + + + + - + - - + + - - - - + + + + - + - - + + - - - - + + + + - + - - + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + + + + - + + + + - + - + - + - + + + + + + + + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - - + + - - - + + + - - + + - - + + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - - - + + + - + - - - + + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - - + + - - + + - - - + + + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - + - + + + + + + + - + - - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - + - - - - + - - - - + - + - + + + + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34057,188 +35277,188 @@ endif::VK_KHR_internally_synchronized_queues[] - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + Fragment shader stage is added by the VK_EXT_shader_tile_image extension - + - + Fragment shader stage is added by the VK_EXT_shader_tile_image extension - + - + - + - + - + - + TODO/Suggestion. Introduce 'synclist' (could be a different name) element @@ -34255,107 +35475,106 @@ endif::VK_KHR_internally_synchronized_queues[] - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT - VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT @@ -34385,7 +35604,6 @@ endif::VK_KHR_internally_synchronized_queues[] VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT - VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT @@ -34436,124 +35654,129 @@ endif::VK_KHR_internally_synchronized_queues[] - - - + + + - - - - - - + + + + + + + - - + + - - + + - - - - + + + + + + - - - + + + - + - - - - - + + + + + - + - - - - + + + + - + - - - + + + - - + + - + - - - - + + + + + + - - + + - - - - - + + + + + - - + + - + - + - - - + + + - + - + - + diff --git a/third_party/vulkan_headers/BUILD.bazel b/third_party/vulkan_headers/BUILD.bazel new file mode 100644 index 000000000..7350c0cec --- /dev/null +++ b/third_party/vulkan_headers/BUILD.bazel @@ -0,0 +1,11 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "BUILD.vulkan_headers.bazel", + "vulkan_headers.MODULE.bazel", +]) + +alias( + name = "vulkan_headers", + actual = "@vulkan_headers//:vulkan_headers", +) diff --git a/third_party/vulkan_headers/BUILD.vulkan_headers.bazel b/third_party/vulkan_headers/BUILD.vulkan_headers.bazel new file mode 100644 index 000000000..65c567737 --- /dev/null +++ b/third_party/vulkan_headers/BUILD.vulkan_headers.bazel @@ -0,0 +1,9 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + +package(default_visibility = ["//visibility:public"]) + +cc_library( + name = "vulkan_headers", + hdrs = glob(["include/**"]), + includes = ["include"], +) diff --git a/third_party/vulkan_headers/vulkan_headers.MODULE.bazel b/third_party/vulkan_headers/vulkan_headers.MODULE.bazel new file mode 100644 index 000000000..23aecbdc1 --- /dev/null +++ b/third_party/vulkan_headers/vulkan_headers.MODULE.bazel @@ -0,0 +1,8 @@ +git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") + +git_repository( + name = "vulkan_headers", + build_file = "//third_party/vulkan_headers:BUILD.vulkan_headers.bazel", + commit = "e3b1eec08173d6b825cd3ac88c885a63b621504a", # vulkan-sdk-1.4.357.0 + remote = "https://github.com/KhronosGroup/Vulkan-Headers.git", +) diff --git a/third_party/vulkan_utility_libraries/BUILD.bazel b/third_party/vulkan_utility_libraries/BUILD.bazel new file mode 100644 index 000000000..42de5a282 --- /dev/null +++ b/third_party/vulkan_utility_libraries/BUILD.bazel @@ -0,0 +1,11 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "BUILD.vulkan_utility_libraries.bazel", + "vulkan_utility_libraries.MODULE.bazel", +]) + +alias( + name = "vulkan_utility_libraries", + actual = "@vulkan_utility_libraries//:vulkan_utility_libraries", +) diff --git a/third_party/vulkan_utility_libraries/BUILD.vulkan_utility_libraries.bazel b/third_party/vulkan_utility_libraries/BUILD.vulkan_utility_libraries.bazel new file mode 100644 index 000000000..21fa95884 --- /dev/null +++ b/third_party/vulkan_utility_libraries/BUILD.vulkan_utility_libraries.bazel @@ -0,0 +1,118 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + +package(default_visibility = ["//visibility:public"]) + +DEFINES = [ + "VK_ENABLE_BETA_EXTENSIONS", +] + select({ + "@platforms//os:linux": [ + "VK_USE_PLATFORM_XLIB_KHR", + "VK_USE_PLATFORM_XCB_KHR", + "VK_USE_PLATFORM_WAYLAND_KHR", + ], + "@platforms//os:macos": [ + "VK_USE_PLATFORM_METAL_EXT", + "VK_USE_PLATFORM_MACOS_MVK", + ], + "@platforms//os:windows": [ + "WIN32", + "_WIN32", + "VK_USE_PLATFORM_WIN32_KHR", + "NOMINMAX", + "WIN32_LEAN_AND_MEAN", + "_CRT_SECURE_NO_WARNINGS", + ], + "//conditions:default": [], +}) + +cc_library( + name = "vulkan_utility_headers", + hdrs = glob([ + "include/**/*.h", + "include/**/*.hpp", + ]), + defines = DEFINES, + includes = ["include"], + deps = [ + "@vulkan_headers", + ], +) + +cc_library( + name = "vulkan_layer_settings", + srcs = [ + "src/layer/layer_settings_manager.cpp", + "src/layer/layer_settings_manager.hpp", + "src/layer/layer_settings_util.cpp", + "src/layer/layer_settings_util.hpp", + "src/layer/vk_layer_settings.cpp", + "src/layer/vk_layer_settings_helper.cpp", + ], + hdrs = glob([ + "include/vulkan/layer/**/*.h", + "include/vulkan/layer/**/*.hpp", + ]), + copts = select({ + "@platforms//os:windows": ["/std:c++17"], + "//conditions:default": [ + "-std=c++17", + "-Wno-conversion", + "-Wno-implicit-fallthrough", + "-Wno-unused-function", + ], + }), + defines = DEFINES, + includes = [ + "include", + "src/layer", + ], + linkopts = select({ + "@platforms//os:windows": [ + "-DEFAULTLIB:advapi32.lib", + ], + "//conditions:default": [], + }), + deps = [ + ":vulkan_utility_headers", + "@vulkan_headers", + ], +) + +cc_library( + name = "vulkan_safe_struct", + srcs = [ + "src/vulkan/vk_safe_struct_core.cpp", + "src/vulkan/vk_safe_struct_ext.cpp", + "src/vulkan/vk_safe_struct_khr.cpp", + "src/vulkan/vk_safe_struct_manual.cpp", + "src/vulkan/vk_safe_struct_utils.cpp", + "src/vulkan/vk_safe_struct_vendor.cpp", + ], + hdrs = glob([ + "include/vulkan/utility/**/*.hpp", + ]), + copts = select({ + "@platforms//os:windows": ["/std:c++17"], + "//conditions:default": [ + "-std=c++17", + "-Wno-conversion", + "-Wno-implicit-fallthrough", + "-Wno-unused-function", + ], + }), + defines = DEFINES, + includes = ["include"], + deps = [ + ":vulkan_utility_headers", + "@vulkan_headers", + ], +) + +cc_library( + name = "vulkan_utility_libraries", + deps = [ + ":vulkan_layer_settings", + ":vulkan_safe_struct", + ":vulkan_utility_headers", + ], +) diff --git a/third_party/vulkan_utility_libraries/vulkan_utility_libraries.MODULE.bazel b/third_party/vulkan_utility_libraries/vulkan_utility_libraries.MODULE.bazel new file mode 100644 index 000000000..89c517eb7 --- /dev/null +++ b/third_party/vulkan_utility_libraries/vulkan_utility_libraries.MODULE.bazel @@ -0,0 +1,8 @@ +git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") + +git_repository( + name = "vulkan_utility_libraries", + build_file = "//third_party/vulkan_utility_libraries:BUILD.vulkan_utility_libraries.bazel", + commit = "e9585c3e3d41ab608ee3b098ce4721d357308fc8", # vulkan-sdk-1.4.357.0 + remote = "https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git", +) diff --git a/third_party/vvl/BUILD.bazel b/third_party/vvl/BUILD.bazel new file mode 100644 index 000000000..e50d6c5a3 --- /dev/null +++ b/third_party/vvl/BUILD.bazel @@ -0,0 +1,16 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "BUILD.vvl.bazel", + "vvl.MODULE.bazel", +]) + +alias( + name = "VkLayer_khronos_validation", + actual = "@vulkan_validation_layers//:VkLayer_khronos_validation", +) + +alias( + name = "VkLayer_khronos_validation_json", + actual = "@vulkan_validation_layers//:VkLayer_khronos_validation_json", +) diff --git a/third_party/vvl/BUILD.vvl.bazel b/third_party/vvl/BUILD.vvl.bazel new file mode 100644 index 000000000..719759dca --- /dev/null +++ b/third_party/vvl/BUILD.vvl.bazel @@ -0,0 +1,122 @@ +load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") + +package(default_visibility = ["//visibility:public"]) + +DEFINES = [ + "USE_CUSTOM_HASH_MAP", + "VK_ENABLE_BETA_EXTENSIONS", +] + select({ + "@platforms//os:linux": [ + "VK_USE_PLATFORM_XLIB_KHR", + "VK_USE_PLATFORM_XCB_KHR", + "VK_USE_PLATFORM_WAYLAND_KHR", + ], + "@platforms//os:macos": [ + "VK_USE_PLATFORM_METAL_EXT", + "VK_USE_PLATFORM_MACOS_MVK", + ], + "@platforms//os:windows": [ + "WIN32", + "_WIN32", + "VK_USE_PLATFORM_WIN32_KHR", + "NOMINMAX", + "WIN32_LEAN_AND_MEAN", + "_CRT_SECURE_NO_WARNINGS", + ], + "//conditions:default": [], +}) + +COPTS = select({ + "@platforms//os:windows": [ + "/std:c++17", + "/wd4100", + "/wd4324", + "/wd4458", + "/wd4457", + "/wd4702", + "/wd4389", + ], + "//conditions:default": [ + "-std=c++17", + "-Wno-unused-parameter", + "-Wno-unused-variable", + "-Wno-unused-function", + "-Wno-conversion", + "-Wno-implicit-fallthrough", + "-Wno-sign-compare", + "-Wno-missing-field-initializers", + # Workaround for an ASAN bug in VVL's bundled parallel_hashmap (phmap.h), + # which constructs elements into poisoned slots before unpoisoning when + # ADDRESS_SANITIZER is defined. Undefine it to disable phmap's manual + # slot poisoning while keeping compiler ASAN (-fsanitize=address) enabled. + "-UADDRESS_SANITIZER", + ], +}) + +# buildifier: disable=external-path +cc_library( + name = "vvl_srcs", + srcs = glob([ + "layers/**/*.cpp", + "layers/**/*.h", + ]), + copts = COPTS, + defines = DEFINES, + includes = [ + "layers", + "layers/external", + "layers/external/parallel_hashmap", + "layers/gpuav", + "layers/gpuav/spirv", + "layers/vulkan", + ], + linkstatic = True, + deps = [ + "@spirv_headers//:spirv_c_headers", + "@spirv_headers//:spirv_cpp_headers", + "@spirv_tools//:spirv_tools_opt", + "@vulkan_headers", + "@vulkan_utility_libraries", + ], + alwayslink = True, +) + +cc_binary( + name = "VkLayer_khronos_validation", + additional_linker_inputs = select({ + "@platforms//os:linux": [":layers/VkLayer_khronos_validation.map"], + "@platforms//os:macos": [":layers/VkLayer_khronos_validation.exp"], + "//conditions:default": [], + }), + copts = COPTS, + defines = DEFINES, + linkopts = select({ + "@platforms//os:linux": [ + "-Wl,--version-script=$(execpath :layers/VkLayer_khronos_validation.map)", + ], + "@platforms//os:macos": [ + "-Wl,-exported_symbols_list,$(execpath :layers/VkLayer_khronos_validation.exp)", + ], + "@platforms//os:windows": [ + "-DEFAULTLIB:advapi32.lib", + ], + "//conditions:default": [], + }), + linkshared = True, + win_def_file = select({ + "@platforms//os:windows": ":layers/VkLayer_khronos_validation.def", + "//conditions:default": None, + }), + deps = [":vvl_srcs"], +) + +genrule( + name = "VkLayer_khronos_validation_json", + srcs = ["layers/VkLayer_khronos_validation.json.in"], + outs = ["VkLayer_khronos_validation.json"], + cmd = select({ + "@platforms//os:macos": "sed -e 's/@JSON_LAYER_NAME@/VK_LAYER_KHRONOS_validation/g' -e 's|@JSON_LIBRARY_PATH@|./libVkLayer_khronos_validation.dylib|g' $< > $@", + "@platforms//os:windows": "sed -e 's/@JSON_LAYER_NAME@/VK_LAYER_KHRONOS_validation/g' -e 's|@JSON_LIBRARY_PATH@|.\\\\VkLayer_khronos_validation.dll|g' $< > $@", + "//conditions:default": "sed -e 's/@JSON_LAYER_NAME@/VK_LAYER_KHRONOS_validation/g' -e 's|@JSON_LIBRARY_PATH@|./libVkLayer_khronos_validation.so|g' $< > $@", + }), +) diff --git a/third_party/vvl/vvl.MODULE.bazel b/third_party/vvl/vvl.MODULE.bazel new file mode 100644 index 000000000..f5682808a --- /dev/null +++ b/third_party/vvl/vvl.MODULE.bazel @@ -0,0 +1,8 @@ +git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") + +git_repository( + name = "vulkan_validation_layers", + build_file = "//third_party/vvl:BUILD.vvl.bazel", + commit = "f4874eee15c78d7bdb2b7e60659d539f14741500", # vulkan-sdk-1.4.357.0 + remote = "https://github.com/KhronosGroup/Vulkan-ValidationLayers.git", +)