17439 lines
886 KiB
C++
17439 lines
886 KiB
C++
// Copyright 2015-2022 The Khronos Group Inc.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
//
|
|
|
|
// This header is generated from the Khronos Vulkan XML API Registry.
|
|
|
|
#ifndef VULKAN_RAII_HPP
|
|
#define VULKAN_RAII_HPP
|
|
|
|
#include <vulkan/vulkan.hpp>
|
|
|
|
#if !defined(VULKAN_HPP_RAII_NAMESPACE)
|
|
# define VULKAN_HPP_RAII_NAMESPACE raii
|
|
#endif
|
|
|
|
namespace VULKAN_HPP_NAMESPACE {
|
|
namespace VULKAN_HPP_RAII_NAMESPACE {
|
|
#if !defined(VULKAN_HPP_DISABLE_ENHANCED_MODE) && !defined(VULKAN_HPP_NO_EXCEPTIONS)
|
|
|
|
template<class T, class U = T>
|
|
VULKAN_HPP_CONSTEXPR_14 VULKAN_HPP_INLINE T exchange(T &obj, U &&newValue)
|
|
{
|
|
# if(14 <= VULKAN_HPP_CPP_VERSION)
|
|
return std::exchange<T>(obj, std::forward<U>(newValue));
|
|
# else
|
|
T oldValue = std::move(obj);
|
|
obj = std::forward<U>(newValue);
|
|
return oldValue;
|
|
# endif
|
|
}
|
|
|
|
class ContextDispatcher : public DispatchLoaderBase
|
|
{
|
|
public:
|
|
ContextDispatcher(PFN_vkGetInstanceProcAddr getProcAddr)
|
|
: vkGetInstanceProcAddr(getProcAddr)
|
|
//=== VK_VERSION_1_0 ===
|
|
, vkCreateInstance(PFN_vkCreateInstance(getProcAddr(NULL, "vkCreateInstance")))
|
|
, vkEnumerateInstanceExtensionProperties(PFN_vkEnumerateInstanceExtensionProperties(getProcAddr(NULL, "vkEnumerateInstanceExtensionProperties")))
|
|
, vkEnumerateInstanceLayerProperties(PFN_vkEnumerateInstanceLayerProperties(getProcAddr(NULL, "vkEnumerateInstanceLayerProperties")))
|
|
//=== VK_VERSION_1_1 ===
|
|
, vkEnumerateInstanceVersion(PFN_vkEnumerateInstanceVersion(getProcAddr(NULL, "vkEnumerateInstanceVersion")))
|
|
{
|
|
}
|
|
|
|
public:
|
|
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0;
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
PFN_vkCreateInstance vkCreateInstance = 0;
|
|
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties = 0;
|
|
PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties = 0;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion = 0;
|
|
};
|
|
|
|
class InstanceDispatcher : public DispatchLoaderBase
|
|
{
|
|
public:
|
|
InstanceDispatcher(PFN_vkGetInstanceProcAddr getProcAddr, VkInstance instance)
|
|
: vkGetInstanceProcAddr(getProcAddr)
|
|
{
|
|
//=== VK_VERSION_1_0 ===
|
|
vkDestroyInstance = PFN_vkDestroyInstance(vkGetInstanceProcAddr(instance, "vkDestroyInstance"));
|
|
vkEnumeratePhysicalDevices = PFN_vkEnumeratePhysicalDevices(vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices"));
|
|
vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures"));
|
|
vkGetPhysicalDeviceFormatProperties =
|
|
PFN_vkGetPhysicalDeviceFormatProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties"));
|
|
vkGetPhysicalDeviceImageFormatProperties =
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties"));
|
|
vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties"));
|
|
vkGetPhysicalDeviceQueueFamilyProperties =
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties"));
|
|
vkGetPhysicalDeviceMemoryProperties =
|
|
PFN_vkGetPhysicalDeviceMemoryProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties"));
|
|
vkCreateDevice = PFN_vkCreateDevice(vkGetInstanceProcAddr(instance, "vkCreateDevice"));
|
|
vkEnumerateDeviceExtensionProperties =
|
|
PFN_vkEnumerateDeviceExtensionProperties(vkGetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties"));
|
|
vkEnumerateDeviceLayerProperties = PFN_vkEnumerateDeviceLayerProperties(vkGetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties"));
|
|
vkGetPhysicalDeviceSparseImageFormatProperties =
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties"));
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
vkEnumeratePhysicalDeviceGroups = PFN_vkEnumeratePhysicalDeviceGroups(vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups"));
|
|
vkGetPhysicalDeviceFeatures2 = PFN_vkGetPhysicalDeviceFeatures2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2"));
|
|
vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2"));
|
|
vkGetPhysicalDeviceFormatProperties2 =
|
|
PFN_vkGetPhysicalDeviceFormatProperties2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2"));
|
|
vkGetPhysicalDeviceImageFormatProperties2 =
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2"));
|
|
vkGetPhysicalDeviceQueueFamilyProperties2 =
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2"));
|
|
vkGetPhysicalDeviceMemoryProperties2 =
|
|
PFN_vkGetPhysicalDeviceMemoryProperties2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2"));
|
|
vkGetPhysicalDeviceSparseImageFormatProperties2 =
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2"));
|
|
vkGetPhysicalDeviceExternalBufferProperties =
|
|
PFN_vkGetPhysicalDeviceExternalBufferProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferProperties"));
|
|
vkGetPhysicalDeviceExternalFenceProperties =
|
|
PFN_vkGetPhysicalDeviceExternalFenceProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFenceProperties"));
|
|
vkGetPhysicalDeviceExternalSemaphoreProperties =
|
|
PFN_vkGetPhysicalDeviceExternalSemaphoreProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties"));
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
vkGetPhysicalDeviceToolProperties = PFN_vkGetPhysicalDeviceToolProperties(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolProperties"));
|
|
|
|
//=== VK_EXT_acquire_drm_display ===
|
|
vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT(vkGetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT"));
|
|
vkGetDrmDisplayEXT = PFN_vkGetDrmDisplayEXT(vkGetInstanceProcAddr(instance, "vkGetDrmDisplayEXT"));
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
|
|
//=== VK_EXT_acquire_xlib_display ===
|
|
vkAcquireXlibDisplayEXT = PFN_vkAcquireXlibDisplayEXT(vkGetInstanceProcAddr(instance, "vkAcquireXlibDisplayEXT"));
|
|
vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT(vkGetInstanceProcAddr(instance, "vkGetRandROutputDisplayEXT"));
|
|
# endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
|
|
PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"));
|
|
|
|
//=== VK_EXT_debug_report ===
|
|
vkCreateDebugReportCallbackEXT = PFN_vkCreateDebugReportCallbackEXT(vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT"));
|
|
vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT(vkGetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT"));
|
|
vkDebugReportMessageEXT = PFN_vkDebugReportMessageEXT(vkGetInstanceProcAddr(instance, "vkDebugReportMessageEXT"));
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
vkCreateDebugUtilsMessengerEXT = PFN_vkCreateDebugUtilsMessengerEXT(vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT"));
|
|
vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT(vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT"));
|
|
vkSubmitDebugUtilsMessageEXT = PFN_vkSubmitDebugUtilsMessageEXT(vkGetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT"));
|
|
|
|
//=== VK_EXT_direct_mode_display ===
|
|
vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT(vkGetInstanceProcAddr(instance, "vkReleaseDisplayEXT"));
|
|
|
|
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
|
|
//=== VK_EXT_directfb_surface ===
|
|
vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT(vkGetInstanceProcAddr(instance, "vkCreateDirectFBSurfaceEXT"));
|
|
vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
|
|
PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT"));
|
|
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
|
|
|
//=== VK_EXT_display_surface_counter ===
|
|
vkGetPhysicalDeviceSurfaceCapabilities2EXT =
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
vkGetPhysicalDeviceSurfacePresentModes2EXT =
|
|
PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_headless_surface ===
|
|
vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT(vkGetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT"));
|
|
|
|
# if defined(VK_USE_PLATFORM_METAL_EXT)
|
|
//=== VK_EXT_metal_surface ===
|
|
vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT(vkGetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT"));
|
|
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
vkGetPhysicalDeviceMultisamplePropertiesEXT =
|
|
PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT"));
|
|
|
|
//=== VK_EXT_tooling_info ===
|
|
vkGetPhysicalDeviceToolPropertiesEXT =
|
|
PFN_vkGetPhysicalDeviceToolPropertiesEXT(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT"));
|
|
if(!vkGetPhysicalDeviceToolProperties)
|
|
vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_imagepipe_surface ===
|
|
vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA(vkGetInstanceProcAddr(instance, "vkCreateImagePipeSurfaceFUCHSIA"));
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_GGP)
|
|
//=== VK_GGP_stream_descriptor_surface ===
|
|
vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP(vkGetInstanceProcAddr(instance, "vkCreateStreamDescriptorSurfaceGGP"));
|
|
# endif /*VK_USE_PLATFORM_GGP*/
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_KHR_android_surface ===
|
|
vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR(vkGetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR"));
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
//=== VK_KHR_device_group ===
|
|
vkGetPhysicalDevicePresentRectanglesKHR =
|
|
PFN_vkGetPhysicalDevicePresentRectanglesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR"));
|
|
|
|
//=== VK_KHR_device_group_creation ===
|
|
vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR(vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroupsKHR"));
|
|
if(!vkEnumeratePhysicalDeviceGroups)
|
|
vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
|
|
|
|
//=== VK_KHR_display ===
|
|
vkGetPhysicalDeviceDisplayPropertiesKHR =
|
|
PFN_vkGetPhysicalDeviceDisplayPropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR"));
|
|
vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
|
|
PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"));
|
|
vkGetDisplayPlaneSupportedDisplaysKHR =
|
|
PFN_vkGetDisplayPlaneSupportedDisplaysKHR(vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR"));
|
|
vkGetDisplayModePropertiesKHR = PFN_vkGetDisplayModePropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR"));
|
|
vkCreateDisplayModeKHR = PFN_vkCreateDisplayModeKHR(vkGetInstanceProcAddr(instance, "vkCreateDisplayModeKHR"));
|
|
vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR(vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR"));
|
|
vkCreateDisplayPlaneSurfaceKHR = PFN_vkCreateDisplayPlaneSurfaceKHR(vkGetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR"));
|
|
|
|
//=== VK_KHR_external_fence_capabilities ===
|
|
vkGetPhysicalDeviceExternalFencePropertiesKHR =
|
|
PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR"));
|
|
if(!vkGetPhysicalDeviceExternalFenceProperties)
|
|
vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
|
|
|
|
//=== VK_KHR_external_memory_capabilities ===
|
|
vkGetPhysicalDeviceExternalBufferPropertiesKHR =
|
|
PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"));
|
|
if(!vkGetPhysicalDeviceExternalBufferProperties)
|
|
vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
|
|
|
|
//=== VK_KHR_external_semaphore_capabilities ===
|
|
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
|
|
PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"));
|
|
if(!vkGetPhysicalDeviceExternalSemaphoreProperties)
|
|
vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
vkGetPhysicalDeviceFragmentShadingRatesKHR =
|
|
PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR"));
|
|
|
|
//=== VK_KHR_get_display_properties2 ===
|
|
vkGetPhysicalDeviceDisplayProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceDisplayProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR"));
|
|
vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"));
|
|
vkGetDisplayModeProperties2KHR = PFN_vkGetDisplayModeProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR"));
|
|
vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR(vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR"));
|
|
|
|
//=== VK_KHR_get_physical_device_properties2 ===
|
|
vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2KHR"));
|
|
if(!vkGetPhysicalDeviceFeatures2)
|
|
vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
|
|
vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2KHR"));
|
|
if(!vkGetPhysicalDeviceProperties2)
|
|
vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
|
|
vkGetPhysicalDeviceFormatProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceFormatProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2KHR"));
|
|
if(!vkGetPhysicalDeviceFormatProperties2)
|
|
vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
|
|
vkGetPhysicalDeviceImageFormatProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2KHR"));
|
|
if(!vkGetPhysicalDeviceImageFormatProperties2)
|
|
vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
|
|
vkGetPhysicalDeviceQueueFamilyProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"));
|
|
if(!vkGetPhysicalDeviceQueueFamilyProperties2)
|
|
vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
|
|
vkGetPhysicalDeviceMemoryProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceMemoryProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2KHR"));
|
|
if(!vkGetPhysicalDeviceMemoryProperties2)
|
|
vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
|
|
vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"));
|
|
if(!vkGetPhysicalDeviceSparseImageFormatProperties2)
|
|
vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
|
|
|
|
//=== VK_KHR_get_surface_capabilities2 ===
|
|
vkGetPhysicalDeviceSurfaceCapabilities2KHR =
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"));
|
|
vkGetPhysicalDeviceSurfaceFormats2KHR =
|
|
PFN_vkGetPhysicalDeviceSurfaceFormats2KHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR"));
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
|
|
vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR"));
|
|
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
|
|
vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"));
|
|
|
|
//=== VK_KHR_surface ===
|
|
vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR(vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
|
|
vkGetPhysicalDeviceSurfaceSupportKHR =
|
|
PFN_vkGetPhysicalDeviceSurfaceSupportKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR"));
|
|
vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"));
|
|
vkGetPhysicalDeviceSurfaceFormatsKHR =
|
|
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR"));
|
|
vkGetPhysicalDeviceSurfacePresentModesKHR =
|
|
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR"));
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
vkGetPhysicalDeviceVideoCapabilitiesKHR =
|
|
PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR"));
|
|
vkGetPhysicalDeviceVideoFormatPropertiesKHR =
|
|
PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR"));
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
|
//=== VK_KHR_wayland_surface ===
|
|
vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR(vkGetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR"));
|
|
vkGetPhysicalDeviceWaylandPresentationSupportKHR =
|
|
PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"));
|
|
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_win32_surface ===
|
|
vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR(vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"));
|
|
vkGetPhysicalDeviceWin32PresentationSupportKHR =
|
|
PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XCB_KHR)
|
|
//=== VK_KHR_xcb_surface ===
|
|
vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR(vkGetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR"));
|
|
vkGetPhysicalDeviceXcbPresentationSupportKHR =
|
|
PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR"));
|
|
# endif /*VK_USE_PLATFORM_XCB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
//=== VK_KHR_xlib_surface ===
|
|
vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR(vkGetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR"));
|
|
vkGetPhysicalDeviceXlibPresentationSupportKHR =
|
|
PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR"));
|
|
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_IOS_MVK)
|
|
//=== VK_MVK_ios_surface ===
|
|
vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK(vkGetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK"));
|
|
# endif /*VK_USE_PLATFORM_IOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_MACOS_MVK)
|
|
//=== VK_MVK_macos_surface ===
|
|
vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK(vkGetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK"));
|
|
# endif /*VK_USE_PLATFORM_MACOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_VI_NN)
|
|
//=== VK_NN_vi_surface ===
|
|
vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN(vkGetInstanceProcAddr(instance, "vkCreateViSurfaceNN"));
|
|
# endif /*VK_USE_PLATFORM_VI_NN*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_acquire_winrt_display ===
|
|
vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV(vkGetInstanceProcAddr(instance, "vkAcquireWinrtDisplayNV"));
|
|
vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV(vkGetInstanceProcAddr(instance, "vkGetWinrtDisplayNV"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_NV_cooperative_matrix ===
|
|
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
|
|
PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"));
|
|
|
|
//=== VK_NV_coverage_reduction_mode ===
|
|
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
|
|
vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV"));
|
|
|
|
//=== VK_NV_external_memory_capabilities ===
|
|
vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
|
|
PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"));
|
|
|
|
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
|
|
//=== VK_QNX_screen_surface ===
|
|
vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX(vkGetInstanceProcAddr(instance, "vkCreateScreenSurfaceQNX"));
|
|
vkGetPhysicalDeviceScreenPresentationSupportQNX =
|
|
PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX"));
|
|
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
|
|
|
vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr(vkGetInstanceProcAddr(instance, "vkGetDeviceProcAddr"));
|
|
}
|
|
|
|
public:
|
|
//=== VK_VERSION_1_0 ===
|
|
PFN_vkDestroyInstance vkDestroyInstance = 0;
|
|
PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices = 0;
|
|
PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures = 0;
|
|
PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties = 0;
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties = 0;
|
|
PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties = 0;
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties = 0;
|
|
PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties = 0;
|
|
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = 0;
|
|
PFN_vkCreateDevice vkCreateDevice = 0;
|
|
PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties = 0;
|
|
PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties = 0;
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups = 0;
|
|
PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 = 0;
|
|
PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 = 0;
|
|
PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 = 0;
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 = 0;
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 = 0;
|
|
PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 = 0;
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
|
|
PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties = 0;
|
|
PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties = 0;
|
|
PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties = 0;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties = 0;
|
|
|
|
//=== VK_EXT_acquire_drm_display ===
|
|
PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
|
|
PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
|
|
//=== VK_EXT_acquire_xlib_display ===
|
|
PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0;
|
|
PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
|
|
# else
|
|
PFN_dummy vkAcquireXlibDisplayEXT_placeholder = 0;
|
|
PFN_dummy vkGetRandROutputDisplayEXT_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
|
|
|
|
//=== VK_EXT_debug_report ===
|
|
PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0;
|
|
PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
|
|
PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT = 0;
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT = 0;
|
|
PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
|
|
PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT = 0;
|
|
|
|
//=== VK_EXT_direct_mode_display ===
|
|
PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
|
|
//=== VK_EXT_directfb_surface ===
|
|
PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0;
|
|
PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
|
|
# else
|
|
PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
|
|
|
//=== VK_EXT_display_surface_counter ===
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
|
|
# else
|
|
PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_headless_surface ===
|
|
PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_METAL_EXT)
|
|
//=== VK_EXT_metal_surface ===
|
|
PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
|
|
# else
|
|
PFN_dummy vkCreateMetalSurfaceEXT_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
|
|
|
|
//=== VK_EXT_tooling_info ===
|
|
PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_imagepipe_surface ===
|
|
PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
|
|
# else
|
|
PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_GGP)
|
|
//=== VK_GGP_stream_descriptor_surface ===
|
|
PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
|
|
# else
|
|
PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_GGP*/
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_KHR_android_surface ===
|
|
PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
|
|
# else
|
|
PFN_dummy vkCreateAndroidSurfaceKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
//=== VK_KHR_device_group ===
|
|
PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
|
|
|
|
//=== VK_KHR_device_group_creation ===
|
|
PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
|
|
|
|
//=== VK_KHR_display ===
|
|
PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR = 0;
|
|
PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
|
|
PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR = 0;
|
|
PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR = 0;
|
|
PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR = 0;
|
|
PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR = 0;
|
|
PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0;
|
|
|
|
//=== VK_KHR_external_fence_capabilities ===
|
|
PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
|
|
|
|
//=== VK_KHR_external_memory_capabilities ===
|
|
PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
|
|
|
|
//=== VK_KHR_external_semaphore_capabilities ===
|
|
PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
|
|
|
|
//=== VK_KHR_get_display_properties2 ===
|
|
PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
|
|
PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR = 0;
|
|
PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR = 0;
|
|
|
|
//=== VK_KHR_get_physical_device_properties2 ===
|
|
PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
|
|
|
|
//=== VK_KHR_get_surface_capabilities2 ===
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
|
|
PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR = 0;
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
|
|
PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0;
|
|
|
|
//=== VK_KHR_surface ===
|
|
PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR = 0;
|
|
PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR = 0;
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
|
|
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR = 0;
|
|
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR = 0;
|
|
PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
|
|
# else
|
|
PFN_dummy vkGetPhysicalDeviceVideoCapabilitiesKHR_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceVideoFormatPropertiesKHR_placeholder = 0;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
|
//=== VK_KHR_wayland_surface ===
|
|
PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0;
|
|
PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
|
|
# else
|
|
PFN_dummy vkCreateWaylandSurfaceKHR_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_win32_surface ===
|
|
PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0;
|
|
PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
|
|
# else
|
|
PFN_dummy vkCreateWin32SurfaceKHR_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XCB_KHR)
|
|
//=== VK_KHR_xcb_surface ===
|
|
PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0;
|
|
PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
|
|
# else
|
|
PFN_dummy vkCreateXcbSurfaceKHR_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_XCB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
//=== VK_KHR_xlib_surface ===
|
|
PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0;
|
|
PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
|
|
# else
|
|
PFN_dummy vkCreateXlibSurfaceKHR_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_IOS_MVK)
|
|
//=== VK_MVK_ios_surface ===
|
|
PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
|
|
# else
|
|
PFN_dummy vkCreateIOSSurfaceMVK_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_IOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_MACOS_MVK)
|
|
//=== VK_MVK_macos_surface ===
|
|
PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
|
|
# else
|
|
PFN_dummy vkCreateMacOSSurfaceMVK_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_MACOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_VI_NN)
|
|
//=== VK_NN_vi_surface ===
|
|
PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
|
|
# else
|
|
PFN_dummy vkCreateViSurfaceNN_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_VI_NN*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_acquire_winrt_display ===
|
|
PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
|
|
PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV = 0;
|
|
# else
|
|
PFN_dummy vkAcquireWinrtDisplayNV_placeholder = 0;
|
|
PFN_dummy vkGetWinrtDisplayNV_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_NV_cooperative_matrix ===
|
|
PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
|
|
|
|
//=== VK_NV_coverage_reduction_mode ===
|
|
PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
|
|
|
|
//=== VK_NV_external_memory_capabilities ===
|
|
PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
|
|
//=== VK_QNX_screen_surface ===
|
|
PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX = 0;
|
|
PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
|
|
# else
|
|
PFN_dummy vkCreateScreenSurfaceQNX_placeholder = 0;
|
|
PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
|
|
|
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0;
|
|
};
|
|
|
|
class DeviceDispatcher : public DispatchLoaderBase
|
|
{
|
|
public:
|
|
DeviceDispatcher(PFN_vkGetDeviceProcAddr getProcAddr, VkDevice device)
|
|
: vkGetDeviceProcAddr(getProcAddr)
|
|
{
|
|
//=== 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"));
|
|
vkQueueWaitIdle = PFN_vkQueueWaitIdle(vkGetDeviceProcAddr(device, "vkQueueWaitIdle"));
|
|
vkDeviceWaitIdle = PFN_vkDeviceWaitIdle(vkGetDeviceProcAddr(device, "vkDeviceWaitIdle"));
|
|
vkAllocateMemory = PFN_vkAllocateMemory(vkGetDeviceProcAddr(device, "vkAllocateMemory"));
|
|
vkFreeMemory = PFN_vkFreeMemory(vkGetDeviceProcAddr(device, "vkFreeMemory"));
|
|
vkMapMemory = PFN_vkMapMemory(vkGetDeviceProcAddr(device, "vkMapMemory"));
|
|
vkUnmapMemory = PFN_vkUnmapMemory(vkGetDeviceProcAddr(device, "vkUnmapMemory"));
|
|
vkFlushMappedMemoryRanges = PFN_vkFlushMappedMemoryRanges(vkGetDeviceProcAddr(device, "vkFlushMappedMemoryRanges"));
|
|
vkInvalidateMappedMemoryRanges = PFN_vkInvalidateMappedMemoryRanges(vkGetDeviceProcAddr(device, "vkInvalidateMappedMemoryRanges"));
|
|
vkGetDeviceMemoryCommitment = PFN_vkGetDeviceMemoryCommitment(vkGetDeviceProcAddr(device, "vkGetDeviceMemoryCommitment"));
|
|
vkBindBufferMemory = PFN_vkBindBufferMemory(vkGetDeviceProcAddr(device, "vkBindBufferMemory"));
|
|
vkBindImageMemory = PFN_vkBindImageMemory(vkGetDeviceProcAddr(device, "vkBindImageMemory"));
|
|
vkGetBufferMemoryRequirements = PFN_vkGetBufferMemoryRequirements(vkGetDeviceProcAddr(device, "vkGetBufferMemoryRequirements"));
|
|
vkGetImageMemoryRequirements = PFN_vkGetImageMemoryRequirements(vkGetDeviceProcAddr(device, "vkGetImageMemoryRequirements"));
|
|
vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(vkGetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements"));
|
|
vkQueueBindSparse = PFN_vkQueueBindSparse(vkGetDeviceProcAddr(device, "vkQueueBindSparse"));
|
|
vkCreateFence = PFN_vkCreateFence(vkGetDeviceProcAddr(device, "vkCreateFence"));
|
|
vkDestroyFence = PFN_vkDestroyFence(vkGetDeviceProcAddr(device, "vkDestroyFence"));
|
|
vkResetFences = PFN_vkResetFences(vkGetDeviceProcAddr(device, "vkResetFences"));
|
|
vkGetFenceStatus = PFN_vkGetFenceStatus(vkGetDeviceProcAddr(device, "vkGetFenceStatus"));
|
|
vkWaitForFences = PFN_vkWaitForFences(vkGetDeviceProcAddr(device, "vkWaitForFences"));
|
|
vkCreateSemaphore = PFN_vkCreateSemaphore(vkGetDeviceProcAddr(device, "vkCreateSemaphore"));
|
|
vkDestroySemaphore = PFN_vkDestroySemaphore(vkGetDeviceProcAddr(device, "vkDestroySemaphore"));
|
|
vkCreateEvent = PFN_vkCreateEvent(vkGetDeviceProcAddr(device, "vkCreateEvent"));
|
|
vkDestroyEvent = PFN_vkDestroyEvent(vkGetDeviceProcAddr(device, "vkDestroyEvent"));
|
|
vkGetEventStatus = PFN_vkGetEventStatus(vkGetDeviceProcAddr(device, "vkGetEventStatus"));
|
|
vkSetEvent = PFN_vkSetEvent(vkGetDeviceProcAddr(device, "vkSetEvent"));
|
|
vkResetEvent = PFN_vkResetEvent(vkGetDeviceProcAddr(device, "vkResetEvent"));
|
|
vkCreateQueryPool = PFN_vkCreateQueryPool(vkGetDeviceProcAddr(device, "vkCreateQueryPool"));
|
|
vkDestroyQueryPool = PFN_vkDestroyQueryPool(vkGetDeviceProcAddr(device, "vkDestroyQueryPool"));
|
|
vkGetQueryPoolResults = PFN_vkGetQueryPoolResults(vkGetDeviceProcAddr(device, "vkGetQueryPoolResults"));
|
|
vkCreateBuffer = PFN_vkCreateBuffer(vkGetDeviceProcAddr(device, "vkCreateBuffer"));
|
|
vkDestroyBuffer = PFN_vkDestroyBuffer(vkGetDeviceProcAddr(device, "vkDestroyBuffer"));
|
|
vkCreateBufferView = PFN_vkCreateBufferView(vkGetDeviceProcAddr(device, "vkCreateBufferView"));
|
|
vkDestroyBufferView = PFN_vkDestroyBufferView(vkGetDeviceProcAddr(device, "vkDestroyBufferView"));
|
|
vkCreateImage = PFN_vkCreateImage(vkGetDeviceProcAddr(device, "vkCreateImage"));
|
|
vkDestroyImage = PFN_vkDestroyImage(vkGetDeviceProcAddr(device, "vkDestroyImage"));
|
|
vkGetImageSubresourceLayout = PFN_vkGetImageSubresourceLayout(vkGetDeviceProcAddr(device, "vkGetImageSubresourceLayout"));
|
|
vkCreateImageView = PFN_vkCreateImageView(vkGetDeviceProcAddr(device, "vkCreateImageView"));
|
|
vkDestroyImageView = PFN_vkDestroyImageView(vkGetDeviceProcAddr(device, "vkDestroyImageView"));
|
|
vkCreateShaderModule = PFN_vkCreateShaderModule(vkGetDeviceProcAddr(device, "vkCreateShaderModule"));
|
|
vkDestroyShaderModule = PFN_vkDestroyShaderModule(vkGetDeviceProcAddr(device, "vkDestroyShaderModule"));
|
|
vkCreatePipelineCache = PFN_vkCreatePipelineCache(vkGetDeviceProcAddr(device, "vkCreatePipelineCache"));
|
|
vkDestroyPipelineCache = PFN_vkDestroyPipelineCache(vkGetDeviceProcAddr(device, "vkDestroyPipelineCache"));
|
|
vkGetPipelineCacheData = PFN_vkGetPipelineCacheData(vkGetDeviceProcAddr(device, "vkGetPipelineCacheData"));
|
|
vkMergePipelineCaches = PFN_vkMergePipelineCaches(vkGetDeviceProcAddr(device, "vkMergePipelineCaches"));
|
|
vkCreateGraphicsPipelines = PFN_vkCreateGraphicsPipelines(vkGetDeviceProcAddr(device, "vkCreateGraphicsPipelines"));
|
|
vkCreateComputePipelines = PFN_vkCreateComputePipelines(vkGetDeviceProcAddr(device, "vkCreateComputePipelines"));
|
|
vkDestroyPipeline = PFN_vkDestroyPipeline(vkGetDeviceProcAddr(device, "vkDestroyPipeline"));
|
|
vkCreatePipelineLayout = PFN_vkCreatePipelineLayout(vkGetDeviceProcAddr(device, "vkCreatePipelineLayout"));
|
|
vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout(vkGetDeviceProcAddr(device, "vkDestroyPipelineLayout"));
|
|
vkCreateSampler = PFN_vkCreateSampler(vkGetDeviceProcAddr(device, "vkCreateSampler"));
|
|
vkDestroySampler = PFN_vkDestroySampler(vkGetDeviceProcAddr(device, "vkDestroySampler"));
|
|
vkCreateDescriptorSetLayout = PFN_vkCreateDescriptorSetLayout(vkGetDeviceProcAddr(device, "vkCreateDescriptorSetLayout"));
|
|
vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout(vkGetDeviceProcAddr(device, "vkDestroyDescriptorSetLayout"));
|
|
vkCreateDescriptorPool = PFN_vkCreateDescriptorPool(vkGetDeviceProcAddr(device, "vkCreateDescriptorPool"));
|
|
vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool(vkGetDeviceProcAddr(device, "vkDestroyDescriptorPool"));
|
|
vkResetDescriptorPool = PFN_vkResetDescriptorPool(vkGetDeviceProcAddr(device, "vkResetDescriptorPool"));
|
|
vkAllocateDescriptorSets = PFN_vkAllocateDescriptorSets(vkGetDeviceProcAddr(device, "vkAllocateDescriptorSets"));
|
|
vkFreeDescriptorSets = PFN_vkFreeDescriptorSets(vkGetDeviceProcAddr(device, "vkFreeDescriptorSets"));
|
|
vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets(vkGetDeviceProcAddr(device, "vkUpdateDescriptorSets"));
|
|
vkCreateFramebuffer = PFN_vkCreateFramebuffer(vkGetDeviceProcAddr(device, "vkCreateFramebuffer"));
|
|
vkDestroyFramebuffer = PFN_vkDestroyFramebuffer(vkGetDeviceProcAddr(device, "vkDestroyFramebuffer"));
|
|
vkCreateRenderPass = PFN_vkCreateRenderPass(vkGetDeviceProcAddr(device, "vkCreateRenderPass"));
|
|
vkDestroyRenderPass = PFN_vkDestroyRenderPass(vkGetDeviceProcAddr(device, "vkDestroyRenderPass"));
|
|
vkGetRenderAreaGranularity = PFN_vkGetRenderAreaGranularity(vkGetDeviceProcAddr(device, "vkGetRenderAreaGranularity"));
|
|
vkCreateCommandPool = PFN_vkCreateCommandPool(vkGetDeviceProcAddr(device, "vkCreateCommandPool"));
|
|
vkDestroyCommandPool = PFN_vkDestroyCommandPool(vkGetDeviceProcAddr(device, "vkDestroyCommandPool"));
|
|
vkResetCommandPool = PFN_vkResetCommandPool(vkGetDeviceProcAddr(device, "vkResetCommandPool"));
|
|
vkAllocateCommandBuffers = PFN_vkAllocateCommandBuffers(vkGetDeviceProcAddr(device, "vkAllocateCommandBuffers"));
|
|
vkFreeCommandBuffers = PFN_vkFreeCommandBuffers(vkGetDeviceProcAddr(device, "vkFreeCommandBuffers"));
|
|
vkBeginCommandBuffer = PFN_vkBeginCommandBuffer(vkGetDeviceProcAddr(device, "vkBeginCommandBuffer"));
|
|
vkEndCommandBuffer = PFN_vkEndCommandBuffer(vkGetDeviceProcAddr(device, "vkEndCommandBuffer"));
|
|
vkResetCommandBuffer = PFN_vkResetCommandBuffer(vkGetDeviceProcAddr(device, "vkResetCommandBuffer"));
|
|
vkCmdBindPipeline = PFN_vkCmdBindPipeline(vkGetDeviceProcAddr(device, "vkCmdBindPipeline"));
|
|
vkCmdSetViewport = PFN_vkCmdSetViewport(vkGetDeviceProcAddr(device, "vkCmdSetViewport"));
|
|
vkCmdSetScissor = PFN_vkCmdSetScissor(vkGetDeviceProcAddr(device, "vkCmdSetScissor"));
|
|
vkCmdSetLineWidth = PFN_vkCmdSetLineWidth(vkGetDeviceProcAddr(device, "vkCmdSetLineWidth"));
|
|
vkCmdSetDepthBias = PFN_vkCmdSetDepthBias(vkGetDeviceProcAddr(device, "vkCmdSetDepthBias"));
|
|
vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants(vkGetDeviceProcAddr(device, "vkCmdSetBlendConstants"));
|
|
vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds(vkGetDeviceProcAddr(device, "vkCmdSetDepthBounds"));
|
|
vkCmdSetStencilCompareMask = PFN_vkCmdSetStencilCompareMask(vkGetDeviceProcAddr(device, "vkCmdSetStencilCompareMask"));
|
|
vkCmdSetStencilWriteMask = PFN_vkCmdSetStencilWriteMask(vkGetDeviceProcAddr(device, "vkCmdSetStencilWriteMask"));
|
|
vkCmdSetStencilReference = PFN_vkCmdSetStencilReference(vkGetDeviceProcAddr(device, "vkCmdSetStencilReference"));
|
|
vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets(vkGetDeviceProcAddr(device, "vkCmdBindDescriptorSets"));
|
|
vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer(vkGetDeviceProcAddr(device, "vkCmdBindIndexBuffer"));
|
|
vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers(vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers"));
|
|
vkCmdDraw = PFN_vkCmdDraw(vkGetDeviceProcAddr(device, "vkCmdDraw"));
|
|
vkCmdDrawIndexed = PFN_vkCmdDrawIndexed(vkGetDeviceProcAddr(device, "vkCmdDrawIndexed"));
|
|
vkCmdDrawIndirect = PFN_vkCmdDrawIndirect(vkGetDeviceProcAddr(device, "vkCmdDrawIndirect"));
|
|
vkCmdDrawIndexedIndirect = PFN_vkCmdDrawIndexedIndirect(vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect"));
|
|
vkCmdDispatch = PFN_vkCmdDispatch(vkGetDeviceProcAddr(device, "vkCmdDispatch"));
|
|
vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect(vkGetDeviceProcAddr(device, "vkCmdDispatchIndirect"));
|
|
vkCmdCopyBuffer = PFN_vkCmdCopyBuffer(vkGetDeviceProcAddr(device, "vkCmdCopyBuffer"));
|
|
vkCmdCopyImage = PFN_vkCmdCopyImage(vkGetDeviceProcAddr(device, "vkCmdCopyImage"));
|
|
vkCmdBlitImage = PFN_vkCmdBlitImage(vkGetDeviceProcAddr(device, "vkCmdBlitImage"));
|
|
vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage(vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage"));
|
|
vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer(vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer"));
|
|
vkCmdUpdateBuffer = PFN_vkCmdUpdateBuffer(vkGetDeviceProcAddr(device, "vkCmdUpdateBuffer"));
|
|
vkCmdFillBuffer = PFN_vkCmdFillBuffer(vkGetDeviceProcAddr(device, "vkCmdFillBuffer"));
|
|
vkCmdClearColorImage = PFN_vkCmdClearColorImage(vkGetDeviceProcAddr(device, "vkCmdClearColorImage"));
|
|
vkCmdClearDepthStencilImage = PFN_vkCmdClearDepthStencilImage(vkGetDeviceProcAddr(device, "vkCmdClearDepthStencilImage"));
|
|
vkCmdClearAttachments = PFN_vkCmdClearAttachments(vkGetDeviceProcAddr(device, "vkCmdClearAttachments"));
|
|
vkCmdResolveImage = PFN_vkCmdResolveImage(vkGetDeviceProcAddr(device, "vkCmdResolveImage"));
|
|
vkCmdSetEvent = PFN_vkCmdSetEvent(vkGetDeviceProcAddr(device, "vkCmdSetEvent"));
|
|
vkCmdResetEvent = PFN_vkCmdResetEvent(vkGetDeviceProcAddr(device, "vkCmdResetEvent"));
|
|
vkCmdWaitEvents = PFN_vkCmdWaitEvents(vkGetDeviceProcAddr(device, "vkCmdWaitEvents"));
|
|
vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier(vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier"));
|
|
vkCmdBeginQuery = PFN_vkCmdBeginQuery(vkGetDeviceProcAddr(device, "vkCmdBeginQuery"));
|
|
vkCmdEndQuery = PFN_vkCmdEndQuery(vkGetDeviceProcAddr(device, "vkCmdEndQuery"));
|
|
vkCmdResetQueryPool = PFN_vkCmdResetQueryPool(vkGetDeviceProcAddr(device, "vkCmdResetQueryPool"));
|
|
vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp(vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp"));
|
|
vkCmdCopyQueryPoolResults = PFN_vkCmdCopyQueryPoolResults(vkGetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults"));
|
|
vkCmdPushConstants = PFN_vkCmdPushConstants(vkGetDeviceProcAddr(device, "vkCmdPushConstants"));
|
|
vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass(vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass"));
|
|
vkCmdNextSubpass = PFN_vkCmdNextSubpass(vkGetDeviceProcAddr(device, "vkCmdNextSubpass"));
|
|
vkCmdEndRenderPass = PFN_vkCmdEndRenderPass(vkGetDeviceProcAddr(device, "vkCmdEndRenderPass"));
|
|
vkCmdExecuteCommands = PFN_vkCmdExecuteCommands(vkGetDeviceProcAddr(device, "vkCmdExecuteCommands"));
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
vkBindBufferMemory2 = PFN_vkBindBufferMemory2(vkGetDeviceProcAddr(device, "vkBindBufferMemory2"));
|
|
vkBindImageMemory2 = PFN_vkBindImageMemory2(vkGetDeviceProcAddr(device, "vkBindImageMemory2"));
|
|
vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(vkGetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeatures"));
|
|
vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask(vkGetDeviceProcAddr(device, "vkCmdSetDeviceMask"));
|
|
vkCmdDispatchBase = PFN_vkCmdDispatchBase(vkGetDeviceProcAddr(device, "vkCmdDispatchBase"));
|
|
vkGetImageMemoryRequirements2 = PFN_vkGetImageMemoryRequirements2(vkGetDeviceProcAddr(device, "vkGetImageMemoryRequirements2"));
|
|
vkGetBufferMemoryRequirements2 = PFN_vkGetBufferMemoryRequirements2(vkGetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2"));
|
|
vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2(vkGetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2"));
|
|
vkTrimCommandPool = PFN_vkTrimCommandPool(vkGetDeviceProcAddr(device, "vkTrimCommandPool"));
|
|
vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2(vkGetDeviceProcAddr(device, "vkGetDeviceQueue2"));
|
|
vkCreateSamplerYcbcrConversion = PFN_vkCreateSamplerYcbcrConversion(vkGetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversion"));
|
|
vkDestroySamplerYcbcrConversion = PFN_vkDestroySamplerYcbcrConversion(vkGetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversion"));
|
|
vkCreateDescriptorUpdateTemplate = PFN_vkCreateDescriptorUpdateTemplate(vkGetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplate"));
|
|
vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate(vkGetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplate"));
|
|
vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate(vkGetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplate"));
|
|
vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport(vkGetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupport"));
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount(vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCount"));
|
|
vkCmdDrawIndexedIndirectCount = PFN_vkCmdDrawIndexedIndirectCount(vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCount"));
|
|
vkCreateRenderPass2 = PFN_vkCreateRenderPass2(vkGetDeviceProcAddr(device, "vkCreateRenderPass2"));
|
|
vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2(vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass2"));
|
|
vkCmdNextSubpass2 = PFN_vkCmdNextSubpass2(vkGetDeviceProcAddr(device, "vkCmdNextSubpass2"));
|
|
vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2(vkGetDeviceProcAddr(device, "vkCmdEndRenderPass2"));
|
|
vkResetQueryPool = PFN_vkResetQueryPool(vkGetDeviceProcAddr(device, "vkResetQueryPool"));
|
|
vkGetSemaphoreCounterValue = PFN_vkGetSemaphoreCounterValue(vkGetDeviceProcAddr(device, "vkGetSemaphoreCounterValue"));
|
|
vkWaitSemaphores = PFN_vkWaitSemaphores(vkGetDeviceProcAddr(device, "vkWaitSemaphores"));
|
|
vkSignalSemaphore = PFN_vkSignalSemaphore(vkGetDeviceProcAddr(device, "vkSignalSemaphore"));
|
|
vkGetBufferDeviceAddress = PFN_vkGetBufferDeviceAddress(vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddress"));
|
|
vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress(vkGetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddress"));
|
|
vkGetDeviceMemoryOpaqueCaptureAddress =
|
|
PFN_vkGetDeviceMemoryOpaqueCaptureAddress(vkGetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddress"));
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
vkCreatePrivateDataSlot = PFN_vkCreatePrivateDataSlot(vkGetDeviceProcAddr(device, "vkCreatePrivateDataSlot"));
|
|
vkDestroyPrivateDataSlot = PFN_vkDestroyPrivateDataSlot(vkGetDeviceProcAddr(device, "vkDestroyPrivateDataSlot"));
|
|
vkSetPrivateData = PFN_vkSetPrivateData(vkGetDeviceProcAddr(device, "vkSetPrivateData"));
|
|
vkGetPrivateData = PFN_vkGetPrivateData(vkGetDeviceProcAddr(device, "vkGetPrivateData"));
|
|
vkCmdSetEvent2 = PFN_vkCmdSetEvent2(vkGetDeviceProcAddr(device, "vkCmdSetEvent2"));
|
|
vkCmdResetEvent2 = PFN_vkCmdResetEvent2(vkGetDeviceProcAddr(device, "vkCmdResetEvent2"));
|
|
vkCmdWaitEvents2 = PFN_vkCmdWaitEvents2(vkGetDeviceProcAddr(device, "vkCmdWaitEvents2"));
|
|
vkCmdPipelineBarrier2 = PFN_vkCmdPipelineBarrier2(vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier2"));
|
|
vkCmdWriteTimestamp2 = PFN_vkCmdWriteTimestamp2(vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp2"));
|
|
vkQueueSubmit2 = PFN_vkQueueSubmit2(vkGetDeviceProcAddr(device, "vkQueueSubmit2"));
|
|
vkCmdCopyBuffer2 = PFN_vkCmdCopyBuffer2(vkGetDeviceProcAddr(device, "vkCmdCopyBuffer2"));
|
|
vkCmdCopyImage2 = PFN_vkCmdCopyImage2(vkGetDeviceProcAddr(device, "vkCmdCopyImage2"));
|
|
vkCmdCopyBufferToImage2 = PFN_vkCmdCopyBufferToImage2(vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage2"));
|
|
vkCmdCopyImageToBuffer2 = PFN_vkCmdCopyImageToBuffer2(vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2"));
|
|
vkCmdBlitImage2 = PFN_vkCmdBlitImage2(vkGetDeviceProcAddr(device, "vkCmdBlitImage2"));
|
|
vkCmdResolveImage2 = PFN_vkCmdResolveImage2(vkGetDeviceProcAddr(device, "vkCmdResolveImage2"));
|
|
vkCmdBeginRendering = PFN_vkCmdBeginRendering(vkGetDeviceProcAddr(device, "vkCmdBeginRendering"));
|
|
vkCmdEndRendering = PFN_vkCmdEndRendering(vkGetDeviceProcAddr(device, "vkCmdEndRendering"));
|
|
vkCmdSetCullMode = PFN_vkCmdSetCullMode(vkGetDeviceProcAddr(device, "vkCmdSetCullMode"));
|
|
vkCmdSetFrontFace = PFN_vkCmdSetFrontFace(vkGetDeviceProcAddr(device, "vkCmdSetFrontFace"));
|
|
vkCmdSetPrimitiveTopology = PFN_vkCmdSetPrimitiveTopology(vkGetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology"));
|
|
vkCmdSetViewportWithCount = PFN_vkCmdSetViewportWithCount(vkGetDeviceProcAddr(device, "vkCmdSetViewportWithCount"));
|
|
vkCmdSetScissorWithCount = PFN_vkCmdSetScissorWithCount(vkGetDeviceProcAddr(device, "vkCmdSetScissorWithCount"));
|
|
vkCmdBindVertexBuffers2 = PFN_vkCmdBindVertexBuffers2(vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers2"));
|
|
vkCmdSetDepthTestEnable = PFN_vkCmdSetDepthTestEnable(vkGetDeviceProcAddr(device, "vkCmdSetDepthTestEnable"));
|
|
vkCmdSetDepthWriteEnable = PFN_vkCmdSetDepthWriteEnable(vkGetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable"));
|
|
vkCmdSetDepthCompareOp = PFN_vkCmdSetDepthCompareOp(vkGetDeviceProcAddr(device, "vkCmdSetDepthCompareOp"));
|
|
vkCmdSetDepthBoundsTestEnable = PFN_vkCmdSetDepthBoundsTestEnable(vkGetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnable"));
|
|
vkCmdSetStencilTestEnable = PFN_vkCmdSetStencilTestEnable(vkGetDeviceProcAddr(device, "vkCmdSetStencilTestEnable"));
|
|
vkCmdSetStencilOp = PFN_vkCmdSetStencilOp(vkGetDeviceProcAddr(device, "vkCmdSetStencilOp"));
|
|
vkCmdSetRasterizerDiscardEnable = PFN_vkCmdSetRasterizerDiscardEnable(vkGetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnable"));
|
|
vkCmdSetDepthBiasEnable = PFN_vkCmdSetDepthBiasEnable(vkGetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable"));
|
|
vkCmdSetPrimitiveRestartEnable = PFN_vkCmdSetPrimitiveRestartEnable(vkGetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnable"));
|
|
vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements(vkGetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirements"));
|
|
vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements(vkGetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirements"));
|
|
vkGetDeviceImageSparseMemoryRequirements =
|
|
PFN_vkGetDeviceImageSparseMemoryRequirements(vkGetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirements"));
|
|
|
|
//=== VK_AMD_buffer_marker ===
|
|
vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD(vkGetDeviceProcAddr(device, "vkCmdWriteBufferMarkerAMD"));
|
|
|
|
//=== VK_AMD_display_native_hdr ===
|
|
vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD(vkGetDeviceProcAddr(device, "vkSetLocalDimmingAMD"));
|
|
|
|
//=== VK_AMD_draw_indirect_count ===
|
|
vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD(vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCountAMD"));
|
|
if(!vkCmdDrawIndirectCount)
|
|
vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
|
|
vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD(vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountAMD"));
|
|
if(!vkCmdDrawIndexedIndirectCount)
|
|
vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
|
|
|
|
//=== VK_AMD_shader_info ===
|
|
vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD(vkGetDeviceProcAddr(device, "vkGetShaderInfoAMD"));
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_ANDROID_external_memory_android_hardware_buffer ===
|
|
vkGetAndroidHardwareBufferPropertiesANDROID =
|
|
PFN_vkGetAndroidHardwareBufferPropertiesANDROID(vkGetDeviceProcAddr(device, "vkGetAndroidHardwareBufferPropertiesANDROID"));
|
|
vkGetMemoryAndroidHardwareBufferANDROID =
|
|
PFN_vkGetMemoryAndroidHardwareBufferANDROID(vkGetDeviceProcAddr(device, "vkGetMemoryAndroidHardwareBufferANDROID"));
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
//=== VK_EXT_buffer_device_address ===
|
|
vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT(vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddressEXT"));
|
|
if(!vkGetBufferDeviceAddress)
|
|
vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT(vkGetDeviceProcAddr(device, "vkGetCalibratedTimestampsEXT"));
|
|
|
|
//=== VK_EXT_color_write_enable ===
|
|
vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetColorWriteEnableEXT"));
|
|
|
|
//=== VK_EXT_conditional_rendering ===
|
|
vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT(vkGetDeviceProcAddr(device, "vkCmdBeginConditionalRenderingEXT"));
|
|
vkCmdEndConditionalRenderingEXT = PFN_vkCmdEndConditionalRenderingEXT(vkGetDeviceProcAddr(device, "vkCmdEndConditionalRenderingEXT"));
|
|
|
|
//=== VK_EXT_debug_marker ===
|
|
vkDebugMarkerSetObjectTagEXT = PFN_vkDebugMarkerSetObjectTagEXT(vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectTagEXT"));
|
|
vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT(vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT"));
|
|
vkCmdDebugMarkerBeginEXT = PFN_vkCmdDebugMarkerBeginEXT(vkGetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT"));
|
|
vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT(vkGetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT"));
|
|
vkCmdDebugMarkerInsertEXT = PFN_vkCmdDebugMarkerInsertEXT(vkGetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT"));
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
vkSetDebugUtilsObjectNameEXT = PFN_vkSetDebugUtilsObjectNameEXT(vkGetDeviceProcAddr(device, "vkSetDebugUtilsObjectNameEXT"));
|
|
vkSetDebugUtilsObjectTagEXT = PFN_vkSetDebugUtilsObjectTagEXT(vkGetDeviceProcAddr(device, "vkSetDebugUtilsObjectTagEXT"));
|
|
vkQueueBeginDebugUtilsLabelEXT = PFN_vkQueueBeginDebugUtilsLabelEXT(vkGetDeviceProcAddr(device, "vkQueueBeginDebugUtilsLabelEXT"));
|
|
vkQueueEndDebugUtilsLabelEXT = PFN_vkQueueEndDebugUtilsLabelEXT(vkGetDeviceProcAddr(device, "vkQueueEndDebugUtilsLabelEXT"));
|
|
vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT(vkGetDeviceProcAddr(device, "vkQueueInsertDebugUtilsLabelEXT"));
|
|
vkCmdBeginDebugUtilsLabelEXT = PFN_vkCmdBeginDebugUtilsLabelEXT(vkGetDeviceProcAddr(device, "vkCmdBeginDebugUtilsLabelEXT"));
|
|
vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT(vkGetDeviceProcAddr(device, "vkCmdEndDebugUtilsLabelEXT"));
|
|
vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT(vkGetDeviceProcAddr(device, "vkCmdInsertDebugUtilsLabelEXT"));
|
|
|
|
//=== VK_EXT_discard_rectangles ===
|
|
vkCmdSetDiscardRectangleEXT = PFN_vkCmdSetDiscardRectangleEXT(vkGetDeviceProcAddr(device, "vkCmdSetDiscardRectangleEXT"));
|
|
|
|
//=== VK_EXT_display_control ===
|
|
vkDisplayPowerControlEXT = PFN_vkDisplayPowerControlEXT(vkGetDeviceProcAddr(device, "vkDisplayPowerControlEXT"));
|
|
vkRegisterDeviceEventEXT = PFN_vkRegisterDeviceEventEXT(vkGetDeviceProcAddr(device, "vkRegisterDeviceEventEXT"));
|
|
vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT(vkGetDeviceProcAddr(device, "vkRegisterDisplayEventEXT"));
|
|
vkGetSwapchainCounterEXT = PFN_vkGetSwapchainCounterEXT(vkGetDeviceProcAddr(device, "vkGetSwapchainCounterEXT"));
|
|
|
|
//=== VK_EXT_extended_dynamic_state ===
|
|
vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT(vkGetDeviceProcAddr(device, "vkCmdSetCullModeEXT"));
|
|
if(!vkCmdSetCullMode)
|
|
vkCmdSetCullMode = vkCmdSetCullModeEXT;
|
|
vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT(vkGetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT"));
|
|
if(!vkCmdSetFrontFace)
|
|
vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
|
|
vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT(vkGetDeviceProcAddr(device, "vkCmdSetPrimitiveTopologyEXT"));
|
|
if(!vkCmdSetPrimitiveTopology)
|
|
vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
|
|
vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT(vkGetDeviceProcAddr(device, "vkCmdSetViewportWithCountEXT"));
|
|
if(!vkCmdSetViewportWithCount)
|
|
vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
|
|
vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT(vkGetDeviceProcAddr(device, "vkCmdSetScissorWithCountEXT"));
|
|
if(!vkCmdSetScissorWithCount)
|
|
vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
|
|
vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT(vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers2EXT"));
|
|
if(!vkCmdBindVertexBuffers2)
|
|
vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
|
|
vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetDepthTestEnableEXT"));
|
|
if(!vkCmdSetDepthTestEnable)
|
|
vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
|
|
vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetDepthWriteEnableEXT"));
|
|
if(!vkCmdSetDepthWriteEnable)
|
|
vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
|
|
vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT(vkGetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT"));
|
|
if(!vkCmdSetDepthCompareOp)
|
|
vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
|
|
vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetDepthBoundsTestEnableEXT"));
|
|
if(!vkCmdSetDepthBoundsTestEnable)
|
|
vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
|
|
vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetStencilTestEnableEXT"));
|
|
if(!vkCmdSetStencilTestEnable)
|
|
vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
|
|
vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT(vkGetDeviceProcAddr(device, "vkCmdSetStencilOpEXT"));
|
|
if(!vkCmdSetStencilOp)
|
|
vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
|
|
|
|
//=== VK_EXT_extended_dynamic_state2 ===
|
|
vkCmdSetPatchControlPointsEXT = PFN_vkCmdSetPatchControlPointsEXT(vkGetDeviceProcAddr(device, "vkCmdSetPatchControlPointsEXT"));
|
|
vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetRasterizerDiscardEnableEXT"));
|
|
if(!vkCmdSetRasterizerDiscardEnable)
|
|
vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
|
|
vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetDepthBiasEnableEXT"));
|
|
if(!vkCmdSetDepthBiasEnable)
|
|
vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
|
|
vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT(vkGetDeviceProcAddr(device, "vkCmdSetLogicOpEXT"));
|
|
vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT(vkGetDeviceProcAddr(device, "vkCmdSetPrimitiveRestartEnableEXT"));
|
|
if(!vkCmdSetPrimitiveRestartEnable)
|
|
vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
|
|
|
|
//=== VK_EXT_external_memory_host ===
|
|
vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT(vkGetDeviceProcAddr(device, "vkGetMemoryHostPointerPropertiesEXT"));
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT(vkGetDeviceProcAddr(device, "vkAcquireFullScreenExclusiveModeEXT"));
|
|
vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT(vkGetDeviceProcAddr(device, "vkReleaseFullScreenExclusiveModeEXT"));
|
|
vkGetDeviceGroupSurfacePresentModes2EXT =
|
|
PFN_vkGetDeviceGroupSurfacePresentModes2EXT(vkGetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModes2EXT"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_hdr_metadata ===
|
|
vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT(vkGetDeviceProcAddr(device, "vkSetHdrMetadataEXT"));
|
|
|
|
//=== VK_EXT_host_query_reset ===
|
|
vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT(vkGetDeviceProcAddr(device, "vkResetQueryPoolEXT"));
|
|
if(!vkResetQueryPool)
|
|
vkResetQueryPool = vkResetQueryPoolEXT;
|
|
|
|
//=== VK_EXT_image_drm_format_modifier ===
|
|
vkGetImageDrmFormatModifierPropertiesEXT =
|
|
PFN_vkGetImageDrmFormatModifierPropertiesEXT(vkGetDeviceProcAddr(device, "vkGetImageDrmFormatModifierPropertiesEXT"));
|
|
|
|
//=== VK_EXT_line_rasterization ===
|
|
vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT(vkGetDeviceProcAddr(device, "vkCmdSetLineStippleEXT"));
|
|
|
|
//=== VK_EXT_multi_draw ===
|
|
vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT(vkGetDeviceProcAddr(device, "vkCmdDrawMultiEXT"));
|
|
vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT(vkGetDeviceProcAddr(device, "vkCmdDrawMultiIndexedEXT"));
|
|
|
|
//=== VK_EXT_pageable_device_local_memory ===
|
|
vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT(vkGetDeviceProcAddr(device, "vkSetDeviceMemoryPriorityEXT"));
|
|
|
|
//=== VK_EXT_private_data ===
|
|
vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT(vkGetDeviceProcAddr(device, "vkCreatePrivateDataSlotEXT"));
|
|
if(!vkCreatePrivateDataSlot)
|
|
vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
|
|
vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT(vkGetDeviceProcAddr(device, "vkDestroyPrivateDataSlotEXT"));
|
|
if(!vkDestroyPrivateDataSlot)
|
|
vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
|
|
vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT(vkGetDeviceProcAddr(device, "vkSetPrivateDataEXT"));
|
|
if(!vkSetPrivateData)
|
|
vkSetPrivateData = vkSetPrivateDataEXT;
|
|
vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT(vkGetDeviceProcAddr(device, "vkGetPrivateDataEXT"));
|
|
if(!vkGetPrivateData)
|
|
vkGetPrivateData = vkGetPrivateDataEXT;
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT(vkGetDeviceProcAddr(device, "vkCmdSetSampleLocationsEXT"));
|
|
|
|
//=== VK_EXT_transform_feedback ===
|
|
vkCmdBindTransformFeedbackBuffersEXT =
|
|
PFN_vkCmdBindTransformFeedbackBuffersEXT(vkGetDeviceProcAddr(device, "vkCmdBindTransformFeedbackBuffersEXT"));
|
|
vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT(vkGetDeviceProcAddr(device, "vkCmdBeginTransformFeedbackEXT"));
|
|
vkCmdEndTransformFeedbackEXT = PFN_vkCmdEndTransformFeedbackEXT(vkGetDeviceProcAddr(device, "vkCmdEndTransformFeedbackEXT"));
|
|
vkCmdBeginQueryIndexedEXT = PFN_vkCmdBeginQueryIndexedEXT(vkGetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT"));
|
|
vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT(vkGetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT"));
|
|
vkCmdDrawIndirectByteCountEXT = PFN_vkCmdDrawIndirectByteCountEXT(vkGetDeviceProcAddr(device, "vkCmdDrawIndirectByteCountEXT"));
|
|
|
|
//=== VK_EXT_validation_cache ===
|
|
vkCreateValidationCacheEXT = PFN_vkCreateValidationCacheEXT(vkGetDeviceProcAddr(device, "vkCreateValidationCacheEXT"));
|
|
vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT(vkGetDeviceProcAddr(device, "vkDestroyValidationCacheEXT"));
|
|
vkMergeValidationCachesEXT = PFN_vkMergeValidationCachesEXT(vkGetDeviceProcAddr(device, "vkMergeValidationCachesEXT"));
|
|
vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT(vkGetDeviceProcAddr(device, "vkGetValidationCacheDataEXT"));
|
|
|
|
//=== VK_EXT_vertex_input_dynamic_state ===
|
|
vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT(vkGetDeviceProcAddr(device, "vkCmdSetVertexInputEXT"));
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_buffer_collection ===
|
|
vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA(vkGetDeviceProcAddr(device, "vkCreateBufferCollectionFUCHSIA"));
|
|
vkSetBufferCollectionImageConstraintsFUCHSIA =
|
|
PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(vkGetDeviceProcAddr(device, "vkSetBufferCollectionImageConstraintsFUCHSIA"));
|
|
vkSetBufferCollectionBufferConstraintsFUCHSIA =
|
|
PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(vkGetDeviceProcAddr(device, "vkSetBufferCollectionBufferConstraintsFUCHSIA"));
|
|
vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA(vkGetDeviceProcAddr(device, "vkDestroyBufferCollectionFUCHSIA"));
|
|
vkGetBufferCollectionPropertiesFUCHSIA =
|
|
PFN_vkGetBufferCollectionPropertiesFUCHSIA(vkGetDeviceProcAddr(device, "vkGetBufferCollectionPropertiesFUCHSIA"));
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_memory ===
|
|
vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA(vkGetDeviceProcAddr(device, "vkGetMemoryZirconHandleFUCHSIA"));
|
|
vkGetMemoryZirconHandlePropertiesFUCHSIA =
|
|
PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(vkGetDeviceProcAddr(device, "vkGetMemoryZirconHandlePropertiesFUCHSIA"));
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_semaphore ===
|
|
vkImportSemaphoreZirconHandleFUCHSIA =
|
|
PFN_vkImportSemaphoreZirconHandleFUCHSIA(vkGetDeviceProcAddr(device, "vkImportSemaphoreZirconHandleFUCHSIA"));
|
|
vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA(vkGetDeviceProcAddr(device, "vkGetSemaphoreZirconHandleFUCHSIA"));
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
//=== VK_GOOGLE_display_timing ===
|
|
vkGetRefreshCycleDurationGOOGLE = PFN_vkGetRefreshCycleDurationGOOGLE(vkGetDeviceProcAddr(device, "vkGetRefreshCycleDurationGOOGLE"));
|
|
vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE(vkGetDeviceProcAddr(device, "vkGetPastPresentationTimingGOOGLE"));
|
|
|
|
//=== VK_HUAWEI_invocation_mask ===
|
|
vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI(vkGetDeviceProcAddr(device, "vkCmdBindInvocationMaskHUAWEI"));
|
|
|
|
//=== VK_HUAWEI_subpass_shading ===
|
|
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
|
|
PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(vkGetDeviceProcAddr(device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"));
|
|
vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI(vkGetDeviceProcAddr(device, "vkCmdSubpassShadingHUAWEI"));
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
vkInitializePerformanceApiINTEL = PFN_vkInitializePerformanceApiINTEL(vkGetDeviceProcAddr(device, "vkInitializePerformanceApiINTEL"));
|
|
vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL(vkGetDeviceProcAddr(device, "vkUninitializePerformanceApiINTEL"));
|
|
vkCmdSetPerformanceMarkerINTEL = PFN_vkCmdSetPerformanceMarkerINTEL(vkGetDeviceProcAddr(device, "vkCmdSetPerformanceMarkerINTEL"));
|
|
vkCmdSetPerformanceStreamMarkerINTEL =
|
|
PFN_vkCmdSetPerformanceStreamMarkerINTEL(vkGetDeviceProcAddr(device, "vkCmdSetPerformanceStreamMarkerINTEL"));
|
|
vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL(vkGetDeviceProcAddr(device, "vkCmdSetPerformanceOverrideINTEL"));
|
|
vkAcquirePerformanceConfigurationINTEL =
|
|
PFN_vkAcquirePerformanceConfigurationINTEL(vkGetDeviceProcAddr(device, "vkAcquirePerformanceConfigurationINTEL"));
|
|
vkReleasePerformanceConfigurationINTEL =
|
|
PFN_vkReleasePerformanceConfigurationINTEL(vkGetDeviceProcAddr(device, "vkReleasePerformanceConfigurationINTEL"));
|
|
vkQueueSetPerformanceConfigurationINTEL =
|
|
PFN_vkQueueSetPerformanceConfigurationINTEL(vkGetDeviceProcAddr(device, "vkQueueSetPerformanceConfigurationINTEL"));
|
|
vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL(vkGetDeviceProcAddr(device, "vkGetPerformanceParameterINTEL"));
|
|
|
|
//=== VK_KHR_acceleration_structure ===
|
|
vkCreateAccelerationStructureKHR = PFN_vkCreateAccelerationStructureKHR(vkGetDeviceProcAddr(device, "vkCreateAccelerationStructureKHR"));
|
|
vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR(vkGetDeviceProcAddr(device, "vkDestroyAccelerationStructureKHR"));
|
|
vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR(vkGetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresKHR"));
|
|
vkCmdBuildAccelerationStructuresIndirectKHR =
|
|
PFN_vkCmdBuildAccelerationStructuresIndirectKHR(vkGetDeviceProcAddr(device, "vkCmdBuildAccelerationStructuresIndirectKHR"));
|
|
vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR(vkGetDeviceProcAddr(device, "vkBuildAccelerationStructuresKHR"));
|
|
vkCopyAccelerationStructureKHR = PFN_vkCopyAccelerationStructureKHR(vkGetDeviceProcAddr(device, "vkCopyAccelerationStructureKHR"));
|
|
vkCopyAccelerationStructureToMemoryKHR =
|
|
PFN_vkCopyAccelerationStructureToMemoryKHR(vkGetDeviceProcAddr(device, "vkCopyAccelerationStructureToMemoryKHR"));
|
|
vkCopyMemoryToAccelerationStructureKHR =
|
|
PFN_vkCopyMemoryToAccelerationStructureKHR(vkGetDeviceProcAddr(device, "vkCopyMemoryToAccelerationStructureKHR"));
|
|
vkWriteAccelerationStructuresPropertiesKHR =
|
|
PFN_vkWriteAccelerationStructuresPropertiesKHR(vkGetDeviceProcAddr(device, "vkWriteAccelerationStructuresPropertiesKHR"));
|
|
vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR(vkGetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureKHR"));
|
|
vkCmdCopyAccelerationStructureToMemoryKHR =
|
|
PFN_vkCmdCopyAccelerationStructureToMemoryKHR(vkGetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureToMemoryKHR"));
|
|
vkCmdCopyMemoryToAccelerationStructureKHR =
|
|
PFN_vkCmdCopyMemoryToAccelerationStructureKHR(vkGetDeviceProcAddr(device, "vkCmdCopyMemoryToAccelerationStructureKHR"));
|
|
vkGetAccelerationStructureDeviceAddressKHR =
|
|
PFN_vkGetAccelerationStructureDeviceAddressKHR(vkGetDeviceProcAddr(device, "vkGetAccelerationStructureDeviceAddressKHR"));
|
|
vkCmdWriteAccelerationStructuresPropertiesKHR =
|
|
PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(vkGetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesKHR"));
|
|
vkGetDeviceAccelerationStructureCompatibilityKHR =
|
|
PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(vkGetDeviceProcAddr(device, "vkGetDeviceAccelerationStructureCompatibilityKHR"));
|
|
vkGetAccelerationStructureBuildSizesKHR =
|
|
PFN_vkGetAccelerationStructureBuildSizesKHR(vkGetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR"));
|
|
|
|
//=== VK_KHR_bind_memory2 ===
|
|
vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR(vkGetDeviceProcAddr(device, "vkBindBufferMemory2KHR"));
|
|
if(!vkBindBufferMemory2)
|
|
vkBindBufferMemory2 = vkBindBufferMemory2KHR;
|
|
vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR(vkGetDeviceProcAddr(device, "vkBindImageMemory2KHR"));
|
|
if(!vkBindImageMemory2)
|
|
vkBindImageMemory2 = vkBindImageMemory2KHR;
|
|
|
|
//=== VK_KHR_buffer_device_address ===
|
|
vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR(vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddressKHR"));
|
|
if(!vkGetBufferDeviceAddress)
|
|
vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
|
|
vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR(vkGetDeviceProcAddr(device, "vkGetBufferOpaqueCaptureAddressKHR"));
|
|
if(!vkGetBufferOpaqueCaptureAddress)
|
|
vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
|
|
vkGetDeviceMemoryOpaqueCaptureAddressKHR =
|
|
PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(vkGetDeviceProcAddr(device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"));
|
|
if(!vkGetDeviceMemoryOpaqueCaptureAddress)
|
|
vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
|
|
|
|
//=== VK_KHR_copy_commands2 ===
|
|
vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR(vkGetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR"));
|
|
if(!vkCmdCopyBuffer2)
|
|
vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
|
|
vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR(vkGetDeviceProcAddr(device, "vkCmdCopyImage2KHR"));
|
|
if(!vkCmdCopyImage2)
|
|
vkCmdCopyImage2 = vkCmdCopyImage2KHR;
|
|
vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR(vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage2KHR"));
|
|
if(!vkCmdCopyBufferToImage2)
|
|
vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
|
|
vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR(vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2KHR"));
|
|
if(!vkCmdCopyImageToBuffer2)
|
|
vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
|
|
vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR(vkGetDeviceProcAddr(device, "vkCmdBlitImage2KHR"));
|
|
if(!vkCmdBlitImage2)
|
|
vkCmdBlitImage2 = vkCmdBlitImage2KHR;
|
|
vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR(vkGetDeviceProcAddr(device, "vkCmdResolveImage2KHR"));
|
|
if(!vkCmdResolveImage2)
|
|
vkCmdResolveImage2 = vkCmdResolveImage2KHR;
|
|
|
|
//=== VK_KHR_create_renderpass2 ===
|
|
vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR(vkGetDeviceProcAddr(device, "vkCreateRenderPass2KHR"));
|
|
if(!vkCreateRenderPass2)
|
|
vkCreateRenderPass2 = vkCreateRenderPass2KHR;
|
|
vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR(vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR"));
|
|
if(!vkCmdBeginRenderPass2)
|
|
vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
|
|
vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR(vkGetDeviceProcAddr(device, "vkCmdNextSubpass2KHR"));
|
|
if(!vkCmdNextSubpass2)
|
|
vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
|
|
vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR(vkGetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR"));
|
|
if(!vkCmdEndRenderPass2)
|
|
vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
|
|
|
|
//=== VK_KHR_deferred_host_operations ===
|
|
vkCreateDeferredOperationKHR = PFN_vkCreateDeferredOperationKHR(vkGetDeviceProcAddr(device, "vkCreateDeferredOperationKHR"));
|
|
vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR(vkGetDeviceProcAddr(device, "vkDestroyDeferredOperationKHR"));
|
|
vkGetDeferredOperationMaxConcurrencyKHR =
|
|
PFN_vkGetDeferredOperationMaxConcurrencyKHR(vkGetDeviceProcAddr(device, "vkGetDeferredOperationMaxConcurrencyKHR"));
|
|
vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR(vkGetDeviceProcAddr(device, "vkGetDeferredOperationResultKHR"));
|
|
vkDeferredOperationJoinKHR = PFN_vkDeferredOperationJoinKHR(vkGetDeviceProcAddr(device, "vkDeferredOperationJoinKHR"));
|
|
|
|
//=== VK_KHR_descriptor_update_template ===
|
|
vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR(vkGetDeviceProcAddr(device, "vkCreateDescriptorUpdateTemplateKHR"));
|
|
if(!vkCreateDescriptorUpdateTemplate)
|
|
vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
|
|
vkDestroyDescriptorUpdateTemplateKHR =
|
|
PFN_vkDestroyDescriptorUpdateTemplateKHR(vkGetDeviceProcAddr(device, "vkDestroyDescriptorUpdateTemplateKHR"));
|
|
if(!vkDestroyDescriptorUpdateTemplate)
|
|
vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
|
|
vkUpdateDescriptorSetWithTemplateKHR =
|
|
PFN_vkUpdateDescriptorSetWithTemplateKHR(vkGetDeviceProcAddr(device, "vkUpdateDescriptorSetWithTemplateKHR"));
|
|
if(!vkUpdateDescriptorSetWithTemplate)
|
|
vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
|
|
vkCmdPushDescriptorSetWithTemplateKHR =
|
|
PFN_vkCmdPushDescriptorSetWithTemplateKHR(vkGetDeviceProcAddr(device, "vkCmdPushDescriptorSetWithTemplateKHR"));
|
|
|
|
//=== VK_KHR_device_group ===
|
|
vkGetDeviceGroupPeerMemoryFeaturesKHR =
|
|
PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(vkGetDeviceProcAddr(device, "vkGetDeviceGroupPeerMemoryFeaturesKHR"));
|
|
if(!vkGetDeviceGroupPeerMemoryFeatures)
|
|
vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
|
|
vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR(vkGetDeviceProcAddr(device, "vkCmdSetDeviceMaskKHR"));
|
|
if(!vkCmdSetDeviceMask)
|
|
vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
|
|
vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR(vkGetDeviceProcAddr(device, "vkCmdDispatchBaseKHR"));
|
|
if(!vkCmdDispatchBase)
|
|
vkCmdDispatchBase = vkCmdDispatchBaseKHR;
|
|
vkGetDeviceGroupPresentCapabilitiesKHR =
|
|
PFN_vkGetDeviceGroupPresentCapabilitiesKHR(vkGetDeviceProcAddr(device, "vkGetDeviceGroupPresentCapabilitiesKHR"));
|
|
vkGetDeviceGroupSurfacePresentModesKHR =
|
|
PFN_vkGetDeviceGroupSurfacePresentModesKHR(vkGetDeviceProcAddr(device, "vkGetDeviceGroupSurfacePresentModesKHR"));
|
|
vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR(vkGetDeviceProcAddr(device, "vkAcquireNextImage2KHR"));
|
|
|
|
//=== VK_KHR_display_swapchain ===
|
|
vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR(vkGetDeviceProcAddr(device, "vkCreateSharedSwapchainsKHR"));
|
|
|
|
//=== VK_KHR_draw_indirect_count ===
|
|
vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR(vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCountKHR"));
|
|
if(!vkCmdDrawIndirectCount)
|
|
vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
|
|
vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR(vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirectCountKHR"));
|
|
if(!vkCmdDrawIndexedIndirectCount)
|
|
vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
|
|
|
|
//=== VK_KHR_dynamic_rendering ===
|
|
vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR(vkGetDeviceProcAddr(device, "vkCmdBeginRenderingKHR"));
|
|
if(!vkCmdBeginRendering)
|
|
vkCmdBeginRendering = vkCmdBeginRenderingKHR;
|
|
vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR(vkGetDeviceProcAddr(device, "vkCmdEndRenderingKHR"));
|
|
if(!vkCmdEndRendering)
|
|
vkCmdEndRendering = vkCmdEndRenderingKHR;
|
|
|
|
//=== VK_KHR_external_fence_fd ===
|
|
vkImportFenceFdKHR = PFN_vkImportFenceFdKHR(vkGetDeviceProcAddr(device, "vkImportFenceFdKHR"));
|
|
vkGetFenceFdKHR = PFN_vkGetFenceFdKHR(vkGetDeviceProcAddr(device, "vkGetFenceFdKHR"));
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_fence_win32 ===
|
|
vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR(vkGetDeviceProcAddr(device, "vkImportFenceWin32HandleKHR"));
|
|
vkGetFenceWin32HandleKHR = PFN_vkGetFenceWin32HandleKHR(vkGetDeviceProcAddr(device, "vkGetFenceWin32HandleKHR"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_memory_fd ===
|
|
vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR(vkGetDeviceProcAddr(device, "vkGetMemoryFdKHR"));
|
|
vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR(vkGetDeviceProcAddr(device, "vkGetMemoryFdPropertiesKHR"));
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_memory_win32 ===
|
|
vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR(vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR"));
|
|
vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR(vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandlePropertiesKHR"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_semaphore_fd ===
|
|
vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR(vkGetDeviceProcAddr(device, "vkImportSemaphoreFdKHR"));
|
|
vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR(vkGetDeviceProcAddr(device, "vkGetSemaphoreFdKHR"));
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_semaphore_win32 ===
|
|
vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR(vkGetDeviceProcAddr(device, "vkImportSemaphoreWin32HandleKHR"));
|
|
vkGetSemaphoreWin32HandleKHR = PFN_vkGetSemaphoreWin32HandleKHR(vkGetDeviceProcAddr(device, "vkGetSemaphoreWin32HandleKHR"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR(vkGetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateKHR"));
|
|
|
|
//=== VK_KHR_get_memory_requirements2 ===
|
|
vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR(vkGetDeviceProcAddr(device, "vkGetImageMemoryRequirements2KHR"));
|
|
if(!vkGetImageMemoryRequirements2)
|
|
vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
|
|
vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR(vkGetDeviceProcAddr(device, "vkGetBufferMemoryRequirements2KHR"));
|
|
if(!vkGetBufferMemoryRequirements2)
|
|
vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
|
|
vkGetImageSparseMemoryRequirements2KHR =
|
|
PFN_vkGetImageSparseMemoryRequirements2KHR(vkGetDeviceProcAddr(device, "vkGetImageSparseMemoryRequirements2KHR"));
|
|
if(!vkGetImageSparseMemoryRequirements2)
|
|
vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
|
|
|
|
//=== VK_KHR_maintenance1 ===
|
|
vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR(vkGetDeviceProcAddr(device, "vkTrimCommandPoolKHR"));
|
|
if(!vkTrimCommandPool)
|
|
vkTrimCommandPool = vkTrimCommandPoolKHR;
|
|
|
|
//=== VK_KHR_maintenance3 ===
|
|
vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(vkGetDeviceProcAddr(device, "vkGetDescriptorSetLayoutSupportKHR"));
|
|
if(!vkGetDescriptorSetLayoutSupport)
|
|
vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
|
|
|
|
//=== VK_KHR_maintenance4 ===
|
|
vkGetDeviceBufferMemoryRequirementsKHR =
|
|
PFN_vkGetDeviceBufferMemoryRequirementsKHR(vkGetDeviceProcAddr(device, "vkGetDeviceBufferMemoryRequirementsKHR"));
|
|
if(!vkGetDeviceBufferMemoryRequirements)
|
|
vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
|
|
vkGetDeviceImageMemoryRequirementsKHR =
|
|
PFN_vkGetDeviceImageMemoryRequirementsKHR(vkGetDeviceProcAddr(device, "vkGetDeviceImageMemoryRequirementsKHR"));
|
|
if(!vkGetDeviceImageMemoryRequirements)
|
|
vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
|
|
vkGetDeviceImageSparseMemoryRequirementsKHR =
|
|
PFN_vkGetDeviceImageSparseMemoryRequirementsKHR(vkGetDeviceProcAddr(device, "vkGetDeviceImageSparseMemoryRequirementsKHR"));
|
|
if(!vkGetDeviceImageSparseMemoryRequirements)
|
|
vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR(vkGetDeviceProcAddr(device, "vkAcquireProfilingLockKHR"));
|
|
vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR(vkGetDeviceProcAddr(device, "vkReleaseProfilingLockKHR"));
|
|
|
|
//=== VK_KHR_pipeline_executable_properties ===
|
|
vkGetPipelineExecutablePropertiesKHR =
|
|
PFN_vkGetPipelineExecutablePropertiesKHR(vkGetDeviceProcAddr(device, "vkGetPipelineExecutablePropertiesKHR"));
|
|
vkGetPipelineExecutableStatisticsKHR =
|
|
PFN_vkGetPipelineExecutableStatisticsKHR(vkGetDeviceProcAddr(device, "vkGetPipelineExecutableStatisticsKHR"));
|
|
vkGetPipelineExecutableInternalRepresentationsKHR =
|
|
PFN_vkGetPipelineExecutableInternalRepresentationsKHR(vkGetDeviceProcAddr(device, "vkGetPipelineExecutableInternalRepresentationsKHR"));
|
|
|
|
//=== VK_KHR_present_wait ===
|
|
vkWaitForPresentKHR = PFN_vkWaitForPresentKHR(vkGetDeviceProcAddr(device, "vkWaitForPresentKHR"));
|
|
|
|
//=== VK_KHR_push_descriptor ===
|
|
vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR(vkGetDeviceProcAddr(device, "vkCmdPushDescriptorSetKHR"));
|
|
|
|
//=== VK_KHR_ray_tracing_pipeline ===
|
|
vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR(vkGetDeviceProcAddr(device, "vkCmdTraceRaysKHR"));
|
|
vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR(vkGetDeviceProcAddr(device, "vkCreateRayTracingPipelinesKHR"));
|
|
vkGetRayTracingShaderGroupHandlesKHR =
|
|
PFN_vkGetRayTracingShaderGroupHandlesKHR(vkGetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesKHR"));
|
|
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
|
|
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(vkGetDeviceProcAddr(device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"));
|
|
vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR(vkGetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR"));
|
|
vkGetRayTracingShaderGroupStackSizeKHR =
|
|
PFN_vkGetRayTracingShaderGroupStackSizeKHR(vkGetDeviceProcAddr(device, "vkGetRayTracingShaderGroupStackSizeKHR"));
|
|
vkCmdSetRayTracingPipelineStackSizeKHR =
|
|
PFN_vkCmdSetRayTracingPipelineStackSizeKHR(vkGetDeviceProcAddr(device, "vkCmdSetRayTracingPipelineStackSizeKHR"));
|
|
|
|
//=== VK_KHR_sampler_ycbcr_conversion ===
|
|
vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR(vkGetDeviceProcAddr(device, "vkCreateSamplerYcbcrConversionKHR"));
|
|
if(!vkCreateSamplerYcbcrConversion)
|
|
vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
|
|
vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(vkGetDeviceProcAddr(device, "vkDestroySamplerYcbcrConversionKHR"));
|
|
if(!vkDestroySamplerYcbcrConversion)
|
|
vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
|
|
|
|
//=== VK_KHR_shared_presentable_image ===
|
|
vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR(vkGetDeviceProcAddr(device, "vkGetSwapchainStatusKHR"));
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR(vkGetDeviceProcAddr(device, "vkCreateSwapchainKHR"));
|
|
vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR(vkGetDeviceProcAddr(device, "vkDestroySwapchainKHR"));
|
|
vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR(vkGetDeviceProcAddr(device, "vkGetSwapchainImagesKHR"));
|
|
vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR(vkGetDeviceProcAddr(device, "vkAcquireNextImageKHR"));
|
|
vkQueuePresentKHR = PFN_vkQueuePresentKHR(vkGetDeviceProcAddr(device, "vkQueuePresentKHR"));
|
|
|
|
//=== VK_KHR_synchronization2 ===
|
|
vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR(vkGetDeviceProcAddr(device, "vkCmdSetEvent2KHR"));
|
|
if(!vkCmdSetEvent2)
|
|
vkCmdSetEvent2 = vkCmdSetEvent2KHR;
|
|
vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR(vkGetDeviceProcAddr(device, "vkCmdResetEvent2KHR"));
|
|
if(!vkCmdResetEvent2)
|
|
vkCmdResetEvent2 = vkCmdResetEvent2KHR;
|
|
vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR(vkGetDeviceProcAddr(device, "vkCmdWaitEvents2KHR"));
|
|
if(!vkCmdWaitEvents2)
|
|
vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
|
|
vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR(vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR"));
|
|
if(!vkCmdPipelineBarrier2)
|
|
vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
|
|
vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR(vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR"));
|
|
if(!vkCmdWriteTimestamp2)
|
|
vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
|
|
vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR(vkGetDeviceProcAddr(device, "vkQueueSubmit2KHR"));
|
|
if(!vkQueueSubmit2)
|
|
vkQueueSubmit2 = vkQueueSubmit2KHR;
|
|
vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD(vkGetDeviceProcAddr(device, "vkCmdWriteBufferMarker2AMD"));
|
|
vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV(vkGetDeviceProcAddr(device, "vkGetQueueCheckpointData2NV"));
|
|
|
|
//=== VK_KHR_timeline_semaphore ===
|
|
vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR(vkGetDeviceProcAddr(device, "vkGetSemaphoreCounterValueKHR"));
|
|
if(!vkGetSemaphoreCounterValue)
|
|
vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
|
|
vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR(vkGetDeviceProcAddr(device, "vkWaitSemaphoresKHR"));
|
|
if(!vkWaitSemaphores)
|
|
vkWaitSemaphores = vkWaitSemaphoresKHR;
|
|
vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR(vkGetDeviceProcAddr(device, "vkSignalSemaphoreKHR"));
|
|
if(!vkSignalSemaphore)
|
|
vkSignalSemaphore = vkSignalSemaphoreKHR;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_decode_queue ===
|
|
vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR(vkGetDeviceProcAddr(device, "vkCmdDecodeVideoKHR"));
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_encode_queue ===
|
|
vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR(vkGetDeviceProcAddr(device, "vkCmdEncodeVideoKHR"));
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
vkCreateVideoSessionKHR = PFN_vkCreateVideoSessionKHR(vkGetDeviceProcAddr(device, "vkCreateVideoSessionKHR"));
|
|
vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR(vkGetDeviceProcAddr(device, "vkDestroyVideoSessionKHR"));
|
|
vkGetVideoSessionMemoryRequirementsKHR =
|
|
PFN_vkGetVideoSessionMemoryRequirementsKHR(vkGetDeviceProcAddr(device, "vkGetVideoSessionMemoryRequirementsKHR"));
|
|
vkBindVideoSessionMemoryKHR = PFN_vkBindVideoSessionMemoryKHR(vkGetDeviceProcAddr(device, "vkBindVideoSessionMemoryKHR"));
|
|
vkCreateVideoSessionParametersKHR = PFN_vkCreateVideoSessionParametersKHR(vkGetDeviceProcAddr(device, "vkCreateVideoSessionParametersKHR"));
|
|
vkUpdateVideoSessionParametersKHR = PFN_vkUpdateVideoSessionParametersKHR(vkGetDeviceProcAddr(device, "vkUpdateVideoSessionParametersKHR"));
|
|
vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR(vkGetDeviceProcAddr(device, "vkDestroyVideoSessionParametersKHR"));
|
|
vkCmdBeginVideoCodingKHR = PFN_vkCmdBeginVideoCodingKHR(vkGetDeviceProcAddr(device, "vkCmdBeginVideoCodingKHR"));
|
|
vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR(vkGetDeviceProcAddr(device, "vkCmdEndVideoCodingKHR"));
|
|
vkCmdControlVideoCodingKHR = PFN_vkCmdControlVideoCodingKHR(vkGetDeviceProcAddr(device, "vkCmdControlVideoCodingKHR"));
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_NVX_binary_import ===
|
|
vkCreateCuModuleNVX = PFN_vkCreateCuModuleNVX(vkGetDeviceProcAddr(device, "vkCreateCuModuleNVX"));
|
|
vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX(vkGetDeviceProcAddr(device, "vkCreateCuFunctionNVX"));
|
|
vkDestroyCuModuleNVX = PFN_vkDestroyCuModuleNVX(vkGetDeviceProcAddr(device, "vkDestroyCuModuleNVX"));
|
|
vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX(vkGetDeviceProcAddr(device, "vkDestroyCuFunctionNVX"));
|
|
vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX(vkGetDeviceProcAddr(device, "vkCmdCuLaunchKernelNVX"));
|
|
|
|
//=== VK_NVX_image_view_handle ===
|
|
vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX(vkGetDeviceProcAddr(device, "vkGetImageViewHandleNVX"));
|
|
vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX(vkGetDeviceProcAddr(device, "vkGetImageViewAddressNVX"));
|
|
|
|
//=== VK_NV_clip_space_w_scaling ===
|
|
vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV(vkGetDeviceProcAddr(device, "vkCmdSetViewportWScalingNV"));
|
|
|
|
//=== VK_NV_device_diagnostic_checkpoints ===
|
|
vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV(vkGetDeviceProcAddr(device, "vkCmdSetCheckpointNV"));
|
|
vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV(vkGetDeviceProcAddr(device, "vkGetQueueCheckpointDataNV"));
|
|
|
|
//=== VK_NV_device_generated_commands ===
|
|
vkGetGeneratedCommandsMemoryRequirementsNV =
|
|
PFN_vkGetGeneratedCommandsMemoryRequirementsNV(vkGetDeviceProcAddr(device, "vkGetGeneratedCommandsMemoryRequirementsNV"));
|
|
vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV(vkGetDeviceProcAddr(device, "vkCmdPreprocessGeneratedCommandsNV"));
|
|
vkCmdExecuteGeneratedCommandsNV = PFN_vkCmdExecuteGeneratedCommandsNV(vkGetDeviceProcAddr(device, "vkCmdExecuteGeneratedCommandsNV"));
|
|
vkCmdBindPipelineShaderGroupNV = PFN_vkCmdBindPipelineShaderGroupNV(vkGetDeviceProcAddr(device, "vkCmdBindPipelineShaderGroupNV"));
|
|
vkCreateIndirectCommandsLayoutNV = PFN_vkCreateIndirectCommandsLayoutNV(vkGetDeviceProcAddr(device, "vkCreateIndirectCommandsLayoutNV"));
|
|
vkDestroyIndirectCommandsLayoutNV = PFN_vkDestroyIndirectCommandsLayoutNV(vkGetDeviceProcAddr(device, "vkDestroyIndirectCommandsLayoutNV"));
|
|
|
|
//=== VK_NV_external_memory_rdma ===
|
|
vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV(vkGetDeviceProcAddr(device, "vkGetMemoryRemoteAddressNV"));
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_external_memory_win32 ===
|
|
vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV(vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandleNV"));
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_NV_fragment_shading_rate_enums ===
|
|
vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV(vkGetDeviceProcAddr(device, "vkCmdSetFragmentShadingRateEnumNV"));
|
|
|
|
//=== VK_NV_mesh_shader ===
|
|
vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV(vkGetDeviceProcAddr(device, "vkCmdDrawMeshTasksNV"));
|
|
vkCmdDrawMeshTasksIndirectNV = PFN_vkCmdDrawMeshTasksIndirectNV(vkGetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectNV"));
|
|
vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV(vkGetDeviceProcAddr(device, "vkCmdDrawMeshTasksIndirectCountNV"));
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
vkCreateAccelerationStructureNV = PFN_vkCreateAccelerationStructureNV(vkGetDeviceProcAddr(device, "vkCreateAccelerationStructureNV"));
|
|
vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV(vkGetDeviceProcAddr(device, "vkDestroyAccelerationStructureNV"));
|
|
vkGetAccelerationStructureMemoryRequirementsNV =
|
|
PFN_vkGetAccelerationStructureMemoryRequirementsNV(vkGetDeviceProcAddr(device, "vkGetAccelerationStructureMemoryRequirementsNV"));
|
|
vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV(vkGetDeviceProcAddr(device, "vkBindAccelerationStructureMemoryNV"));
|
|
vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV(vkGetDeviceProcAddr(device, "vkCmdBuildAccelerationStructureNV"));
|
|
vkCmdCopyAccelerationStructureNV = PFN_vkCmdCopyAccelerationStructureNV(vkGetDeviceProcAddr(device, "vkCmdCopyAccelerationStructureNV"));
|
|
vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV(vkGetDeviceProcAddr(device, "vkCmdTraceRaysNV"));
|
|
vkCreateRayTracingPipelinesNV = PFN_vkCreateRayTracingPipelinesNV(vkGetDeviceProcAddr(device, "vkCreateRayTracingPipelinesNV"));
|
|
vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV(vkGetDeviceProcAddr(device, "vkGetRayTracingShaderGroupHandlesNV"));
|
|
if(!vkGetRayTracingShaderGroupHandlesKHR)
|
|
vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
|
|
vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV(vkGetDeviceProcAddr(device, "vkGetAccelerationStructureHandleNV"));
|
|
vkCmdWriteAccelerationStructuresPropertiesNV =
|
|
PFN_vkCmdWriteAccelerationStructuresPropertiesNV(vkGetDeviceProcAddr(device, "vkCmdWriteAccelerationStructuresPropertiesNV"));
|
|
vkCompileDeferredNV = PFN_vkCompileDeferredNV(vkGetDeviceProcAddr(device, "vkCompileDeferredNV"));
|
|
|
|
//=== VK_NV_scissor_exclusive ===
|
|
vkCmdSetExclusiveScissorNV = PFN_vkCmdSetExclusiveScissorNV(vkGetDeviceProcAddr(device, "vkCmdSetExclusiveScissorNV"));
|
|
|
|
//=== VK_NV_shading_rate_image ===
|
|
vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV(vkGetDeviceProcAddr(device, "vkCmdBindShadingRateImageNV"));
|
|
vkCmdSetViewportShadingRatePaletteNV =
|
|
PFN_vkCmdSetViewportShadingRatePaletteNV(vkGetDeviceProcAddr(device, "vkCmdSetViewportShadingRatePaletteNV"));
|
|
vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV(vkGetDeviceProcAddr(device, "vkCmdSetCoarseSampleOrderNV"));
|
|
|
|
//=== VK_VALVE_descriptor_set_host_mapping ===
|
|
vkGetDescriptorSetLayoutHostMappingInfoVALVE =
|
|
PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE(vkGetDeviceProcAddr(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE"));
|
|
vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE(vkGetDeviceProcAddr(device, "vkGetDescriptorSetHostMappingVALVE"));
|
|
}
|
|
|
|
public:
|
|
//=== VK_VERSION_1_0 ===
|
|
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr = 0;
|
|
PFN_vkDestroyDevice vkDestroyDevice = 0;
|
|
PFN_vkGetDeviceQueue vkGetDeviceQueue = 0;
|
|
PFN_vkQueueSubmit vkQueueSubmit = 0;
|
|
PFN_vkQueueWaitIdle vkQueueWaitIdle = 0;
|
|
PFN_vkDeviceWaitIdle vkDeviceWaitIdle = 0;
|
|
PFN_vkAllocateMemory vkAllocateMemory = 0;
|
|
PFN_vkFreeMemory vkFreeMemory = 0;
|
|
PFN_vkMapMemory vkMapMemory = 0;
|
|
PFN_vkUnmapMemory vkUnmapMemory = 0;
|
|
PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges = 0;
|
|
PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges = 0;
|
|
PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment = 0;
|
|
PFN_vkBindBufferMemory vkBindBufferMemory = 0;
|
|
PFN_vkBindImageMemory vkBindImageMemory = 0;
|
|
PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements = 0;
|
|
PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements = 0;
|
|
PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements = 0;
|
|
PFN_vkQueueBindSparse vkQueueBindSparse = 0;
|
|
PFN_vkCreateFence vkCreateFence = 0;
|
|
PFN_vkDestroyFence vkDestroyFence = 0;
|
|
PFN_vkResetFences vkResetFences = 0;
|
|
PFN_vkGetFenceStatus vkGetFenceStatus = 0;
|
|
PFN_vkWaitForFences vkWaitForFences = 0;
|
|
PFN_vkCreateSemaphore vkCreateSemaphore = 0;
|
|
PFN_vkDestroySemaphore vkDestroySemaphore = 0;
|
|
PFN_vkCreateEvent vkCreateEvent = 0;
|
|
PFN_vkDestroyEvent vkDestroyEvent = 0;
|
|
PFN_vkGetEventStatus vkGetEventStatus = 0;
|
|
PFN_vkSetEvent vkSetEvent = 0;
|
|
PFN_vkResetEvent vkResetEvent = 0;
|
|
PFN_vkCreateQueryPool vkCreateQueryPool = 0;
|
|
PFN_vkDestroyQueryPool vkDestroyQueryPool = 0;
|
|
PFN_vkGetQueryPoolResults vkGetQueryPoolResults = 0;
|
|
PFN_vkCreateBuffer vkCreateBuffer = 0;
|
|
PFN_vkDestroyBuffer vkDestroyBuffer = 0;
|
|
PFN_vkCreateBufferView vkCreateBufferView = 0;
|
|
PFN_vkDestroyBufferView vkDestroyBufferView = 0;
|
|
PFN_vkCreateImage vkCreateImage = 0;
|
|
PFN_vkDestroyImage vkDestroyImage = 0;
|
|
PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout = 0;
|
|
PFN_vkCreateImageView vkCreateImageView = 0;
|
|
PFN_vkDestroyImageView vkDestroyImageView = 0;
|
|
PFN_vkCreateShaderModule vkCreateShaderModule = 0;
|
|
PFN_vkDestroyShaderModule vkDestroyShaderModule = 0;
|
|
PFN_vkCreatePipelineCache vkCreatePipelineCache = 0;
|
|
PFN_vkDestroyPipelineCache vkDestroyPipelineCache = 0;
|
|
PFN_vkGetPipelineCacheData vkGetPipelineCacheData = 0;
|
|
PFN_vkMergePipelineCaches vkMergePipelineCaches = 0;
|
|
PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines = 0;
|
|
PFN_vkCreateComputePipelines vkCreateComputePipelines = 0;
|
|
PFN_vkDestroyPipeline vkDestroyPipeline = 0;
|
|
PFN_vkCreatePipelineLayout vkCreatePipelineLayout = 0;
|
|
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout = 0;
|
|
PFN_vkCreateSampler vkCreateSampler = 0;
|
|
PFN_vkDestroySampler vkDestroySampler = 0;
|
|
PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout = 0;
|
|
PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout = 0;
|
|
PFN_vkCreateDescriptorPool vkCreateDescriptorPool = 0;
|
|
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = 0;
|
|
PFN_vkResetDescriptorPool vkResetDescriptorPool = 0;
|
|
PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets = 0;
|
|
PFN_vkFreeDescriptorSets vkFreeDescriptorSets = 0;
|
|
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = 0;
|
|
PFN_vkCreateFramebuffer vkCreateFramebuffer = 0;
|
|
PFN_vkDestroyFramebuffer vkDestroyFramebuffer = 0;
|
|
PFN_vkCreateRenderPass vkCreateRenderPass = 0;
|
|
PFN_vkDestroyRenderPass vkDestroyRenderPass = 0;
|
|
PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity = 0;
|
|
PFN_vkCreateCommandPool vkCreateCommandPool = 0;
|
|
PFN_vkDestroyCommandPool vkDestroyCommandPool = 0;
|
|
PFN_vkResetCommandPool vkResetCommandPool = 0;
|
|
PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers = 0;
|
|
PFN_vkFreeCommandBuffers vkFreeCommandBuffers = 0;
|
|
PFN_vkBeginCommandBuffer vkBeginCommandBuffer = 0;
|
|
PFN_vkEndCommandBuffer vkEndCommandBuffer = 0;
|
|
PFN_vkResetCommandBuffer vkResetCommandBuffer = 0;
|
|
PFN_vkCmdBindPipeline vkCmdBindPipeline = 0;
|
|
PFN_vkCmdSetViewport vkCmdSetViewport = 0;
|
|
PFN_vkCmdSetScissor vkCmdSetScissor = 0;
|
|
PFN_vkCmdSetLineWidth vkCmdSetLineWidth = 0;
|
|
PFN_vkCmdSetDepthBias vkCmdSetDepthBias = 0;
|
|
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants = 0;
|
|
PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds = 0;
|
|
PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask = 0;
|
|
PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask = 0;
|
|
PFN_vkCmdSetStencilReference vkCmdSetStencilReference = 0;
|
|
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets = 0;
|
|
PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer = 0;
|
|
PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers = 0;
|
|
PFN_vkCmdDraw vkCmdDraw = 0;
|
|
PFN_vkCmdDrawIndexed vkCmdDrawIndexed = 0;
|
|
PFN_vkCmdDrawIndirect vkCmdDrawIndirect = 0;
|
|
PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect = 0;
|
|
PFN_vkCmdDispatch vkCmdDispatch = 0;
|
|
PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect = 0;
|
|
PFN_vkCmdCopyBuffer vkCmdCopyBuffer = 0;
|
|
PFN_vkCmdCopyImage vkCmdCopyImage = 0;
|
|
PFN_vkCmdBlitImage vkCmdBlitImage = 0;
|
|
PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage = 0;
|
|
PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer = 0;
|
|
PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer = 0;
|
|
PFN_vkCmdFillBuffer vkCmdFillBuffer = 0;
|
|
PFN_vkCmdClearColorImage vkCmdClearColorImage = 0;
|
|
PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage = 0;
|
|
PFN_vkCmdClearAttachments vkCmdClearAttachments = 0;
|
|
PFN_vkCmdResolveImage vkCmdResolveImage = 0;
|
|
PFN_vkCmdSetEvent vkCmdSetEvent = 0;
|
|
PFN_vkCmdResetEvent vkCmdResetEvent = 0;
|
|
PFN_vkCmdWaitEvents vkCmdWaitEvents = 0;
|
|
PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier = 0;
|
|
PFN_vkCmdBeginQuery vkCmdBeginQuery = 0;
|
|
PFN_vkCmdEndQuery vkCmdEndQuery = 0;
|
|
PFN_vkCmdResetQueryPool vkCmdResetQueryPool = 0;
|
|
PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp = 0;
|
|
PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults = 0;
|
|
PFN_vkCmdPushConstants vkCmdPushConstants = 0;
|
|
PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass = 0;
|
|
PFN_vkCmdNextSubpass vkCmdNextSubpass = 0;
|
|
PFN_vkCmdEndRenderPass vkCmdEndRenderPass = 0;
|
|
PFN_vkCmdExecuteCommands vkCmdExecuteCommands = 0;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
PFN_vkBindBufferMemory2 vkBindBufferMemory2 = 0;
|
|
PFN_vkBindImageMemory2 vkBindImageMemory2 = 0;
|
|
PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures = 0;
|
|
PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask = 0;
|
|
PFN_vkCmdDispatchBase vkCmdDispatchBase = 0;
|
|
PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 = 0;
|
|
PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 = 0;
|
|
PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 = 0;
|
|
PFN_vkTrimCommandPool vkTrimCommandPool = 0;
|
|
PFN_vkGetDeviceQueue2 vkGetDeviceQueue2 = 0;
|
|
PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion = 0;
|
|
PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion = 0;
|
|
PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate = 0;
|
|
PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate = 0;
|
|
PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate = 0;
|
|
PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport = 0;
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount = 0;
|
|
PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount = 0;
|
|
PFN_vkCreateRenderPass2 vkCreateRenderPass2 = 0;
|
|
PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2 = 0;
|
|
PFN_vkCmdNextSubpass2 vkCmdNextSubpass2 = 0;
|
|
PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2 = 0;
|
|
PFN_vkResetQueryPool vkResetQueryPool = 0;
|
|
PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue = 0;
|
|
PFN_vkWaitSemaphores vkWaitSemaphores = 0;
|
|
PFN_vkSignalSemaphore vkSignalSemaphore = 0;
|
|
PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress = 0;
|
|
PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress = 0;
|
|
PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot = 0;
|
|
PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot = 0;
|
|
PFN_vkSetPrivateData vkSetPrivateData = 0;
|
|
PFN_vkGetPrivateData vkGetPrivateData = 0;
|
|
PFN_vkCmdSetEvent2 vkCmdSetEvent2 = 0;
|
|
PFN_vkCmdResetEvent2 vkCmdResetEvent2 = 0;
|
|
PFN_vkCmdWaitEvents2 vkCmdWaitEvents2 = 0;
|
|
PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2 = 0;
|
|
PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2 = 0;
|
|
PFN_vkQueueSubmit2 vkQueueSubmit2 = 0;
|
|
PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2 = 0;
|
|
PFN_vkCmdCopyImage2 vkCmdCopyImage2 = 0;
|
|
PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2 = 0;
|
|
PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2 = 0;
|
|
PFN_vkCmdBlitImage2 vkCmdBlitImage2 = 0;
|
|
PFN_vkCmdResolveImage2 vkCmdResolveImage2 = 0;
|
|
PFN_vkCmdBeginRendering vkCmdBeginRendering = 0;
|
|
PFN_vkCmdEndRendering vkCmdEndRendering = 0;
|
|
PFN_vkCmdSetCullMode vkCmdSetCullMode = 0;
|
|
PFN_vkCmdSetFrontFace vkCmdSetFrontFace = 0;
|
|
PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology = 0;
|
|
PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount = 0;
|
|
PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount = 0;
|
|
PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2 = 0;
|
|
PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable = 0;
|
|
PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable = 0;
|
|
PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp = 0;
|
|
PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable = 0;
|
|
PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable = 0;
|
|
PFN_vkCmdSetStencilOp vkCmdSetStencilOp = 0;
|
|
PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable = 0;
|
|
PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable = 0;
|
|
PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable = 0;
|
|
PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements = 0;
|
|
PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements = 0;
|
|
PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
|
|
|
|
//=== VK_AMD_buffer_marker ===
|
|
PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
|
|
|
|
//=== VK_AMD_display_native_hdr ===
|
|
PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
|
|
|
|
//=== VK_AMD_draw_indirect_count ===
|
|
PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD = 0;
|
|
PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
|
|
|
|
//=== VK_AMD_shader_info ===
|
|
PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_ANDROID_external_memory_android_hardware_buffer ===
|
|
PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
|
|
PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0;
|
|
# else
|
|
PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder = 0;
|
|
PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
//=== VK_EXT_buffer_device_address ===
|
|
PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT = 0;
|
|
|
|
//=== VK_EXT_color_write_enable ===
|
|
PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
|
|
|
|
//=== VK_EXT_conditional_rendering ===
|
|
PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
|
|
PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT = 0;
|
|
|
|
//=== VK_EXT_debug_marker ===
|
|
PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT = 0;
|
|
PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
|
|
PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT = 0;
|
|
PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT = 0;
|
|
PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT = 0;
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT = 0;
|
|
PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT = 0;
|
|
PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT = 0;
|
|
PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT = 0;
|
|
PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
|
|
PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT = 0;
|
|
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT = 0;
|
|
PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT = 0;
|
|
|
|
//=== VK_EXT_discard_rectangles ===
|
|
PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0;
|
|
|
|
//=== VK_EXT_display_control ===
|
|
PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT = 0;
|
|
PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT = 0;
|
|
PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
|
|
PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT = 0;
|
|
|
|
//=== VK_EXT_extended_dynamic_state ===
|
|
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT = 0;
|
|
PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT = 0;
|
|
PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT = 0;
|
|
PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT = 0;
|
|
PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT = 0;
|
|
PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT = 0;
|
|
PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT = 0;
|
|
PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT = 0;
|
|
PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT = 0;
|
|
PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
|
|
PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT = 0;
|
|
PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT = 0;
|
|
|
|
//=== VK_EXT_extended_dynamic_state2 ===
|
|
PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT = 0;
|
|
PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
|
|
PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT = 0;
|
|
PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT = 0;
|
|
PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT = 0;
|
|
|
|
//=== VK_EXT_external_memory_host ===
|
|
PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = 0;
|
|
PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = 0;
|
|
PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT = 0;
|
|
# else
|
|
PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder = 0;
|
|
PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder = 0;
|
|
PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_hdr_metadata ===
|
|
PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
|
|
|
|
//=== VK_EXT_host_query_reset ===
|
|
PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
|
|
|
|
//=== VK_EXT_image_drm_format_modifier ===
|
|
PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
|
|
|
|
//=== VK_EXT_line_rasterization ===
|
|
PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
|
|
|
|
//=== VK_EXT_multi_draw ===
|
|
PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT = 0;
|
|
PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
|
|
|
|
//=== VK_EXT_pageable_device_local_memory ===
|
|
PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
|
|
|
|
//=== VK_EXT_private_data ===
|
|
PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT = 0;
|
|
PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
|
|
PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT = 0;
|
|
PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT = 0;
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT = 0;
|
|
|
|
//=== VK_EXT_transform_feedback ===
|
|
PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
|
|
PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT = 0;
|
|
PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT = 0;
|
|
PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT = 0;
|
|
PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT = 0;
|
|
PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT = 0;
|
|
|
|
//=== VK_EXT_validation_cache ===
|
|
PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT = 0;
|
|
PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
|
|
PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT = 0;
|
|
PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
|
|
|
|
//=== VK_EXT_vertex_input_dynamic_state ===
|
|
PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_buffer_collection ===
|
|
PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA = 0;
|
|
PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA = 0;
|
|
PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
|
|
PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA = 0;
|
|
PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA = 0;
|
|
# else
|
|
PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder = 0;
|
|
PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder = 0;
|
|
PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder = 0;
|
|
PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder = 0;
|
|
PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_memory ===
|
|
PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0;
|
|
PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
|
|
# else
|
|
PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder = 0;
|
|
PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_semaphore ===
|
|
PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
|
|
PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0;
|
|
# else
|
|
PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder = 0;
|
|
PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
//=== VK_GOOGLE_display_timing ===
|
|
PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE = 0;
|
|
PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
|
|
|
|
//=== VK_HUAWEI_invocation_mask ===
|
|
PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
|
|
|
|
//=== VK_HUAWEI_subpass_shading ===
|
|
PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
|
|
PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI = 0;
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL = 0;
|
|
PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL = 0;
|
|
PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL = 0;
|
|
PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL = 0;
|
|
PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL = 0;
|
|
PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL = 0;
|
|
PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL = 0;
|
|
PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
|
|
PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL = 0;
|
|
|
|
//=== VK_KHR_acceleration_structure ===
|
|
PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR = 0;
|
|
PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR = 0;
|
|
PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR = 0;
|
|
PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR = 0;
|
|
PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR = 0;
|
|
PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR = 0;
|
|
PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR = 0;
|
|
PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR = 0;
|
|
PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR = 0;
|
|
PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR = 0;
|
|
PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR = 0;
|
|
PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR = 0;
|
|
PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR = 0;
|
|
PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR = 0;
|
|
PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
|
|
PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR = 0;
|
|
|
|
//=== VK_KHR_bind_memory2 ===
|
|
PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
|
|
PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR = 0;
|
|
|
|
//=== VK_KHR_buffer_device_address ===
|
|
PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR = 0;
|
|
PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR = 0;
|
|
PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
|
|
|
|
//=== VK_KHR_copy_commands2 ===
|
|
PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR = 0;
|
|
PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR = 0;
|
|
PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
|
|
PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
|
|
PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR = 0;
|
|
PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR = 0;
|
|
|
|
//=== VK_KHR_create_renderpass2 ===
|
|
PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR = 0;
|
|
PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
|
|
PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR = 0;
|
|
PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR = 0;
|
|
|
|
//=== VK_KHR_deferred_host_operations ===
|
|
PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR = 0;
|
|
PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR = 0;
|
|
PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
|
|
PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR = 0;
|
|
PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR = 0;
|
|
|
|
//=== VK_KHR_descriptor_update_template ===
|
|
PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR = 0;
|
|
PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
|
|
PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
|
|
PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
|
|
|
|
//=== VK_KHR_device_group ===
|
|
PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
|
|
PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR = 0;
|
|
PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR = 0;
|
|
PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR = 0;
|
|
PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR = 0;
|
|
PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR = 0;
|
|
|
|
//=== VK_KHR_display_swapchain ===
|
|
PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
|
|
|
|
//=== VK_KHR_draw_indirect_count ===
|
|
PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR = 0;
|
|
PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
|
|
|
|
//=== VK_KHR_dynamic_rendering ===
|
|
PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
|
|
PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR = 0;
|
|
|
|
//=== VK_KHR_external_fence_fd ===
|
|
PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
|
|
PFN_vkGetFenceFdKHR vkGetFenceFdKHR = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_fence_win32 ===
|
|
PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
|
|
PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0;
|
|
# else
|
|
PFN_dummy vkImportFenceWin32HandleKHR_placeholder = 0;
|
|
PFN_dummy vkGetFenceWin32HandleKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_memory_fd ===
|
|
PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR = 0;
|
|
PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_memory_win32 ===
|
|
PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0;
|
|
PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
|
|
# else
|
|
PFN_dummy vkGetMemoryWin32HandleKHR_placeholder = 0;
|
|
PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_semaphore_fd ===
|
|
PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
|
|
PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_semaphore_win32 ===
|
|
PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
|
|
PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0;
|
|
# else
|
|
PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder = 0;
|
|
PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR = 0;
|
|
|
|
//=== VK_KHR_get_memory_requirements2 ===
|
|
PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR = 0;
|
|
PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR = 0;
|
|
PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
|
|
|
|
//=== VK_KHR_maintenance1 ===
|
|
PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
|
|
|
|
//=== VK_KHR_maintenance3 ===
|
|
PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
|
|
|
|
//=== VK_KHR_maintenance4 ===
|
|
PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR = 0;
|
|
PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR = 0;
|
|
PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR = 0;
|
|
PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR = 0;
|
|
|
|
//=== VK_KHR_pipeline_executable_properties ===
|
|
PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR = 0;
|
|
PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR = 0;
|
|
PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
|
|
|
|
//=== VK_KHR_present_wait ===
|
|
PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
|
|
|
|
//=== VK_KHR_push_descriptor ===
|
|
PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR = 0;
|
|
|
|
//=== VK_KHR_ray_tracing_pipeline ===
|
|
PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR = 0;
|
|
PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR = 0;
|
|
PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR = 0;
|
|
PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
|
|
PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR = 0;
|
|
PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR = 0;
|
|
PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR = 0;
|
|
|
|
//=== VK_KHR_sampler_ycbcr_conversion ===
|
|
PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0;
|
|
PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
|
|
|
|
//=== VK_KHR_shared_presentable_image ===
|
|
PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR = 0;
|
|
PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = 0;
|
|
PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR = 0;
|
|
PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR = 0;
|
|
PFN_vkQueuePresentKHR vkQueuePresentKHR = 0;
|
|
|
|
//=== VK_KHR_synchronization2 ===
|
|
PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR = 0;
|
|
PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR = 0;
|
|
PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR = 0;
|
|
PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0;
|
|
PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR = 0;
|
|
PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR = 0;
|
|
PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0;
|
|
PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
|
|
|
|
//=== VK_KHR_timeline_semaphore ===
|
|
PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
|
|
PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR = 0;
|
|
PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR = 0;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_decode_queue ===
|
|
PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
|
|
# else
|
|
PFN_dummy vkCmdDecodeVideoKHR_placeholder = 0;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_encode_queue ===
|
|
PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR = 0;
|
|
# else
|
|
PFN_dummy vkCmdEncodeVideoKHR_placeholder = 0;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR = 0;
|
|
PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR = 0;
|
|
PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR = 0;
|
|
PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR = 0;
|
|
PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR = 0;
|
|
PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR = 0;
|
|
PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR = 0;
|
|
PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR = 0;
|
|
PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR = 0;
|
|
PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR = 0;
|
|
# else
|
|
PFN_dummy vkCreateVideoSessionKHR_placeholder = 0;
|
|
PFN_dummy vkDestroyVideoSessionKHR_placeholder = 0;
|
|
PFN_dummy vkGetVideoSessionMemoryRequirementsKHR_placeholder = 0;
|
|
PFN_dummy vkBindVideoSessionMemoryKHR_placeholder = 0;
|
|
PFN_dummy vkCreateVideoSessionParametersKHR_placeholder = 0;
|
|
PFN_dummy vkUpdateVideoSessionParametersKHR_placeholder = 0;
|
|
PFN_dummy vkDestroyVideoSessionParametersKHR_placeholder = 0;
|
|
PFN_dummy vkCmdBeginVideoCodingKHR_placeholder = 0;
|
|
PFN_dummy vkCmdEndVideoCodingKHR_placeholder = 0;
|
|
PFN_dummy vkCmdControlVideoCodingKHR_placeholder = 0;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_NVX_binary_import ===
|
|
PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX = 0;
|
|
PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX = 0;
|
|
PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX = 0;
|
|
PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
|
|
PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
|
|
|
|
//=== VK_NVX_image_view_handle ===
|
|
PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX = 0;
|
|
PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
|
|
|
|
//=== VK_NV_clip_space_w_scaling ===
|
|
PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
|
|
|
|
//=== VK_NV_device_diagnostic_checkpoints ===
|
|
PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0;
|
|
PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
|
|
|
|
//=== VK_NV_device_generated_commands ===
|
|
PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
|
|
PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV = 0;
|
|
PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV = 0;
|
|
PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV = 0;
|
|
PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV = 0;
|
|
PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV = 0;
|
|
|
|
//=== VK_NV_external_memory_rdma ===
|
|
PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_external_memory_win32 ===
|
|
PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
|
|
# else
|
|
PFN_dummy vkGetMemoryWin32HandleNV_placeholder = 0;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_NV_fragment_shading_rate_enums ===
|
|
PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
|
|
|
|
//=== VK_NV_mesh_shader ===
|
|
PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV = 0;
|
|
PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV = 0;
|
|
PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV = 0;
|
|
PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV = 0;
|
|
PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
|
|
PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV = 0;
|
|
PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV = 0;
|
|
PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV = 0;
|
|
PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV = 0;
|
|
PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV = 0;
|
|
PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV = 0;
|
|
PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV = 0;
|
|
PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV = 0;
|
|
PFN_vkCompileDeferredNV vkCompileDeferredNV = 0;
|
|
|
|
//=== VK_NV_scissor_exclusive ===
|
|
PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0;
|
|
|
|
//=== VK_NV_shading_rate_image ===
|
|
PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV = 0;
|
|
PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
|
|
PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV = 0;
|
|
|
|
//=== VK_VALVE_descriptor_set_host_mapping ===
|
|
PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
|
|
PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE = 0;
|
|
};
|
|
|
|
//========================================
|
|
//=== RAII HANDLE forward declarations ===
|
|
//========================================
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
class Instance;
|
|
class PhysicalDevice;
|
|
class Device;
|
|
class Queue;
|
|
class DeviceMemory;
|
|
class Fence;
|
|
class Semaphore;
|
|
class Event;
|
|
class QueryPool;
|
|
class Buffer;
|
|
class BufferView;
|
|
class Image;
|
|
class ImageView;
|
|
class ShaderModule;
|
|
class PipelineCache;
|
|
class Pipeline;
|
|
class PipelineLayout;
|
|
class Sampler;
|
|
class DescriptorPool;
|
|
class DescriptorSet;
|
|
class DescriptorSetLayout;
|
|
class Framebuffer;
|
|
class RenderPass;
|
|
class CommandPool;
|
|
class CommandBuffer;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
class SamplerYcbcrConversion;
|
|
class DescriptorUpdateTemplate;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
class PrivateDataSlot;
|
|
|
|
//=== VK_KHR_surface ===
|
|
class SurfaceKHR;
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
class SwapchainKHR;
|
|
|
|
//=== VK_KHR_display ===
|
|
class DisplayKHR;
|
|
class DisplayModeKHR;
|
|
|
|
//=== VK_EXT_debug_report ===
|
|
class DebugReportCallbackEXT;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
class VideoSessionKHR;
|
|
class VideoSessionParametersKHR;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_NVX_binary_import ===
|
|
class CuModuleNVX;
|
|
class CuFunctionNVX;
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
class DebugUtilsMessengerEXT;
|
|
|
|
//=== VK_KHR_acceleration_structure ===
|
|
class AccelerationStructureKHR;
|
|
|
|
//=== VK_EXT_validation_cache ===
|
|
class ValidationCacheEXT;
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
class AccelerationStructureNV;
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
class PerformanceConfigurationINTEL;
|
|
|
|
//=== VK_KHR_deferred_host_operations ===
|
|
class DeferredOperationKHR;
|
|
|
|
//=== VK_NV_device_generated_commands ===
|
|
class IndirectCommandsLayoutNV;
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_buffer_collection ===
|
|
class BufferCollectionFUCHSIA;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
//====================
|
|
//=== RAII HANDLES ===
|
|
//====================
|
|
|
|
class Context
|
|
{
|
|
public:
|
|
# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
|
|
Context()
|
|
: m_dispatcher(new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher(
|
|
m_dynamicLoader.getProcAddress<PFN_vkGetInstanceProcAddr>("vkGetInstanceProcAddr")))
|
|
# else
|
|
Context(PFN_vkGetInstanceProcAddr getInstanceProcAddr)
|
|
: m_dispatcher(new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher(getInstanceProcAddr))
|
|
# endif
|
|
{
|
|
}
|
|
|
|
~Context() = default;
|
|
|
|
Context(Context const &) = delete;
|
|
Context(Context &&rhs) VULKAN_HPP_NOEXCEPT
|
|
# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
|
|
: m_dynamicLoader(std::move(rhs.m_dynamicLoader)),
|
|
m_dispatcher(rhs.m_dispatcher.release())
|
|
# else
|
|
: m_dispatcher(rhs.m_dispatcher.release())
|
|
# endif
|
|
{
|
|
}
|
|
Context &operator=(Context const &) = delete;
|
|
Context &operator=(Context &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
|
|
m_dynamicLoader = std::move(rhs.m_dynamicLoader);
|
|
# endif
|
|
m_dispatcher.reset(rhs.m_dispatcher.release());
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return &*m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context &rhs)
|
|
{
|
|
# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
|
|
std::swap(m_dynamicLoader, rhs.m_dynamicLoader);
|
|
# endif
|
|
m_dispatcher.swap(rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Instance
|
|
createInstance(VULKAN_HPP_NAMESPACE::InstanceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties>
|
|
enumerateInstanceExtensionProperties(Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> enumerateInstanceLayerProperties() const;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
VULKAN_HPP_NODISCARD uint32_t enumerateInstanceVersion() const;
|
|
|
|
private:
|
|
# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
|
|
VULKAN_HPP_NAMESPACE::DynamicLoader m_dynamicLoader;
|
|
# endif
|
|
std::unique_ptr<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher> m_dispatcher;
|
|
};
|
|
|
|
class Instance
|
|
{
|
|
public:
|
|
using CType = VkInstance;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eInstance;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eInstance;
|
|
|
|
public:
|
|
Instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const &context,
|
|
VULKAN_HPP_NAMESPACE::InstanceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(context.getDispatcher()->vkCreateInstance(reinterpret_cast<const VkInstanceCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkInstance *>(&m_instance)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateInstance");
|
|
}
|
|
m_dispatcher.reset(new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher(context.getDispatcher()->vkGetInstanceProcAddr,
|
|
static_cast<VkInstance>(m_instance)));
|
|
}
|
|
|
|
Instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Context const &context,
|
|
VkInstance instance,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
{
|
|
m_dispatcher.reset(new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher(context.getDispatcher()->vkGetInstanceProcAddr,
|
|
static_cast<VkInstance>(m_instance)));
|
|
}
|
|
|
|
Instance(std::nullptr_t) {}
|
|
|
|
~Instance()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Instance() = delete;
|
|
Instance(Instance const &) = delete;
|
|
Instance(Instance &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(rhs.m_dispatcher.release())
|
|
{
|
|
}
|
|
Instance &operator=(Instance const &) = delete;
|
|
Instance &operator=(Instance &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher.reset(rhs.m_dispatcher.release());
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Instance const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_instance;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_instance)
|
|
{
|
|
getDispatcher()->vkDestroyInstance(static_cast<VkInstance>(m_instance), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_instance = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return &*m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_instance, rhs.m_instance);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice> enumeratePhysicalDevices() const;
|
|
|
|
VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr(const std::string &name) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> enumeratePhysicalDeviceGroups() const;
|
|
|
|
//=== VK_KHR_display ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createDisplayPlaneSurfaceKHR(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
//=== VK_KHR_xlib_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createXlibSurfaceKHR(VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XCB_KHR)
|
|
//=== VK_KHR_xcb_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createXcbSurfaceKHR(VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_XCB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
|
//=== VK_KHR_wayland_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createWaylandSurfaceKHR(VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_KHR_android_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createAndroidSurfaceKHR(VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_win32_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createWin32SurfaceKHR(VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_debug_report ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT
|
|
createDebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void debugReportMessageEXT(VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,
|
|
uint64_t object,
|
|
size_t location,
|
|
int32_t messageCode,
|
|
const std::string &layerPrefix,
|
|
const std::string &message) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_USE_PLATFORM_GGP)
|
|
//=== VK_GGP_stream_descriptor_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createStreamDescriptorSurfaceGGP(VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_GGP*/
|
|
|
|
# if defined(VK_USE_PLATFORM_VI_NN)
|
|
//=== VK_NN_vi_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createViSurfaceNN(VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_VI_NN*/
|
|
|
|
//=== VK_KHR_device_group_creation ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> enumeratePhysicalDeviceGroupsKHR() const;
|
|
|
|
# if defined(VK_USE_PLATFORM_IOS_MVK)
|
|
//=== VK_MVK_ios_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createIOSSurfaceMVK(VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_IOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_MACOS_MVK)
|
|
//=== VK_MVK_macos_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createMacOSSurfaceMVK(VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_MACOS_MVK*/
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT
|
|
createDebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void submitDebugUtilsMessageEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
|
|
VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
|
|
const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT &callbackData) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_imagepipe_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createImagePipeSurfaceFUCHSIA(VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_METAL_EXT)
|
|
//=== VK_EXT_metal_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createMetalSurfaceEXT(VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
|
|
|
//=== VK_EXT_headless_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createHeadlessSurfaceEXT(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
|
|
//=== VK_EXT_directfb_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createDirectFBSurfaceEXT(VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
|
|
|
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
|
|
//=== VK_QNX_screen_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
createScreenSurfaceQNX(VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Instance m_instance = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
std::unique_ptr<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher> m_dispatcher;
|
|
};
|
|
|
|
class PhysicalDevice
|
|
{
|
|
public:
|
|
using CType = VkPhysicalDevice;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePhysicalDevice;
|
|
|
|
public:
|
|
PhysicalDevice(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance, VkPhysicalDevice physicalDevice)
|
|
: m_physicalDevice(physicalDevice)
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
}
|
|
|
|
PhysicalDevice(std::nullptr_t) {}
|
|
|
|
~PhysicalDevice()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
PhysicalDevice() = delete;
|
|
PhysicalDevice(PhysicalDevice const &rhs)
|
|
: m_physicalDevice(rhs.m_physicalDevice)
|
|
, m_dispatcher(rhs.m_dispatcher)
|
|
{}
|
|
PhysicalDevice(PhysicalDevice &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_physicalDevice(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_physicalDevice, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
PhysicalDevice &operator=(PhysicalDevice const &rhs)
|
|
{
|
|
m_physicalDevice = rhs.m_physicalDevice;
|
|
m_dispatcher = rhs.m_dispatcher;
|
|
return *this;
|
|
}
|
|
PhysicalDevice &operator=(PhysicalDevice &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_physicalDevice, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::PhysicalDevice const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_physicalDevice;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
m_physicalDevice = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_physicalDevice, rhs.m_physicalDevice);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures getFeatures() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties getFormatProperties(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties
|
|
getImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,
|
|
VULKAN_HPP_NAMESPACE::ImageType type,
|
|
VULKAN_HPP_NAMESPACE::ImageTiling tiling,
|
|
VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
|
|
VULKAN_HPP_NAMESPACE::ImageCreateFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties getProperties() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> getQueueFamilyProperties() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties getMemoryProperties() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Device
|
|
createDevice(VULKAN_HPP_NAMESPACE::DeviceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties>
|
|
enumerateDeviceExtensionProperties(Optional<const std::string> layerName VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> enumerateDeviceLayerProperties() const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>
|
|
getSparseImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,
|
|
VULKAN_HPP_NAMESPACE::ImageType type,
|
|
VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
|
|
VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
|
|
VULKAN_HPP_NAMESPACE::ImageTiling tiling) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFeatures2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getProperties2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties2 getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties2
|
|
getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> getQueueFamilyProperties2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename StructureChain>
|
|
VULKAN_HPP_NODISCARD std::vector<StructureChain> getQueueFamilyProperties2() const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 getMemoryProperties2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getMemoryProperties2() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>
|
|
getSparseImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 &formatInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalBufferProperties
|
|
getExternalBufferProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo &externalBufferInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalFenceProperties
|
|
getExternalFenceProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo &externalFenceInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
|
|
getExternalSemaphoreProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> getToolProperties() const;
|
|
|
|
//=== VK_KHR_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getSurfaceSupportKHR(uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR getSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>
|
|
getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR>
|
|
getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::Rect2D> getPresentRectanglesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const;
|
|
|
|
//=== VK_KHR_display ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> getDisplayPropertiesKHR() const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> getDisplayPlanePropertiesKHR() const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::DisplayKHR> getDisplayPlaneSupportedDisplaysKHR(uint32_t planeIndex) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
//=== VK_KHR_xlib_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32
|
|
getXlibPresentationSupportKHR(uint32_t queueFamilyIndex, Display &dpy, VisualID visualID) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XCB_KHR)
|
|
//=== VK_KHR_xcb_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32
|
|
getXcbPresentationSupportKHR(uint32_t queueFamilyIndex, xcb_connection_t &connection, xcb_visualid_t visual_id) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_USE_PLATFORM_XCB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
|
//=== VK_KHR_wayland_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getWaylandPresentationSupportKHR(uint32_t queueFamilyIndex,
|
|
struct wl_display &display) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_win32_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getWin32PresentationSupportKHR(uint32_t queueFamilyIndex) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR
|
|
getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileKHR &videoProfile) const;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileKHR &videoProfile) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>
|
|
getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR &videoFormatInfo) const;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_NV_external_memory_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV getExternalImageFormatPropertiesNV(
|
|
VULKAN_HPP_NAMESPACE::Format format,
|
|
VULKAN_HPP_NAMESPACE::ImageType type,
|
|
VULKAN_HPP_NAMESPACE::ImageTiling tiling,
|
|
VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
|
|
VULKAN_HPP_NAMESPACE::ImageCreateFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
|
|
VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_KHR_get_physical_device_properties2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 getFeatures2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFeatures2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 getProperties2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getProperties2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::FormatProperties2 getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties2
|
|
getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> getQueueFamilyProperties2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename StructureChain>
|
|
VULKAN_HPP_NODISCARD std::vector<StructureChain> getQueueFamilyProperties2KHR() const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>
|
|
getSparseImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 &formatInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_external_memory_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalBufferProperties
|
|
getExternalBufferPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo &externalBufferInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_external_semaphore_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
|
|
getExternalSemaphorePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
|
|
//=== VK_EXT_acquire_xlib_display ===
|
|
|
|
void acquireXlibDisplayEXT(Display &dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayKHR getRandROutputDisplayEXT(Display &dpy, RROutput rrOutput) const;
|
|
# endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
|
|
|
|
//=== VK_EXT_display_surface_counter ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT getSurfaceCapabilities2EXT(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const;
|
|
|
|
//=== VK_KHR_external_fence_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExternalFenceProperties
|
|
getExternalFencePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo &externalFenceInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
|
|
VULKAN_HPP_NODISCARD std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>>
|
|
enumerateQueueFamilyPerformanceQueryCountersKHR(uint32_t queueFamilyIndex) const;
|
|
|
|
VULKAN_HPP_NODISCARD uint32_t getQueueFamilyPerformanceQueryPassesKHR(
|
|
const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR &performanceQueryCreateInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_get_surface_capabilities2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR
|
|
getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>
|
|
getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const;
|
|
|
|
//=== VK_KHR_get_display_properties2 ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> getDisplayProperties2KHR() const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> getDisplayPlaneProperties2KHR() const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR
|
|
getDisplayPlaneCapabilities2KHR(const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR &displayPlaneInfo) const;
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
|
|
getMultisamplePropertiesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT> getCalibrateableTimeDomainsEXT() const;
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> getFragmentShadingRatesKHR() const;
|
|
|
|
//=== VK_EXT_tooling_info ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> getToolPropertiesEXT() const;
|
|
|
|
//=== VK_NV_cooperative_matrix ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV> getCooperativeMatrixPropertiesNV() const;
|
|
|
|
//=== VK_NV_coverage_reduction_mode ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV> getSupportedFramebufferMixedSamplesCombinationsNV() const;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR>
|
|
getSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_acquire_drm_display ===
|
|
|
|
void acquireDrmDisplayEXT(int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayKHR getDrmDisplayEXT(int32_t drmFd, uint32_t connectorId) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_acquire_winrt_display ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayKHR getWinrtDisplayNV(uint32_t deviceRelativeId) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
|
|
//=== VK_EXT_directfb_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getDirectFBPresentationSupportEXT(uint32_t queueFamilyIndex,
|
|
IDirectFB &dfb) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
|
|
|
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
|
|
//=== VK_QNX_screen_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32 getScreenPresentationSupportQNX(uint32_t queueFamilyIndex,
|
|
struct _screen_window &window) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class PhysicalDevices : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice>
|
|
{
|
|
public:
|
|
PhysicalDevices(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *dispatcher = instance.getDispatcher();
|
|
std::vector<VkPhysicalDevice> physicalDevices;
|
|
uint32_t physicalDeviceCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
dispatcher->vkEnumeratePhysicalDevices(static_cast<VkInstance>(*instance), &physicalDeviceCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && physicalDeviceCount)
|
|
{
|
|
physicalDevices.resize(physicalDeviceCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
dispatcher->vkEnumeratePhysicalDevices(static_cast<VkInstance>(*instance), &physicalDeviceCount, physicalDevices.data()));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(physicalDeviceCount <= physicalDevices.size());
|
|
this->reserve(physicalDeviceCount);
|
|
for(auto const &physicalDevice : physicalDevices)
|
|
{
|
|
this->emplace_back(instance, physicalDevice);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkEnumeratePhysicalDevices");
|
|
}
|
|
}
|
|
|
|
PhysicalDevices(std::nullptr_t) {}
|
|
|
|
PhysicalDevices() = delete;
|
|
PhysicalDevices(PhysicalDevices const &) = delete;
|
|
PhysicalDevices(PhysicalDevices &&rhs) = default;
|
|
PhysicalDevices &operator=(PhysicalDevices const &) = delete;
|
|
PhysicalDevices &operator=(PhysicalDevices &&rhs) = default;
|
|
};
|
|
|
|
class Device
|
|
{
|
|
public:
|
|
using CType = VkDevice;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDevice;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDevice;
|
|
|
|
public:
|
|
Device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice,
|
|
VULKAN_HPP_NAMESPACE::DeviceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
physicalDevice.getDispatcher()->vkCreateDevice(static_cast<VkPhysicalDevice>(*physicalDevice),
|
|
reinterpret_cast<const VkDeviceCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDevice *>(&m_device)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDevice");
|
|
}
|
|
m_dispatcher.reset(new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher(physicalDevice.getDispatcher()->vkGetDeviceProcAddr,
|
|
static_cast<VkDevice>(m_device)));
|
|
}
|
|
|
|
Device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice,
|
|
VkDevice device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
{
|
|
m_dispatcher.reset(new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher(physicalDevice.getDispatcher()->vkGetDeviceProcAddr,
|
|
static_cast<VkDevice>(m_device)));
|
|
}
|
|
|
|
Device(std::nullptr_t) {}
|
|
|
|
~Device()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Device() = delete;
|
|
Device(Device const &) = delete;
|
|
Device(Device &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(rhs.m_dispatcher.release())
|
|
{
|
|
}
|
|
Device &operator=(Device const &) = delete;
|
|
Device &operator=(Device &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher.reset(rhs.m_dispatcher.release());
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_device)
|
|
{
|
|
getDispatcher()->vkDestroyDevice(static_cast<VkDevice>(m_device), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return &*m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr(const std::string &name) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Queue getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex) const;
|
|
|
|
void waitIdle() const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DeviceMemory
|
|
allocateMemory(VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const &allocateInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void flushMappedMemoryRanges(ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const &memoryRanges) const;
|
|
|
|
void invalidateMappedMemoryRanges(ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const &memoryRanges) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Fence
|
|
createFence(VULKAN_HPP_NAMESPACE::FenceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void resetFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
|
|
waitForFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences, VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Semaphore
|
|
createSemaphore(VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Event
|
|
createEvent(VULKAN_HPP_NAMESPACE::EventCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::QueryPool
|
|
createQueryPool(VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Buffer
|
|
createBuffer(VULKAN_HPP_NAMESPACE::BufferCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::BufferView
|
|
createBufferView(VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Image
|
|
createImage(VULKAN_HPP_NAMESPACE::ImageCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::ImageView
|
|
createImageView(VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::ShaderModule
|
|
createShaderModule(VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PipelineCache
|
|
createPipelineCache(VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline>
|
|
createGraphicsPipelines(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline
|
|
createGraphicsPipeline(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline>
|
|
createComputePipelines(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline
|
|
createComputePipeline(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PipelineLayout
|
|
createPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Sampler
|
|
createSampler(VULKAN_HPP_NAMESPACE::SamplerCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout
|
|
createDescriptorSetLayout(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorPool
|
|
createDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::DescriptorSet>
|
|
allocateDescriptorSets(VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const &allocateInfo) const;
|
|
|
|
void updateDescriptorSets(ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const &descriptorWrites,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const &descriptorCopies) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Framebuffer
|
|
createFramebuffer(VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::RenderPass
|
|
createRenderPass(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::CommandPool
|
|
createCommandPool(VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::CommandBuffer>
|
|
allocateCommandBuffers(VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const &allocateInfo) const;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
void bindBufferMemory2(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const &bindInfos) const;
|
|
|
|
void bindImageMemory2(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const &bindInfos) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
|
|
getGroupPeerMemoryFeatures(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
getImageSparseMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Queue getQueue2(VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const &queueInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion
|
|
createSamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate
|
|
createDescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
|
|
getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::RenderPass
|
|
createRenderPass2(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphores(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo &waitInfo, uint64_t timeout) const;
|
|
|
|
void signalSemaphore(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo &signalInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
getBufferAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getBufferOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t
|
|
getMemoryOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot
|
|
createPrivateDataSlot(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void setPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
|
|
uint64_t data) const;
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
getImageSparseMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR
|
|
createSwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR getGroupPresentCapabilitiesKHR() const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR
|
|
getGroupSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t>
|
|
acquireNextImage2KHR(const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR &acquireInfo) const;
|
|
|
|
//=== VK_KHR_display_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR>
|
|
createSharedSwapchainsKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR
|
|
createSharedSwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_EXT_debug_marker ===
|
|
|
|
void debugMarkerSetObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT &tagInfo) const;
|
|
|
|
void debugMarkerSetObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT &nameInfo) const;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR
|
|
createVideoSessionKHR(VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR
|
|
createVideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_NVX_binary_import ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX
|
|
createCuModuleNVX(VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX
|
|
createCuFunctionNVX(VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_NVX_image_view_handle ===
|
|
|
|
VULKAN_HPP_NODISCARD uint32_t getImageViewHandleNVX(const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_device_group ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
|
|
getGroupPeerMemoryFeaturesKHR(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_memory_win32 ===
|
|
|
|
VULKAN_HPP_NODISCARD HANDLE getMemoryWin32HandleKHR(const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR &getWin32HandleInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
|
|
getMemoryWin32HandlePropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_memory_fd ===
|
|
|
|
VULKAN_HPP_NODISCARD int getMemoryFdKHR(const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR &getFdInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR
|
|
getMemoryFdPropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_semaphore_win32 ===
|
|
|
|
void importSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR &importSemaphoreWin32HandleInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD HANDLE getSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR &getWin32HandleInfo) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_semaphore_fd ===
|
|
|
|
void importSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR &importSemaphoreFdInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD int getSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR &getFdInfo) const;
|
|
|
|
//=== VK_KHR_descriptor_update_template ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate
|
|
createDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void destroyDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
|
|
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
|
|
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_display_control ===
|
|
|
|
void displayPowerControlEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display, const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT &displayPowerInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Fence
|
|
registerEventEXT(VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const &deviceEventInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Fence
|
|
registerDisplayEventEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const &display,
|
|
VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const &displayEventInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_EXT_hdr_metadata ===
|
|
|
|
void setHdrMetadataEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &swapchains,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const &metadata) const;
|
|
|
|
//=== VK_KHR_create_renderpass2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::RenderPass
|
|
createRenderPass2KHR(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_fence_win32 ===
|
|
|
|
void importFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR &importFenceWin32HandleInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD HANDLE getFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR &getWin32HandleInfo) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_fence_fd ===
|
|
|
|
void importFenceFdKHR(const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR &importFenceFdInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD int getFenceFdKHR(const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR &getFdInfo) const;
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
|
|
void acquireProfilingLockKHR(const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR &info) const;
|
|
|
|
void releaseProfilingLockKHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
|
|
void setDebugUtilsObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT &nameInfo) const;
|
|
|
|
void setDebugUtilsObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT &tagInfo) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_ANDROID_external_memory_android_hardware_buffer ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID
|
|
getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer &buffer) const;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer &buffer) const;
|
|
|
|
VULKAN_HPP_NODISCARD struct AHardwareBuffer *
|
|
getMemoryAndroidHardwareBufferANDROID(const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID &info) const;
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
//=== VK_KHR_get_memory_requirements2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
getImageSparseMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_acceleration_structure ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR
|
|
createAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
|
|
buildAccelerationStructuresKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &infos,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const> const &pBuildRangeInfos) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
|
|
copyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR &info) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
|
|
copyAccelerationStructureToMemoryKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR &info) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
|
|
copyMemoryToAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR &info) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::vector<DataType>
|
|
writeAccelerationStructuresPropertiesKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
size_t dataSize,
|
|
size_t stride) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType
|
|
writeAccelerationStructuresPropertyKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
size_t stride) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
getAccelerationStructureAddressKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR
|
|
getAccelerationStructureCompatibilityKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR &versionInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR
|
|
getAccelerationStructureBuildSizesKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR &buildInfo,
|
|
ArrayProxy<const uint32_t> const &maxPrimitiveCounts VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
//=== VK_KHR_sampler_ycbcr_conversion ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion
|
|
createSamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void destroySamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
|
|
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
|
|
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_bind_memory2 ===
|
|
|
|
void bindBufferMemory2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const &bindInfos) const;
|
|
|
|
void bindImageMemory2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const &bindInfos) const;
|
|
|
|
//=== VK_EXT_validation_cache ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT
|
|
createValidationCacheEXT(VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV
|
|
createAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR getAccelerationStructureMemoryRequirementsNV(
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getAccelerationStructureMemoryRequirementsNV(
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindAccelerationStructureMemoryNV(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const &bindInfos) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline>
|
|
createRayTracingPipelinesNV(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline
|
|
createRayTracingPipelineNV(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_KHR_maintenance3 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
|
|
getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_external_memory_host ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
|
|
getMemoryHostPointerPropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer) const;
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
|
|
VULKAN_HPP_NODISCARD std::pair<std::vector<uint64_t>, uint64_t>
|
|
getCalibratedTimestampsEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const ×tampInfos) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::pair<uint64_t, uint64_t>
|
|
getCalibratedTimestampEXT(const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT ×tampInfo) const;
|
|
|
|
//=== VK_KHR_timeline_semaphore ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitSemaphoresKHR(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo &waitInfo, uint64_t timeout) const;
|
|
|
|
void signalSemaphoreKHR(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo &signalInfo) const;
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
|
|
void initializePerformanceApiINTEL(const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL &initializeInfo) const;
|
|
|
|
void uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL
|
|
acquirePerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const &acquireInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PerformanceValueINTEL
|
|
getPerformanceParameterINTEL(VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter) const;
|
|
|
|
//=== VK_EXT_buffer_device_address ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
getBufferAddressEXT(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR
|
|
getGroupSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_buffer_device_address ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
getBufferAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getBufferOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t
|
|
getMemoryOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_deferred_host_operations ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR
|
|
createDeferredOperationKHR(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_KHR_pipeline_executable_properties ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>
|
|
getPipelineExecutablePropertiesKHR(const VULKAN_HPP_NAMESPACE::PipelineInfoKHR &pipelineInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>
|
|
getPipelineExecutableStatisticsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR &executableInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>
|
|
getPipelineExecutableInternalRepresentationsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR &executableInfo) const;
|
|
|
|
//=== VK_NV_device_generated_commands ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV
|
|
createIndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_EXT_private_data ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot
|
|
createPrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
void destroyPrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
|
|
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
|
|
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
|
|
uint64_t data) const;
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_ray_tracing_pipeline ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> createRayTracingPipelinesKHR(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const &deferredOperation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Pipeline createRayTracingPipelineKHR(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const &deferredOperation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_memory ===
|
|
|
|
VULKAN_HPP_NODISCARD zx_handle_t getMemoryZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA &getZirconHandleInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
|
|
getMemoryZirconHandlePropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle) const;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_semaphore ===
|
|
|
|
void importSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA &importSemaphoreZirconHandleInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD zx_handle_t
|
|
getSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA &getZirconHandleInfo) const;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_buffer_collection ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA
|
|
createBufferCollectionFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
//=== VK_NV_external_memory_rdma ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::RemoteAddressNV
|
|
getMemoryRemoteAddressNV(const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV &memoryGetRemoteAddressInfo) const;
|
|
|
|
//=== VK_KHR_maintenance4 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
getImageSparseMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VALVE_descriptor_set_host_mapping ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE getDescriptorSetLayoutHostMappingInfoVALVE(
|
|
const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE &bindingReference) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
std::unique_ptr<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher> m_dispatcher;
|
|
};
|
|
|
|
class AccelerationStructureKHR
|
|
{
|
|
public:
|
|
using CType = VkAccelerationStructureKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureKHR;
|
|
|
|
public:
|
|
AccelerationStructureKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateAccelerationStructureKHR(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkAccelerationStructureCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkAccelerationStructureKHR *>(&m_accelerationStructure)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateAccelerationStructureKHR");
|
|
}
|
|
}
|
|
|
|
AccelerationStructureKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkAccelerationStructureKHR accelerationStructure,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_accelerationStructure(accelerationStructure)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
AccelerationStructureKHR(std::nullptr_t) {}
|
|
|
|
~AccelerationStructureKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
AccelerationStructureKHR() = delete;
|
|
AccelerationStructureKHR(AccelerationStructureKHR const &) = delete;
|
|
AccelerationStructureKHR(AccelerationStructureKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_accelerationStructure(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_accelerationStructure, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
AccelerationStructureKHR &operator=(AccelerationStructureKHR const &) = delete;
|
|
AccelerationStructureKHR &operator=(AccelerationStructureKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_accelerationStructure = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_accelerationStructure, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_accelerationStructure;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_accelerationStructure)
|
|
{
|
|
getDispatcher()->vkDestroyAccelerationStructureKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkAccelerationStructureKHR>(m_accelerationStructure),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_accelerationStructure = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_accelerationStructure, rhs.m_accelerationStructure);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureKHR m_accelerationStructure = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class AccelerationStructureNV
|
|
{
|
|
public:
|
|
using CType = VkAccelerationStructureNV;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eAccelerationStructureNV;
|
|
|
|
public:
|
|
AccelerationStructureNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateAccelerationStructureNV(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkAccelerationStructureCreateInfoNV *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkAccelerationStructureNV *>(&m_accelerationStructure)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateAccelerationStructureNV");
|
|
}
|
|
}
|
|
|
|
AccelerationStructureNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkAccelerationStructureNV accelerationStructure,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_accelerationStructure(accelerationStructure)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
AccelerationStructureNV(std::nullptr_t) {}
|
|
|
|
~AccelerationStructureNV()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
AccelerationStructureNV() = delete;
|
|
AccelerationStructureNV(AccelerationStructureNV const &) = delete;
|
|
AccelerationStructureNV(AccelerationStructureNV &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_accelerationStructure(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_accelerationStructure, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
AccelerationStructureNV &operator=(AccelerationStructureNV const &) = delete;
|
|
AccelerationStructureNV &operator=(AccelerationStructureNV &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_accelerationStructure = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_accelerationStructure, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_accelerationStructure;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_accelerationStructure)
|
|
{
|
|
getDispatcher()->vkDestroyAccelerationStructureNV(static_cast<VkDevice>(m_device),
|
|
static_cast<VkAccelerationStructureNV>(m_accelerationStructure),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_accelerationStructure = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_accelerationStructure, rhs.m_accelerationStructure);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::vector<DataType> getHandle(size_t dataSize) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType getHandle() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV m_accelerationStructure = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Buffer
|
|
{
|
|
public:
|
|
using CType = VkBuffer;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBuffer;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBuffer;
|
|
|
|
public:
|
|
Buffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::BufferCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateBuffer(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkBufferCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkBuffer *>(&m_buffer)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateBuffer");
|
|
}
|
|
}
|
|
|
|
Buffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkBuffer buffer,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_buffer(buffer)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Buffer(std::nullptr_t) {}
|
|
|
|
~Buffer()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Buffer() = delete;
|
|
Buffer(Buffer const &) = delete;
|
|
Buffer(Buffer &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_buffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_buffer, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Buffer &operator=(Buffer const &) = delete;
|
|
Buffer &operator=(Buffer &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_buffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_buffer, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Buffer const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_buffer;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_buffer)
|
|
{
|
|
getDispatcher()->vkDestroyBuffer(
|
|
static_cast<VkDevice>(m_device), static_cast<VkBuffer>(m_buffer), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_buffer = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Buffer &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_buffer, rhs.m_buffer);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
void bindMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Buffer m_buffer = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
class BufferCollectionFUCHSIA
|
|
{
|
|
public:
|
|
using CType = VkBufferCollectionFUCHSIA;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA;
|
|
|
|
public:
|
|
BufferCollectionFUCHSIA(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateBufferCollectionFUCHSIA(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIA *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkBufferCollectionFUCHSIA *>(&m_collection)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateBufferCollectionFUCHSIA");
|
|
}
|
|
}
|
|
|
|
BufferCollectionFUCHSIA(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkBufferCollectionFUCHSIA collection,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_collection(collection)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
BufferCollectionFUCHSIA(std::nullptr_t) {}
|
|
|
|
~BufferCollectionFUCHSIA()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
BufferCollectionFUCHSIA() = delete;
|
|
BufferCollectionFUCHSIA(BufferCollectionFUCHSIA const &) = delete;
|
|
BufferCollectionFUCHSIA(BufferCollectionFUCHSIA &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_collection(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_collection, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
BufferCollectionFUCHSIA &operator=(BufferCollectionFUCHSIA const &) = delete;
|
|
BufferCollectionFUCHSIA &operator=(BufferCollectionFUCHSIA &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_collection = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_collection, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_collection;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_collection)
|
|
{
|
|
getDispatcher()->vkDestroyBufferCollectionFUCHSIA(static_cast<VkDevice>(m_device),
|
|
static_cast<VkBufferCollectionFUCHSIA>(m_collection),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_collection = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_collection, rhs.m_collection);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_FUCHSIA_buffer_collection ===
|
|
|
|
void setImageConstraints(const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA &imageConstraintsInfo) const;
|
|
|
|
void setBufferConstraints(const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA &bufferConstraintsInfo) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA getProperties() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA m_collection = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
class BufferView
|
|
{
|
|
public:
|
|
using CType = VkBufferView;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eBufferView;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferView;
|
|
|
|
public:
|
|
BufferView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateBufferView(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkBufferViewCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkBufferView *>(&m_bufferView)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateBufferView");
|
|
}
|
|
}
|
|
|
|
BufferView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkBufferView bufferView,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_bufferView(bufferView)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
BufferView(std::nullptr_t) {}
|
|
|
|
~BufferView()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
BufferView() = delete;
|
|
BufferView(BufferView const &) = delete;
|
|
BufferView(BufferView &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_bufferView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_bufferView, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
BufferView &operator=(BufferView const &) = delete;
|
|
BufferView &operator=(BufferView &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_bufferView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_bufferView, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::BufferView const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_bufferView;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_bufferView)
|
|
{
|
|
getDispatcher()->vkDestroyBufferView(
|
|
static_cast<VkDevice>(m_device), static_cast<VkBufferView>(m_bufferView), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_bufferView = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::BufferView &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_bufferView, rhs.m_bufferView);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::BufferView m_bufferView = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class CommandPool
|
|
{
|
|
public:
|
|
using CType = VkCommandPool;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandPool;
|
|
|
|
public:
|
|
CommandPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateCommandPool(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkCommandPoolCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkCommandPool *>(&m_commandPool)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateCommandPool");
|
|
}
|
|
}
|
|
|
|
CommandPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkCommandPool commandPool,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_commandPool(commandPool)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
CommandPool(std::nullptr_t) {}
|
|
|
|
~CommandPool()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
CommandPool() = delete;
|
|
CommandPool(CommandPool const &) = delete;
|
|
CommandPool(CommandPool &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_commandPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_commandPool, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
CommandPool &operator=(CommandPool const &) = delete;
|
|
CommandPool &operator=(CommandPool &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_commandPool, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::CommandPool const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_commandPool;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_commandPool)
|
|
{
|
|
getDispatcher()->vkDestroyCommandPool(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCommandPool>(m_commandPool), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_commandPool = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandPool &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_commandPool, rhs.m_commandPool);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
void reset(VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
void trim(VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_maintenance1 ===
|
|
|
|
void trimKHR(VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::CommandPool m_commandPool = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class CommandBuffer
|
|
{
|
|
public:
|
|
using CType = VkCommandBuffer;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCommandBuffer;
|
|
|
|
public:
|
|
CommandBuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device, VkCommandBuffer commandBuffer, VkCommandPool commandPool)
|
|
: m_device(*device)
|
|
, m_commandPool(commandPool)
|
|
, m_commandBuffer(commandBuffer)
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
CommandBuffer(std::nullptr_t) {}
|
|
|
|
~CommandBuffer()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
CommandBuffer() = delete;
|
|
CommandBuffer(CommandBuffer const &) = delete;
|
|
CommandBuffer(CommandBuffer &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_commandPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_commandPool, {})),
|
|
m_commandBuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_commandBuffer, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
CommandBuffer &operator=(CommandBuffer const &) = delete;
|
|
CommandBuffer &operator=(CommandBuffer &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_commandPool, {});
|
|
m_commandBuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_commandBuffer, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::CommandBuffer const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_commandBuffer;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_commandBuffer)
|
|
{
|
|
getDispatcher()->vkFreeCommandBuffers(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCommandPool>(m_commandPool), 1, reinterpret_cast<VkCommandBuffer const *>(&m_commandBuffer));
|
|
}
|
|
m_device = nullptr;
|
|
m_commandPool = nullptr;
|
|
m_commandBuffer = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandBuffer &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_commandPool, rhs.m_commandPool);
|
|
std::swap(m_commandBuffer, rhs.m_commandBuffer);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
void begin(const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo &beginInfo) const;
|
|
|
|
void end() const;
|
|
|
|
void reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
void bindPipeline(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint, VULKAN_HPP_NAMESPACE::Pipeline pipeline) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setViewport(uint32_t firstViewport, ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setScissor(uint32_t firstScissor, ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setLineWidth(float lineWidth) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthBias(float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setBlendConstants(const float blendConstants[4]) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthBounds(float minDepthBounds, float maxDepthBounds) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilCompareMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t compareMask) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilWriteMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t writeMask) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilReference(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t reference) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
uint32_t firstSet,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const &descriptorSets,
|
|
ArrayProxy<const uint32_t> const &dynamicOffsets) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::IndexType indexType) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindVertexBuffers(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets) const;
|
|
|
|
void draw(uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void
|
|
drawIndexed(uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
uint32_t drawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawIndexedIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
uint32_t drawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void dispatch(uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void dispatchIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer, VULKAN_HPP_NAMESPACE::DeviceSize offset) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const ®ions) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const ®ions) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const ®ions,
|
|
VULKAN_HPP_NAMESPACE::Filter filter) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyBufferToImage(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const ®ions) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyImageToBuffer(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const ®ions) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename DataType>
|
|
void updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
ArrayProxy<const DataType> const &data) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void fillBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize size,
|
|
uint32_t data) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void clearColorImage(VULKAN_HPP_NAMESPACE::Image image,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
|
|
const VULKAN_HPP_NAMESPACE::ClearColorValue &color,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const &ranges) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void clearDepthStencilImage(VULKAN_HPP_NAMESPACE::Image image,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
|
|
const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue &depthStencil,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const &ranges) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void clearAttachments(ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const &attachments,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const &rects) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const ®ions) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setEvent(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resetEvent(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void waitEvents(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &memoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const &bufferMemoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &imageMemoryBarriers) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void pipelineBarrier(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
|
|
VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &memoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const &bufferMemoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &imageMemoryBarriers) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void beginQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query,
|
|
VULKAN_HPP_NAMESPACE::QueryControlFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void writeTimestamp(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t firstQuery,
|
|
uint32_t queryCount,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize stride,
|
|
VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename ValuesType>
|
|
void pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
|
|
uint32_t offset,
|
|
ArrayProxy<const ValuesType> const &values) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void beginRenderPass(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo &renderPassBegin,
|
|
VULKAN_HPP_NAMESPACE::SubpassContents contents) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void nextSubpass(VULKAN_HPP_NAMESPACE::SubpassContents contents) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endRenderPass() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void executeCommands(ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const &commandBuffers) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
void setDeviceMask(uint32_t deviceMask) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void dispatchBase(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const
|
|
VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
|
|
void drawIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawIndexedIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void beginRenderPass2(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo &renderPassBegin,
|
|
const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void nextSubpass2(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo,
|
|
const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endRenderPass2(const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
|
|
void setEvent2(VULKAN_HPP_NAMESPACE::Event event, const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resetEvent2(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void waitEvents2(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const &dependencyInfos) const;
|
|
|
|
void pipelineBarrier2(const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void
|
|
writeTimestamp2(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage, VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyBuffer2(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 ©BufferInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyImage2(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 ©ImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyBufferToImage2(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 ©BufferToImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyImageToBuffer2(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 ©ImageToBufferInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void blitImage2(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 &blitImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resolveImage2(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 &resolveImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void beginRendering(const VULKAN_HPP_NAMESPACE::RenderingInfo &renderingInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endRendering() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setCullMode(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setFrontFace(VULKAN_HPP_NAMESPACE::FrontFace frontFace) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setPrimitiveTopology(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setViewportWithCount(ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setScissorWithCount(ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindVertexBuffers2(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &strides VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
void setDepthTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthWriteEnable(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthCompareOp(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthBoundsTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilTestEnable(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilOp(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
|
|
VULKAN_HPP_NAMESPACE::StencilOp failOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp passOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
|
|
VULKAN_HPP_NAMESPACE::CompareOp compareOp) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setRasterizerDiscardEnable(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthBiasEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setPrimitiveRestartEnable(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_debug_marker ===
|
|
|
|
void debugMarkerBeginEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT &markerInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void debugMarkerEndEXT() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void debugMarkerInsertEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT &markerInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
|
|
void beginVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR &beginInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR &endCodingInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void controlVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR &codingControlInfo) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_decode_queue ===
|
|
|
|
void decodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR &frameInfo) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_EXT_transform_feedback ===
|
|
|
|
void bindTransformFeedbackBuffersEXT(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes
|
|
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
void beginTransformFeedbackEXT(uint32_t firstCounterBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &counterBufferOffsets
|
|
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
void endTransformFeedbackEXT(uint32_t firstCounterBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &counterBufferOffsets
|
|
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
void beginQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query,
|
|
VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
|
|
uint32_t index) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, uint32_t index) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawIndirectByteCountEXT(uint32_t instanceCount,
|
|
uint32_t firstInstance,
|
|
VULKAN_HPP_NAMESPACE::Buffer counterBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
|
|
uint32_t counterOffset,
|
|
uint32_t vertexStride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NVX_binary_import ===
|
|
|
|
void cuLaunchKernelNVX(const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX &launchInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_AMD_draw_indirect_count ===
|
|
|
|
void drawIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawIndexedIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_dynamic_rendering ===
|
|
|
|
void beginRenderingKHR(const VULKAN_HPP_NAMESPACE::RenderingInfo &renderingInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endRenderingKHR() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_device_group ===
|
|
|
|
void setDeviceMaskKHR(uint32_t deviceMask) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void dispatchBaseKHR(uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
|
|
const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_push_descriptor ===
|
|
|
|
void pushDescriptorSetKHR(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
uint32_t set,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const &descriptorWrites) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
template<typename DataType>
|
|
void pushDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
uint32_t set,
|
|
DataType const &data) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_conditional_rendering ===
|
|
|
|
void beginConditionalRenderingEXT(const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT &conditionalRenderingBegin) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endConditionalRenderingEXT() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_clip_space_w_scaling ===
|
|
|
|
void setViewportWScalingNV(uint32_t firstViewport,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const &viewportWScalings) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_discard_rectangles ===
|
|
|
|
void setDiscardRectangleEXT(uint32_t firstDiscardRectangle,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &discardRectangles) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_create_renderpass2 ===
|
|
|
|
void beginRenderPass2KHR(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo &renderPassBegin,
|
|
const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void nextSubpass2KHR(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo,
|
|
const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endRenderPass2KHR(const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
|
|
void beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
|
|
void setSampleLocationsEXT(const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT &sampleLocationsInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_acceleration_structure ===
|
|
|
|
void
|
|
buildAccelerationStructuresKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &infos,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const> const &pBuildRangeInfos) const;
|
|
|
|
void buildAccelerationStructuresIndirectKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &infos,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const &indirectDeviceAddresses,
|
|
ArrayProxy<const uint32_t> const &indirectStrides,
|
|
ArrayProxy<const uint32_t *const> const &pMaxPrimitiveCounts) const;
|
|
|
|
void copyAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyAccelerationStructureToMemoryKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyMemoryToAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR &info) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void writeAccelerationStructuresPropertiesKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t firstQuery) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_shading_rate_image ===
|
|
|
|
void bindShadingRateImageNV(VULKAN_HPP_NAMESPACE::ImageView imageView, VULKAN_HPP_NAMESPACE::ImageLayout imageLayout) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void
|
|
setViewportShadingRatePaletteNV(uint32_t firstViewport,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const &shadingRatePalettes) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setCoarseSampleOrderNV(VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const &customSampleOrders) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
|
|
void buildAccelerationStructureNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV &info,
|
|
VULKAN_HPP_NAMESPACE::Buffer instanceData,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
|
|
VULKAN_HPP_NAMESPACE::Bool32 update,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
|
|
VULKAN_HPP_NAMESPACE::Buffer scratch,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
|
|
VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void traceRaysNV(VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
|
|
VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
|
|
VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
|
|
uint32_t width,
|
|
uint32_t height,
|
|
uint32_t depth) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void writeAccelerationStructuresPropertiesNV(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t firstQuery) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_draw_indirect_count ===
|
|
|
|
void drawIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawIndexedIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_AMD_buffer_marker ===
|
|
|
|
void writeBufferMarkerAMD(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
uint32_t marker) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_mesh_shader ===
|
|
|
|
void drawMeshTasksNV(uint32_t taskCount, uint32_t firstTask) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawMeshTasksIndirectNV(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
uint32_t drawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawMeshTasksIndirectCountNV(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_scissor_exclusive ===
|
|
|
|
void setExclusiveScissorNV(uint32_t firstExclusiveScissor,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &exclusiveScissors) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_device_diagnostic_checkpoints ===
|
|
|
|
template<typename CheckpointMarkerType>
|
|
void setCheckpointNV(CheckpointMarkerType const &checkpointMarker) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
|
|
void setPerformanceMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL &markerInfo) const;
|
|
|
|
void setPerformanceStreamMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL &markerInfo) const;
|
|
|
|
void setPerformanceOverrideINTEL(const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL &overrideInfo) const;
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
|
|
void setFragmentShadingRateKHR(const VULKAN_HPP_NAMESPACE::Extent2D &fragmentSize,
|
|
const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2]) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_line_rasterization ===
|
|
|
|
void setLineStippleEXT(uint32_t lineStippleFactor, uint16_t lineStipplePattern) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_extended_dynamic_state ===
|
|
|
|
void setCullModeEXT(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setFrontFaceEXT(VULKAN_HPP_NAMESPACE::FrontFace frontFace) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setPrimitiveTopologyEXT(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setViewportWithCountEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setScissorWithCountEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindVertexBuffers2EXT(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &strides VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const;
|
|
|
|
void setDepthTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthWriteEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthCompareOpEXT(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthBoundsTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setStencilOpEXT(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
|
|
VULKAN_HPP_NAMESPACE::StencilOp failOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp passOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
|
|
VULKAN_HPP_NAMESPACE::CompareOp compareOp) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_device_generated_commands ===
|
|
|
|
void preprocessGeneratedCommandsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV &generatedCommandsInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void executeGeneratedCommandsNV(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
|
|
const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV &generatedCommandsInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void bindPipelineShaderGroupNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
|
uint32_t groupIndex) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_encode_queue ===
|
|
|
|
void encodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR &encodeInfo) const VULKAN_HPP_NOEXCEPT;
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_KHR_synchronization2 ===
|
|
|
|
void setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event, const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resetEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void waitEvents2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const &dependencyInfos) const;
|
|
|
|
void pipelineBarrier2KHR(const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void writeTimestamp2KHR(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void writeBufferMarker2AMD(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
uint32_t marker) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_fragment_shading_rate_enums ===
|
|
|
|
void setFragmentShadingRateEnumNV(VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,
|
|
const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2]) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_copy_commands2 ===
|
|
|
|
void copyBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 ©BufferInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyImage2KHR(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 ©ImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyBufferToImage2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 ©BufferToImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void copyImageToBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 ©ImageToBufferInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void blitImage2KHR(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 &blitImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void resolveImage2KHR(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 &resolveImageInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_ray_tracing_pipeline ===
|
|
|
|
void traceRaysKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &missShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &hitShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &callableShaderBindingTable,
|
|
uint32_t width,
|
|
uint32_t height,
|
|
uint32_t depth) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void traceRaysIndirectKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &missShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &hitShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &callableShaderBindingTable,
|
|
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setRayTracingPipelineStackSizeKHR(uint32_t pipelineStackSize) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_vertex_input_dynamic_state ===
|
|
|
|
void setVertexInputEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const &vertexBindingDescriptions,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const &vertexAttributeDescriptions) const
|
|
VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_HUAWEI_subpass_shading ===
|
|
|
|
void subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_HUAWEI_invocation_mask ===
|
|
|
|
void bindInvocationMaskHUAWEI(VULKAN_HPP_NAMESPACE::ImageView imageView, VULKAN_HPP_NAMESPACE::ImageLayout imageLayout) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_extended_dynamic_state2 ===
|
|
|
|
void setPatchControlPointsEXT(uint32_t patchControlPoints) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setRasterizerDiscardEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setDepthBiasEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setLogicOpEXT(VULKAN_HPP_NAMESPACE::LogicOp logicOp) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void setPrimitiveRestartEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_color_write_enable ===
|
|
|
|
void setColorWriteEnableEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const &colorWriteEnables) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_multi_draw ===
|
|
|
|
void drawMultiEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const &vertexInfo,
|
|
uint32_t instanceCount,
|
|
uint32_t firstInstance,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void drawMultiIndexedEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const &indexInfo,
|
|
uint32_t instanceCount,
|
|
uint32_t firstInstance,
|
|
uint32_t stride,
|
|
Optional<const int32_t> vertexOffset VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::CommandPool m_commandPool = {};
|
|
VULKAN_HPP_NAMESPACE::CommandBuffer m_commandBuffer = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class CommandBuffers : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CommandBuffer>
|
|
{
|
|
public:
|
|
CommandBuffers(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const &allocateInfo)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkCommandBuffer> commandBuffers(allocateInfo.commandBufferCount);
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkAllocateCommandBuffers(
|
|
static_cast<VkDevice>(*device), reinterpret_cast<const VkCommandBufferAllocateInfo *>(&allocateInfo), commandBuffers.data()));
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
this->reserve(allocateInfo.commandBufferCount);
|
|
for(auto const &commandBuffer : commandBuffers)
|
|
{
|
|
this->emplace_back(device, commandBuffer, static_cast<VkCommandPool>(allocateInfo.commandPool));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkAllocateCommandBuffers");
|
|
}
|
|
}
|
|
|
|
CommandBuffers(std::nullptr_t) {}
|
|
|
|
CommandBuffers() = delete;
|
|
CommandBuffers(CommandBuffers const &) = delete;
|
|
CommandBuffers(CommandBuffers &&rhs) = default;
|
|
CommandBuffers &operator=(CommandBuffers const &) = delete;
|
|
CommandBuffers &operator=(CommandBuffers &&rhs) = default;
|
|
};
|
|
|
|
class CuFunctionNVX
|
|
{
|
|
public:
|
|
using CType = VkCuFunctionNVX;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCuFunctionNVX;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuFunctionNVX;
|
|
|
|
public:
|
|
CuFunctionNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateCuFunctionNVX(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkCuFunctionCreateInfoNVX *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkCuFunctionNVX *>(&m_function)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateCuFunctionNVX");
|
|
}
|
|
}
|
|
|
|
CuFunctionNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkCuFunctionNVX function,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_function(function)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
CuFunctionNVX(std::nullptr_t) {}
|
|
|
|
~CuFunctionNVX()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
CuFunctionNVX() = delete;
|
|
CuFunctionNVX(CuFunctionNVX const &) = delete;
|
|
CuFunctionNVX(CuFunctionNVX &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_function(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_function, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
CuFunctionNVX &operator=(CuFunctionNVX const &) = delete;
|
|
CuFunctionNVX &operator=(CuFunctionNVX &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_function = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_function, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::CuFunctionNVX const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_function;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_function)
|
|
{
|
|
getDispatcher()->vkDestroyCuFunctionNVX(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCuFunctionNVX>(m_function), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_function = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_function, rhs.m_function);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::CuFunctionNVX m_function = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class CuModuleNVX
|
|
{
|
|
public:
|
|
using CType = VkCuModuleNVX;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eCuModuleNVX;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eCuModuleNVX;
|
|
|
|
public:
|
|
CuModuleNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateCuModuleNVX(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkCuModuleCreateInfoNVX *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkCuModuleNVX *>(&m_module)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateCuModuleNVX");
|
|
}
|
|
}
|
|
|
|
CuModuleNVX(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkCuModuleNVX module,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_module(module)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
CuModuleNVX(std::nullptr_t) {}
|
|
|
|
~CuModuleNVX()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
CuModuleNVX() = delete;
|
|
CuModuleNVX(CuModuleNVX const &) = delete;
|
|
CuModuleNVX(CuModuleNVX &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_module(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_module, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
CuModuleNVX &operator=(CuModuleNVX const &) = delete;
|
|
CuModuleNVX &operator=(CuModuleNVX &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_module = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_module, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::CuModuleNVX const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_module;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_module)
|
|
{
|
|
getDispatcher()->vkDestroyCuModuleNVX(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCuModuleNVX>(m_module), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_module = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_module, rhs.m_module);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::CuModuleNVX m_module = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DebugReportCallbackEXT
|
|
{
|
|
public:
|
|
using CType = VkDebugReportCallbackEXT;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDebugReportCallbackEXT;
|
|
|
|
public:
|
|
DebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateDebugReportCallbackEXT(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDebugReportCallbackEXT *>(&m_callback)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDebugReportCallbackEXT");
|
|
}
|
|
}
|
|
|
|
DebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VkDebugReportCallbackEXT callback,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_callback(callback)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DebugReportCallbackEXT(std::nullptr_t) {}
|
|
|
|
~DebugReportCallbackEXT()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DebugReportCallbackEXT() = delete;
|
|
DebugReportCallbackEXT(DebugReportCallbackEXT const &) = delete;
|
|
DebugReportCallbackEXT(DebugReportCallbackEXT &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {})),
|
|
m_callback(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_callback, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DebugReportCallbackEXT &operator=(DebugReportCallbackEXT const &) = delete;
|
|
DebugReportCallbackEXT &operator=(DebugReportCallbackEXT &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {});
|
|
m_callback = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_callback, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_callback;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_callback)
|
|
{
|
|
getDispatcher()->vkDestroyDebugReportCallbackEXT(static_cast<VkInstance>(m_instance),
|
|
static_cast<VkDebugReportCallbackEXT>(m_callback),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_instance = nullptr;
|
|
m_callback = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Instance getInstance() const
|
|
{
|
|
return m_instance;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_instance, rhs.m_instance);
|
|
std::swap(m_callback, rhs.m_callback);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Instance m_instance = {};
|
|
VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT m_callback = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DebugUtilsMessengerEXT
|
|
{
|
|
public:
|
|
using CType = VkDebugUtilsMessengerEXT;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
DebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateDebugUtilsMessengerEXT(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDebugUtilsMessengerEXT *>(&m_messenger)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDebugUtilsMessengerEXT");
|
|
}
|
|
}
|
|
|
|
DebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VkDebugUtilsMessengerEXT messenger,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_messenger(messenger)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DebugUtilsMessengerEXT(std::nullptr_t) {}
|
|
|
|
~DebugUtilsMessengerEXT()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DebugUtilsMessengerEXT() = delete;
|
|
DebugUtilsMessengerEXT(DebugUtilsMessengerEXT const &) = delete;
|
|
DebugUtilsMessengerEXT(DebugUtilsMessengerEXT &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {})),
|
|
m_messenger(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_messenger, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DebugUtilsMessengerEXT &operator=(DebugUtilsMessengerEXT const &) = delete;
|
|
DebugUtilsMessengerEXT &operator=(DebugUtilsMessengerEXT &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {});
|
|
m_messenger = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_messenger, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_messenger;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_messenger)
|
|
{
|
|
getDispatcher()->vkDestroyDebugUtilsMessengerEXT(static_cast<VkInstance>(m_instance),
|
|
static_cast<VkDebugUtilsMessengerEXT>(m_messenger),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_instance = nullptr;
|
|
m_messenger = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Instance getInstance() const
|
|
{
|
|
return m_instance;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_instance, rhs.m_instance);
|
|
std::swap(m_messenger, rhs.m_messenger);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Instance m_instance = {};
|
|
VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT m_messenger = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DeferredOperationKHR
|
|
{
|
|
public:
|
|
using CType = VkDeferredOperationKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
DeferredOperationKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateDeferredOperationKHR(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDeferredOperationKHR *>(&m_operation)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDeferredOperationKHR");
|
|
}
|
|
}
|
|
|
|
DeferredOperationKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkDeferredOperationKHR operation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_operation(operation)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DeferredOperationKHR(std::nullptr_t) {}
|
|
|
|
~DeferredOperationKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DeferredOperationKHR() = delete;
|
|
DeferredOperationKHR(DeferredOperationKHR const &) = delete;
|
|
DeferredOperationKHR(DeferredOperationKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_operation(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_operation, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DeferredOperationKHR &operator=(DeferredOperationKHR const &) = delete;
|
|
DeferredOperationKHR &operator=(DeferredOperationKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_operation = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_operation, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DeferredOperationKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_operation;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_operation)
|
|
{
|
|
getDispatcher()->vkDestroyDeferredOperationKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDeferredOperationKHR>(m_operation),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_operation = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_operation, rhs.m_operation);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_KHR_deferred_host_operations ===
|
|
|
|
VULKAN_HPP_NODISCARD uint32_t getMaxConcurrency() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getResult() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result join() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::DeferredOperationKHR m_operation = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DescriptorPool
|
|
{
|
|
public:
|
|
using CType = VkDescriptorPool;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorPool;
|
|
|
|
public:
|
|
DescriptorPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateDescriptorPool(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkDescriptorPoolCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDescriptorPool *>(&m_descriptorPool)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDescriptorPool");
|
|
}
|
|
}
|
|
|
|
DescriptorPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkDescriptorPool descriptorPool,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_descriptorPool(descriptorPool)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DescriptorPool(std::nullptr_t) {}
|
|
|
|
~DescriptorPool()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DescriptorPool() = delete;
|
|
DescriptorPool(DescriptorPool const &) = delete;
|
|
DescriptorPool(DescriptorPool &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_descriptorPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorPool, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DescriptorPool &operator=(DescriptorPool const &) = delete;
|
|
DescriptorPool &operator=(DescriptorPool &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorPool, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DescriptorPool const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_descriptorPool;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_descriptorPool)
|
|
{
|
|
getDispatcher()->vkDestroyDescriptorPool(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorPool>(m_descriptorPool),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_descriptorPool = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorPool &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_descriptorPool, rhs.m_descriptorPool);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
void reset(VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DescriptorSet
|
|
{
|
|
public:
|
|
using CType = VkDescriptorSet;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSet;
|
|
|
|
public:
|
|
DescriptorSet(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device, VkDescriptorSet descriptorSet, VkDescriptorPool descriptorPool)
|
|
: m_device(*device)
|
|
, m_descriptorPool(descriptorPool)
|
|
, m_descriptorSet(descriptorSet)
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DescriptorSet(std::nullptr_t) {}
|
|
|
|
~DescriptorSet()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DescriptorSet() = delete;
|
|
DescriptorSet(DescriptorSet const &) = delete;
|
|
DescriptorSet(DescriptorSet &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_descriptorPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorPool, {})),
|
|
m_descriptorSet(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorSet, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DescriptorSet &operator=(DescriptorSet const &) = delete;
|
|
DescriptorSet &operator=(DescriptorSet &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorPool, {});
|
|
m_descriptorSet = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorSet, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DescriptorSet const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_descriptorSet;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_descriptorSet)
|
|
{
|
|
getDispatcher()->vkFreeDescriptorSets(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorPool>(m_descriptorPool),
|
|
1,
|
|
reinterpret_cast<VkDescriptorSet const *>(&m_descriptorSet));
|
|
}
|
|
m_device = nullptr;
|
|
m_descriptorPool = nullptr;
|
|
m_descriptorSet = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorSet &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_descriptorPool, rhs.m_descriptorPool);
|
|
std::swap(m_descriptorSet, rhs.m_descriptorSet);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
template<typename DataType>
|
|
void updateWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const &data) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_descriptor_update_template ===
|
|
|
|
template<typename DataType>
|
|
void updateWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, DataType const &data) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_VALVE_descriptor_set_host_mapping ===
|
|
|
|
VULKAN_HPP_NODISCARD void *getHostMappingVALVE() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool = {};
|
|
VULKAN_HPP_NAMESPACE::DescriptorSet m_descriptorSet = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DescriptorSets : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorSet>
|
|
{
|
|
public:
|
|
DescriptorSets(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const &allocateInfo)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkDescriptorSet> descriptorSets(allocateInfo.descriptorSetCount);
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkAllocateDescriptorSets(
|
|
static_cast<VkDevice>(*device), reinterpret_cast<const VkDescriptorSetAllocateInfo *>(&allocateInfo), descriptorSets.data()));
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
this->reserve(allocateInfo.descriptorSetCount);
|
|
for(auto const &descriptorSet : descriptorSets)
|
|
{
|
|
this->emplace_back(device, descriptorSet, static_cast<VkDescriptorPool>(allocateInfo.descriptorPool));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkAllocateDescriptorSets");
|
|
}
|
|
}
|
|
|
|
DescriptorSets(std::nullptr_t) {}
|
|
|
|
DescriptorSets() = delete;
|
|
DescriptorSets(DescriptorSets const &) = delete;
|
|
DescriptorSets(DescriptorSets &&rhs) = default;
|
|
DescriptorSets &operator=(DescriptorSets const &) = delete;
|
|
DescriptorSets &operator=(DescriptorSets &&rhs) = default;
|
|
};
|
|
|
|
class DescriptorSetLayout
|
|
{
|
|
public:
|
|
using CType = VkDescriptorSetLayout;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorSetLayout;
|
|
|
|
public:
|
|
DescriptorSetLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateDescriptorSetLayout(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDescriptorSetLayout *>(&m_descriptorSetLayout)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDescriptorSetLayout");
|
|
}
|
|
}
|
|
|
|
DescriptorSetLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkDescriptorSetLayout descriptorSetLayout,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_descriptorSetLayout(descriptorSetLayout)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DescriptorSetLayout(std::nullptr_t) {}
|
|
|
|
~DescriptorSetLayout()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DescriptorSetLayout() = delete;
|
|
DescriptorSetLayout(DescriptorSetLayout const &) = delete;
|
|
DescriptorSetLayout(DescriptorSetLayout &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_descriptorSetLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorSetLayout, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DescriptorSetLayout &operator=(DescriptorSetLayout const &) = delete;
|
|
DescriptorSetLayout &operator=(DescriptorSetLayout &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_descriptorSetLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorSetLayout, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayout const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_descriptorSetLayout;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_descriptorSetLayout)
|
|
{
|
|
getDispatcher()->vkDestroyDescriptorSetLayout(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorSetLayout>(m_descriptorSetLayout),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_descriptorSetLayout = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_descriptorSetLayout, rhs.m_descriptorSetLayout);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayout m_descriptorSetLayout = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DescriptorUpdateTemplate
|
|
{
|
|
public:
|
|
using CType = VkDescriptorUpdateTemplate;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDescriptorUpdateTemplate;
|
|
|
|
public:
|
|
DescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateDescriptorUpdateTemplate(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkDescriptorUpdateTemplateCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDescriptorUpdateTemplate *>(&m_descriptorUpdateTemplate)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDescriptorUpdateTemplate");
|
|
}
|
|
}
|
|
|
|
DescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_descriptorUpdateTemplate(descriptorUpdateTemplate)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DescriptorUpdateTemplate(std::nullptr_t) {}
|
|
|
|
~DescriptorUpdateTemplate()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DescriptorUpdateTemplate() = delete;
|
|
DescriptorUpdateTemplate(DescriptorUpdateTemplate const &) = delete;
|
|
DescriptorUpdateTemplate(DescriptorUpdateTemplate &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_descriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorUpdateTemplate, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DescriptorUpdateTemplate &operator=(DescriptorUpdateTemplate const &) = delete;
|
|
DescriptorUpdateTemplate &operator=(DescriptorUpdateTemplate &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_descriptorUpdateTemplate = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_descriptorUpdateTemplate, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_descriptorUpdateTemplate;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_descriptorUpdateTemplate)
|
|
{
|
|
getDispatcher()->vkDestroyDescriptorUpdateTemplate(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorUpdateTemplate>(m_descriptorUpdateTemplate),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_descriptorUpdateTemplate = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_descriptorUpdateTemplate, rhs.m_descriptorUpdateTemplate);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate m_descriptorUpdateTemplate = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DeviceMemory
|
|
{
|
|
public:
|
|
using CType = VkDeviceMemory;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDeviceMemory;
|
|
|
|
public:
|
|
DeviceMemory(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const &allocateInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkAllocateMemory(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkMemoryAllocateInfo *>(&allocateInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkDeviceMemory *>(&m_memory)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkAllocateMemory");
|
|
}
|
|
}
|
|
|
|
DeviceMemory(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkDeviceMemory memory,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_memory(memory)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DeviceMemory(std::nullptr_t) {}
|
|
|
|
~DeviceMemory()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DeviceMemory() = delete;
|
|
DeviceMemory(DeviceMemory const &) = delete;
|
|
DeviceMemory(DeviceMemory &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_memory(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_memory, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DeviceMemory &operator=(DeviceMemory const &) = delete;
|
|
DeviceMemory &operator=(DeviceMemory &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_memory = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_memory, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DeviceMemory const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_memory;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_memory)
|
|
{
|
|
getDispatcher()->vkFreeMemory(
|
|
static_cast<VkDevice>(m_device), static_cast<VkDeviceMemory>(m_memory), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_memory = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceMemory &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_memory, rhs.m_memory);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD void *mapMemory(VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize size,
|
|
VULKAN_HPP_NAMESPACE::MemoryMapFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
void unmapMemory() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize getCommitment() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_external_memory_win32 ===
|
|
|
|
VULKAN_HPP_NODISCARD HANDLE getMemoryWin32HandleNV(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType) const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_pageable_device_local_memory ===
|
|
|
|
void setPriorityEXT(float priority) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::DeviceMemory m_memory = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DisplayKHR
|
|
{
|
|
public:
|
|
using CType = VkDisplayKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayKHR;
|
|
|
|
public:
|
|
DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice, int32_t drmFd, uint32_t connectorId)
|
|
: m_physicalDevice(*physicalDevice)
|
|
, m_dispatcher(physicalDevice.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(physicalDevice.getDispatcher()->vkGetDrmDisplayEXT(
|
|
static_cast<VkPhysicalDevice>(*physicalDevice), drmFd, connectorId, reinterpret_cast<VkDisplayKHR *>(&m_display)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkGetDrmDisplayEXT");
|
|
}
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
|
|
DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice, Display &dpy, RROutput rrOutput)
|
|
: m_physicalDevice(*physicalDevice)
|
|
, m_dispatcher(physicalDevice.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(physicalDevice.getDispatcher()->vkGetRandROutputDisplayEXT(
|
|
static_cast<VkPhysicalDevice>(*physicalDevice), &dpy, rrOutput, reinterpret_cast<VkDisplayKHR *>(&m_display)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkGetRandROutputDisplayEXT");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice, uint32_t deviceRelativeId)
|
|
: m_physicalDevice(*physicalDevice)
|
|
, m_dispatcher(physicalDevice.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(physicalDevice.getDispatcher()->vkGetWinrtDisplayNV(
|
|
static_cast<VkPhysicalDevice>(*physicalDevice), deviceRelativeId, reinterpret_cast<VkDisplayKHR *>(&m_display)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkGetWinrtDisplayNV");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
DisplayKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice, VkDisplayKHR display)
|
|
: m_physicalDevice(*physicalDevice)
|
|
, m_display(display)
|
|
, m_dispatcher(physicalDevice.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DisplayKHR(std::nullptr_t) {}
|
|
|
|
~DisplayKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DisplayKHR() = delete;
|
|
DisplayKHR(DisplayKHR const &) = delete;
|
|
DisplayKHR(DisplayKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_physicalDevice(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_physicalDevice, {})),
|
|
m_display(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_display, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DisplayKHR &operator=(DisplayKHR const &) = delete;
|
|
DisplayKHR &operator=(DisplayKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_physicalDevice, {});
|
|
m_display = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_display, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DisplayKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_display;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_display)
|
|
{
|
|
getDispatcher()->vkReleaseDisplayEXT(static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkDisplayKHR>(m_display));
|
|
}
|
|
m_physicalDevice = nullptr;
|
|
m_display = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::PhysicalDevice getPhysicalDevice() const
|
|
{
|
|
return m_physicalDevice;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_physicalDevice, rhs.m_physicalDevice);
|
|
std::swap(m_display, rhs.m_display);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_KHR_display ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> getModeProperties() const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR
|
|
createMode(VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr) const;
|
|
|
|
//=== VK_KHR_get_display_properties2 ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> getModeProperties2() const;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_acquire_winrt_display ===
|
|
|
|
void acquireWinrtNV() const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {};
|
|
VULKAN_HPP_NAMESPACE::DisplayKHR m_display = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class DisplayKHRs : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR>
|
|
{
|
|
public:
|
|
DisplayKHRs(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice const &physicalDevice, uint32_t planeIndex)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *dispatcher = physicalDevice.getDispatcher();
|
|
std::vector<VkDisplayKHR> displays;
|
|
uint32_t displayCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
dispatcher->vkGetDisplayPlaneSupportedDisplaysKHR(static_cast<VkPhysicalDevice>(*physicalDevice), planeIndex, &displayCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && displayCount)
|
|
{
|
|
displays.resize(displayCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkGetDisplayPlaneSupportedDisplaysKHR(
|
|
static_cast<VkPhysicalDevice>(*physicalDevice), planeIndex, &displayCount, displays.data()));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(displayCount <= displays.size());
|
|
this->reserve(displayCount);
|
|
for(auto const &displayKHR : displays)
|
|
{
|
|
this->emplace_back(physicalDevice, displayKHR);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkGetDisplayPlaneSupportedDisplaysKHR");
|
|
}
|
|
}
|
|
|
|
DisplayKHRs(std::nullptr_t) {}
|
|
|
|
DisplayKHRs() = delete;
|
|
DisplayKHRs(DisplayKHRs const &) = delete;
|
|
DisplayKHRs(DisplayKHRs &&rhs) = default;
|
|
DisplayKHRs &operator=(DisplayKHRs const &) = delete;
|
|
DisplayKHRs &operator=(DisplayKHRs &&rhs) = default;
|
|
};
|
|
|
|
class DisplayModeKHR
|
|
{
|
|
public:
|
|
using CType = VkDisplayModeKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eDisplayModeKHR;
|
|
|
|
public:
|
|
DisplayModeKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const &display,
|
|
VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_physicalDevice(display.getPhysicalDevice())
|
|
, m_dispatcher(display.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(display.getDispatcher()->vkCreateDisplayModeKHR(
|
|
static_cast<VkPhysicalDevice>(display.getPhysicalDevice()),
|
|
static_cast<VkDisplayKHR>(*display),
|
|
reinterpret_cast<const VkDisplayModeCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)),
|
|
reinterpret_cast<VkDisplayModeKHR *>(&m_displayModeKHR)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDisplayModeKHR");
|
|
}
|
|
}
|
|
|
|
DisplayModeKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const &display, VkDisplayModeKHR displayModeKHR)
|
|
: m_physicalDevice(display.getPhysicalDevice())
|
|
, m_displayModeKHR(displayModeKHR)
|
|
, m_dispatcher(display.getDispatcher())
|
|
{
|
|
}
|
|
|
|
DisplayModeKHR(std::nullptr_t) {}
|
|
|
|
~DisplayModeKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
DisplayModeKHR() = delete;
|
|
DisplayModeKHR(DisplayModeKHR const &rhs)
|
|
: m_displayModeKHR(rhs.m_displayModeKHR)
|
|
, m_dispatcher(rhs.m_dispatcher)
|
|
{}
|
|
DisplayModeKHR(DisplayModeKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_physicalDevice(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_physicalDevice, {})),
|
|
m_displayModeKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_displayModeKHR, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
DisplayModeKHR &operator=(DisplayModeKHR const &rhs)
|
|
{
|
|
m_displayModeKHR = rhs.m_displayModeKHR;
|
|
m_dispatcher = rhs.m_dispatcher;
|
|
return *this;
|
|
}
|
|
DisplayModeKHR &operator=(DisplayModeKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_physicalDevice, {});
|
|
m_displayModeKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_displayModeKHR, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::DisplayModeKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_displayModeKHR;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
m_physicalDevice = nullptr;
|
|
m_displayModeKHR = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_physicalDevice, rhs.m_physicalDevice);
|
|
std::swap(m_displayModeKHR, rhs.m_displayModeKHR);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_KHR_display ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR getDisplayPlaneCapabilities(uint32_t planeIndex) const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice = {};
|
|
VULKAN_HPP_NAMESPACE::DisplayModeKHR m_displayModeKHR = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Event
|
|
{
|
|
public:
|
|
using CType = VkEvent;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eEvent;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eEvent;
|
|
|
|
public:
|
|
Event(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::EventCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateEvent(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkEventCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkEvent *>(&m_event)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateEvent");
|
|
}
|
|
}
|
|
|
|
Event(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkEvent event,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_event(event)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Event(std::nullptr_t) {}
|
|
|
|
~Event()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Event() = delete;
|
|
Event(Event const &) = delete;
|
|
Event(Event &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_event(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_event, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Event &operator=(Event const &) = delete;
|
|
Event &operator=(Event &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_event = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_event, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Event const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_event;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_event)
|
|
{
|
|
getDispatcher()->vkDestroyEvent(
|
|
static_cast<VkDevice>(m_device), static_cast<VkEvent>(m_event), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_event = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Event &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_event, rhs.m_event);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const;
|
|
|
|
void set() const;
|
|
|
|
void reset() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Event m_event = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Fence
|
|
{
|
|
public:
|
|
using CType = VkFence;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eFence;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFence;
|
|
|
|
public:
|
|
Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::FenceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateFence(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkFenceCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkFence *>(&m_fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateFence");
|
|
}
|
|
}
|
|
|
|
Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const &deviceEventInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkRegisterDeviceEventEXT(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkDeviceEventInfoEXT *>(&deviceEventInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkFence *>(&m_fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkRegisterDeviceEventEXT");
|
|
}
|
|
}
|
|
|
|
Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const &display,
|
|
VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const &displayEventInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkRegisterDisplayEventEXT(static_cast<VkDevice>(*device),
|
|
static_cast<VkDisplayKHR>(*display),
|
|
reinterpret_cast<const VkDisplayEventInfoEXT *>(&displayEventInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkFence *>(&m_fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkRegisterDisplayEventEXT");
|
|
}
|
|
}
|
|
|
|
Fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkFence fence,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_fence(fence)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Fence(std::nullptr_t) {}
|
|
|
|
~Fence()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Fence() = delete;
|
|
Fence(Fence const &) = delete;
|
|
Fence(Fence &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_fence(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_fence, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Fence &operator=(Fence const &) = delete;
|
|
Fence &operator=(Fence &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_fence = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_fence, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Fence const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_fence;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_fence)
|
|
{
|
|
getDispatcher()->vkDestroyFence(
|
|
static_cast<VkDevice>(m_device), static_cast<VkFence>(m_fence), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_fence = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Fence &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_fence, rhs.m_fence);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Fence m_fence = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Framebuffer
|
|
{
|
|
public:
|
|
using CType = VkFramebuffer;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eFramebuffer;
|
|
|
|
public:
|
|
Framebuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateFramebuffer(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkFramebufferCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkFramebuffer *>(&m_framebuffer)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateFramebuffer");
|
|
}
|
|
}
|
|
|
|
Framebuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkFramebuffer framebuffer,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_framebuffer(framebuffer)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Framebuffer(std::nullptr_t) {}
|
|
|
|
~Framebuffer()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Framebuffer() = delete;
|
|
Framebuffer(Framebuffer const &) = delete;
|
|
Framebuffer(Framebuffer &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_framebuffer(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_framebuffer, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Framebuffer &operator=(Framebuffer const &) = delete;
|
|
Framebuffer &operator=(Framebuffer &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_framebuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_framebuffer, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Framebuffer const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_framebuffer;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_framebuffer)
|
|
{
|
|
getDispatcher()->vkDestroyFramebuffer(
|
|
static_cast<VkDevice>(m_device), static_cast<VkFramebuffer>(m_framebuffer), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_framebuffer = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Framebuffer &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_framebuffer, rhs.m_framebuffer);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Framebuffer m_framebuffer = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Image
|
|
{
|
|
public:
|
|
using CType = VkImage;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eImage;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImage;
|
|
|
|
public:
|
|
Image(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::ImageCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateImage(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkImageCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkImage *>(&m_image)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateImage");
|
|
}
|
|
}
|
|
|
|
Image(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkImage image,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_image(image)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Image(std::nullptr_t) {}
|
|
|
|
~Image()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Image() = delete;
|
|
Image(Image const &) = delete;
|
|
Image(Image &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_image(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_image, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Image &operator=(Image const &) = delete;
|
|
Image &operator=(Image &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_image = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_image, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Image const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_image;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_image)
|
|
{
|
|
getDispatcher()->vkDestroyImage(
|
|
static_cast<VkDevice>(m_device), static_cast<VkImage>(m_image), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_image = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Image &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_image, rhs.m_image);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
void bindMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> getSparseMemoryRequirements() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout
|
|
getSubresourceLayout(const VULKAN_HPP_NAMESPACE::ImageSubresource &subresource) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_image_drm_format_modifier ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT getDrmFormatModifierPropertiesEXT() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Image m_image = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class ImageView
|
|
{
|
|
public:
|
|
using CType = VkImageView;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eImageView;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eImageView;
|
|
|
|
public:
|
|
ImageView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateImageView(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkImageViewCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkImageView *>(&m_imageView)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateImageView");
|
|
}
|
|
}
|
|
|
|
ImageView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkImageView imageView,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_imageView(imageView)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
ImageView(std::nullptr_t) {}
|
|
|
|
~ImageView()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
ImageView() = delete;
|
|
ImageView(ImageView const &) = delete;
|
|
ImageView(ImageView &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_imageView(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_imageView, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
ImageView &operator=(ImageView const &) = delete;
|
|
ImageView &operator=(ImageView &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_imageView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_imageView, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::ImageView const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_imageView;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_imageView)
|
|
{
|
|
getDispatcher()->vkDestroyImageView(
|
|
static_cast<VkDevice>(m_device), static_cast<VkImageView>(m_imageView), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_imageView = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ImageView &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_imageView, rhs.m_imageView);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_NVX_image_view_handle ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX getAddressNVX() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::ImageView m_imageView = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class IndirectCommandsLayoutNV
|
|
{
|
|
public:
|
|
using CType = VkIndirectCommandsLayoutNV;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
IndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateIndirectCommandsLayoutNV(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkIndirectCommandsLayoutCreateInfoNV *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkIndirectCommandsLayoutNV *>(&m_indirectCommandsLayout)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateIndirectCommandsLayoutNV");
|
|
}
|
|
}
|
|
|
|
IndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkIndirectCommandsLayoutNV indirectCommandsLayout,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_indirectCommandsLayout(indirectCommandsLayout)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
IndirectCommandsLayoutNV(std::nullptr_t) {}
|
|
|
|
~IndirectCommandsLayoutNV()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
IndirectCommandsLayoutNV() = delete;
|
|
IndirectCommandsLayoutNV(IndirectCommandsLayoutNV const &) = delete;
|
|
IndirectCommandsLayoutNV(IndirectCommandsLayoutNV &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_indirectCommandsLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_indirectCommandsLayout, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
IndirectCommandsLayoutNV &operator=(IndirectCommandsLayoutNV const &) = delete;
|
|
IndirectCommandsLayoutNV &operator=(IndirectCommandsLayoutNV &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_indirectCommandsLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_indirectCommandsLayout, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_indirectCommandsLayout;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_indirectCommandsLayout)
|
|
{
|
|
getDispatcher()->vkDestroyIndirectCommandsLayoutNV(static_cast<VkDevice>(m_device),
|
|
static_cast<VkIndirectCommandsLayoutNV>(m_indirectCommandsLayout),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_indirectCommandsLayout = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_indirectCommandsLayout, rhs.m_indirectCommandsLayout);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV m_indirectCommandsLayout = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class PerformanceConfigurationINTEL
|
|
{
|
|
public:
|
|
using CType = VkPerformanceConfigurationINTEL;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
PerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const &acquireInfo)
|
|
: m_device(*device)
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkAcquirePerformanceConfigurationINTEL(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkPerformanceConfigurationAcquireInfoINTEL *>(&acquireInfo),
|
|
reinterpret_cast<VkPerformanceConfigurationINTEL *>(&m_configuration)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkAcquirePerformanceConfigurationINTEL");
|
|
}
|
|
}
|
|
|
|
PerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device, VkPerformanceConfigurationINTEL configuration)
|
|
: m_device(*device)
|
|
, m_configuration(configuration)
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
PerformanceConfigurationINTEL(std::nullptr_t) {}
|
|
|
|
~PerformanceConfigurationINTEL()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
PerformanceConfigurationINTEL() = delete;
|
|
PerformanceConfigurationINTEL(PerformanceConfigurationINTEL const &) = delete;
|
|
PerformanceConfigurationINTEL(PerformanceConfigurationINTEL &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_configuration(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_configuration, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
PerformanceConfigurationINTEL &operator=(PerformanceConfigurationINTEL const &) = delete;
|
|
PerformanceConfigurationINTEL &operator=(PerformanceConfigurationINTEL &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_configuration = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_configuration, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_configuration;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_configuration)
|
|
{
|
|
getDispatcher()->vkReleasePerformanceConfigurationINTEL(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPerformanceConfigurationINTEL>(m_configuration));
|
|
}
|
|
m_device = nullptr;
|
|
m_configuration = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_configuration, rhs.m_configuration);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL m_configuration = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class PipelineCache
|
|
{
|
|
public:
|
|
using CType = VkPipelineCache;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineCache;
|
|
|
|
public:
|
|
PipelineCache(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreatePipelineCache(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkPipelineCacheCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPipelineCache *>(&m_pipelineCache)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreatePipelineCache");
|
|
}
|
|
}
|
|
|
|
PipelineCache(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkPipelineCache pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_pipelineCache(pipelineCache)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
PipelineCache(std::nullptr_t) {}
|
|
|
|
~PipelineCache()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
PipelineCache() = delete;
|
|
PipelineCache(PipelineCache const &) = delete;
|
|
PipelineCache(PipelineCache &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_pipelineCache(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_pipelineCache, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
PipelineCache &operator=(PipelineCache const &) = delete;
|
|
PipelineCache &operator=(PipelineCache &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_pipelineCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_pipelineCache, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::PipelineCache const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_pipelineCache;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_pipelineCache)
|
|
{
|
|
getDispatcher()->vkDestroyPipelineCache(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipelineCache>(m_pipelineCache),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_pipelineCache = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_pipelineCache, rhs.m_pipelineCache);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const;
|
|
|
|
void merge(ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const &srcCaches) const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::PipelineCache m_pipelineCache = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Pipeline
|
|
{
|
|
public:
|
|
using CType = VkPipeline;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipeline;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipeline;
|
|
|
|
public:
|
|
Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
m_constructorSuccessCode = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCreateComputePipelines(static_cast<VkDevice>(*device),
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
1,
|
|
reinterpret_cast<const VkComputePipelineCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPipeline *>(&m_pipeline)));
|
|
if((m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess) &&
|
|
(m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
throwResultException(m_constructorSuccessCode, "vkCreateComputePipelines");
|
|
}
|
|
}
|
|
|
|
Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
m_constructorSuccessCode = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCreateGraphicsPipelines(static_cast<VkDevice>(*device),
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
1,
|
|
reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPipeline *>(&m_pipeline)));
|
|
if((m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess) &&
|
|
(m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
throwResultException(m_constructorSuccessCode, "vkCreateGraphicsPipelines");
|
|
}
|
|
}
|
|
|
|
Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const &deferredOperation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
m_constructorSuccessCode = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCreateRayTracingPipelinesKHR(static_cast<VkDevice>(*device),
|
|
deferredOperation ? static_cast<VkDeferredOperationKHR>(**deferredOperation) : 0,
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
1,
|
|
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPipeline *>(&m_pipeline)));
|
|
if((m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess) &&
|
|
(m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) &&
|
|
(m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR) &&
|
|
(m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
throwResultException(m_constructorSuccessCode, "vkCreateRayTracingPipelinesKHR");
|
|
}
|
|
}
|
|
|
|
Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
m_constructorSuccessCode = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCreateRayTracingPipelinesNV(static_cast<VkDevice>(*device),
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
1,
|
|
reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPipeline *>(&m_pipeline)));
|
|
if((m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::eSuccess) &&
|
|
(m_constructorSuccessCode != VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
throwResultException(m_constructorSuccessCode, "vkCreateRayTracingPipelinesNV");
|
|
}
|
|
}
|
|
|
|
Pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkPipeline pipeline,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr,
|
|
VULKAN_HPP_NAMESPACE::Result successCode = VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
: m_device(*device)
|
|
, m_pipeline(pipeline)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_constructorSuccessCode(successCode)
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Pipeline(std::nullptr_t) {}
|
|
|
|
~Pipeline()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Pipeline() = delete;
|
|
Pipeline(Pipeline const &) = delete;
|
|
Pipeline(Pipeline &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_pipeline(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_pipeline, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Pipeline &operator=(Pipeline const &) = delete;
|
|
Pipeline &operator=(Pipeline &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_pipeline = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_pipeline, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Pipeline const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_pipeline;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_pipeline)
|
|
{
|
|
getDispatcher()->vkDestroyPipeline(
|
|
static_cast<VkDevice>(m_device), static_cast<VkPipeline>(m_pipeline), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_pipeline = nullptr;
|
|
m_allocator = nullptr;
|
|
m_constructorSuccessCode = VULKAN_HPP_NAMESPACE::Result::eErrorUnknown;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Result getConstructorSuccessCode() const
|
|
{
|
|
return m_constructorSuccessCode;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Pipeline &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_pipeline, rhs.m_pipeline);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_constructorSuccessCode, rhs.m_constructorSuccessCode);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_AMD_shader_info ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<uint8_t> getShaderInfoAMD(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
|
|
VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType) const;
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::vector<DataType> getRayTracingShaderGroupHandlesNV(uint32_t firstGroup, uint32_t groupCount, size_t dataSize) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType getRayTracingShaderGroupHandleNV(uint32_t firstGroup, uint32_t groupCount) const;
|
|
|
|
void compileDeferredNV(uint32_t shader) const;
|
|
|
|
//=== VK_KHR_ray_tracing_pipeline ===
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::vector<DataType> getRayTracingShaderGroupHandlesKHR(uint32_t firstGroup, uint32_t groupCount, size_t dataSize) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType getRayTracingShaderGroupHandleKHR(uint32_t firstGroup, uint32_t groupCount) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::vector<DataType>
|
|
getRayTracingCaptureReplayShaderGroupHandlesKHR(uint32_t firstGroup, uint32_t groupCount, size_t dataSize) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType getRayTracingCaptureReplayShaderGroupHandleKHR(uint32_t firstGroup, uint32_t groupCount) const;
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize
|
|
getRayTracingShaderGroupStackSizeKHR(uint32_t group, VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Pipeline m_pipeline = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::Result m_constructorSuccessCode = VULKAN_HPP_NAMESPACE::Result::eErrorUnknown;
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Pipelines : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Pipeline>
|
|
{
|
|
public:
|
|
Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkPipeline> pipelines(createInfos.size());
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkCreateComputePipelines(
|
|
static_cast<VkDevice>(*device),
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
createInfos.size(),
|
|
reinterpret_cast<const VkComputePipelineCreateInfo *>(createInfos.data()),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)),
|
|
pipelines.data()));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) || (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
this->reserve(createInfos.size());
|
|
for(auto const &pipeline : pipelines)
|
|
{
|
|
this->emplace_back(device, pipeline, allocator, result);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkCreateComputePipelines");
|
|
}
|
|
}
|
|
|
|
Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkPipeline> pipelines(createInfos.size());
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkCreateGraphicsPipelines(
|
|
static_cast<VkDevice>(*device),
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
createInfos.size(),
|
|
reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(createInfos.data()),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)),
|
|
pipelines.data()));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) || (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
this->reserve(createInfos.size());
|
|
for(auto const &pipeline : pipelines)
|
|
{
|
|
this->emplace_back(device, pipeline, allocator, result);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkCreateGraphicsPipelines");
|
|
}
|
|
}
|
|
|
|
Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const &deferredOperation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkPipeline> pipelines(createInfos.size());
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkCreateRayTracingPipelinesKHR(
|
|
static_cast<VkDevice>(*device),
|
|
deferredOperation ? static_cast<VkDeferredOperationKHR>(**deferredOperation) : 0,
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
createInfos.size(),
|
|
reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>(createInfos.data()),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)),
|
|
pipelines.data()));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) || (result == VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) ||
|
|
(result == VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR) || (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
this->reserve(createInfos.size());
|
|
for(auto const &pipeline : pipelines)
|
|
{
|
|
this->emplace_back(device, pipeline, allocator, result);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkCreateRayTracingPipelinesKHR");
|
|
}
|
|
}
|
|
|
|
Pipelines(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkPipeline> pipelines(createInfos.size());
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkCreateRayTracingPipelinesNV(
|
|
static_cast<VkDevice>(*device),
|
|
pipelineCache ? static_cast<VkPipelineCache>(**pipelineCache) : 0,
|
|
createInfos.size(),
|
|
reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>(createInfos.data()),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)),
|
|
pipelines.data()));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) || (result == VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT))
|
|
{
|
|
this->reserve(createInfos.size());
|
|
for(auto const &pipeline : pipelines)
|
|
{
|
|
this->emplace_back(device, pipeline, allocator, result);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkCreateRayTracingPipelinesNV");
|
|
}
|
|
}
|
|
|
|
Pipelines(std::nullptr_t) {}
|
|
|
|
Pipelines() = delete;
|
|
Pipelines(Pipelines const &) = delete;
|
|
Pipelines(Pipelines &&rhs) = default;
|
|
Pipelines &operator=(Pipelines const &) = delete;
|
|
Pipelines &operator=(Pipelines &&rhs) = default;
|
|
};
|
|
|
|
class PipelineLayout
|
|
{
|
|
public:
|
|
using CType = VkPipelineLayout;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::ePipelineLayout;
|
|
|
|
public:
|
|
PipelineLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreatePipelineLayout(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkPipelineLayoutCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPipelineLayout *>(&m_pipelineLayout)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreatePipelineLayout");
|
|
}
|
|
}
|
|
|
|
PipelineLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkPipelineLayout pipelineLayout,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_pipelineLayout(pipelineLayout)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
PipelineLayout(std::nullptr_t) {}
|
|
|
|
~PipelineLayout()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
PipelineLayout() = delete;
|
|
PipelineLayout(PipelineLayout const &) = delete;
|
|
PipelineLayout(PipelineLayout &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_pipelineLayout(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_pipelineLayout, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
PipelineLayout &operator=(PipelineLayout const &) = delete;
|
|
PipelineLayout &operator=(PipelineLayout &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_pipelineLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_pipelineLayout, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_pipelineLayout;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_pipelineLayout)
|
|
{
|
|
getDispatcher()->vkDestroyPipelineLayout(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipelineLayout>(m_pipelineLayout),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_pipelineLayout = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineLayout &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_pipelineLayout, rhs.m_pipelineLayout);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout m_pipelineLayout = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class PrivateDataSlot
|
|
{
|
|
public:
|
|
using CType = VkPrivateDataSlot;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlot;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
PrivateDataSlot(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreatePrivateDataSlot(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkPrivateDataSlotCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkPrivateDataSlot *>(&m_privateDataSlot)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreatePrivateDataSlot");
|
|
}
|
|
}
|
|
|
|
PrivateDataSlot(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkPrivateDataSlot privateDataSlot,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_privateDataSlot(privateDataSlot)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
PrivateDataSlot(std::nullptr_t) {}
|
|
|
|
~PrivateDataSlot()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
PrivateDataSlot() = delete;
|
|
PrivateDataSlot(PrivateDataSlot const &) = delete;
|
|
PrivateDataSlot(PrivateDataSlot &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_privateDataSlot(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_privateDataSlot, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
PrivateDataSlot &operator=(PrivateDataSlot const &) = delete;
|
|
PrivateDataSlot &operator=(PrivateDataSlot &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_privateDataSlot = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_privateDataSlot, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_privateDataSlot;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_privateDataSlot)
|
|
{
|
|
getDispatcher()->vkDestroyPrivateDataSlot(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPrivateDataSlot>(m_privateDataSlot),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_privateDataSlot = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_privateDataSlot, rhs.m_privateDataSlot);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot m_privateDataSlot = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class QueryPool
|
|
{
|
|
public:
|
|
using CType = VkQueryPool;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueryPool;
|
|
|
|
public:
|
|
QueryPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateQueryPool(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkQueryPoolCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkQueryPool *>(&m_queryPool)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateQueryPool");
|
|
}
|
|
}
|
|
|
|
QueryPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkQueryPool queryPool,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_queryPool(queryPool)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
QueryPool(std::nullptr_t) {}
|
|
|
|
~QueryPool()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
QueryPool() = delete;
|
|
QueryPool(QueryPool const &) = delete;
|
|
QueryPool(QueryPool &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_queryPool(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_queryPool, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
QueryPool &operator=(QueryPool const &) = delete;
|
|
QueryPool &operator=(QueryPool &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_queryPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_queryPool, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::QueryPool const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_queryPool;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_queryPool)
|
|
{
|
|
getDispatcher()->vkDestroyQueryPool(
|
|
static_cast<VkDevice>(m_device), static_cast<VkQueryPool>(m_queryPool), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_queryPool = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::QueryPool &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_queryPool, rhs.m_queryPool);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, std::vector<DataType>>
|
|
getResults(uint32_t firstQuery,
|
|
uint32_t queryCount,
|
|
size_t dataSize,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize stride,
|
|
VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, DataType>
|
|
getResult(uint32_t firstQuery,
|
|
uint32_t queryCount,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize stride,
|
|
VULKAN_HPP_NAMESPACE::QueryResultFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
|
|
void reset(uint32_t firstQuery, uint32_t queryCount) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_EXT_host_query_reset ===
|
|
|
|
void resetEXT(uint32_t firstQuery, uint32_t queryCount) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::QueryPool m_queryPool = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Queue
|
|
{
|
|
public:
|
|
using CType = VkQueue;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eQueue;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eQueue;
|
|
|
|
public:
|
|
Queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device, uint32_t queueFamilyIndex, uint32_t queueIndex)
|
|
: m_dispatcher(device.getDispatcher())
|
|
{
|
|
getDispatcher()->vkGetDeviceQueue(static_cast<VkDevice>(*device), queueFamilyIndex, queueIndex, reinterpret_cast<VkQueue *>(&m_queue));
|
|
}
|
|
|
|
Queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device, VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const &queueInfo)
|
|
: m_dispatcher(device.getDispatcher())
|
|
{
|
|
getDispatcher()->vkGetDeviceQueue2(
|
|
static_cast<VkDevice>(*device), reinterpret_cast<const VkDeviceQueueInfo2 *>(&queueInfo), reinterpret_cast<VkQueue *>(&m_queue));
|
|
}
|
|
|
|
Queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device, VkQueue queue)
|
|
: m_queue(queue)
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Queue(std::nullptr_t) {}
|
|
|
|
~Queue()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Queue() = delete;
|
|
Queue(Queue const &rhs)
|
|
: m_queue(rhs.m_queue)
|
|
, m_dispatcher(rhs.m_dispatcher)
|
|
{}
|
|
Queue(Queue &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_queue(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_queue, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Queue &operator=(Queue const &rhs)
|
|
{
|
|
m_queue = rhs.m_queue;
|
|
m_dispatcher = rhs.m_dispatcher;
|
|
return *this;
|
|
}
|
|
Queue &operator=(Queue &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
m_queue = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_queue, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Queue const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_queue;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
m_queue = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Queue &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_queue, rhs.m_queue);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
void submit(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const &submits,
|
|
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
void waitIdle() const;
|
|
|
|
void bindSparse(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const &bindInfo,
|
|
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
|
|
void submit2(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const &submits,
|
|
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result presentKHR(const VULKAN_HPP_NAMESPACE::PresentInfoKHR &presentInfo) const;
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
|
|
void beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
void insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_NV_device_diagnostic_checkpoints ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> getCheckpointDataNV() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
|
|
void setPerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration) const;
|
|
|
|
//=== VK_KHR_synchronization2 ===
|
|
|
|
void submit2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const &submits,
|
|
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> getCheckpointData2NV() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Queue m_queue = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class RenderPass
|
|
{
|
|
public:
|
|
using CType = VkRenderPass;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eRenderPass;
|
|
|
|
public:
|
|
RenderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateRenderPass(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkRenderPassCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkRenderPass *>(&m_renderPass)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateRenderPass");
|
|
}
|
|
}
|
|
|
|
RenderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateRenderPass2(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkRenderPassCreateInfo2 *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkRenderPass *>(&m_renderPass)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateRenderPass2");
|
|
}
|
|
}
|
|
|
|
RenderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkRenderPass renderPass,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_renderPass(renderPass)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
RenderPass(std::nullptr_t) {}
|
|
|
|
~RenderPass()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
RenderPass() = delete;
|
|
RenderPass(RenderPass const &) = delete;
|
|
RenderPass(RenderPass &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_renderPass(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_renderPass, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
RenderPass &operator=(RenderPass const &) = delete;
|
|
RenderPass &operator=(RenderPass &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_renderPass = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_renderPass, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::RenderPass const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_renderPass;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_renderPass)
|
|
{
|
|
getDispatcher()->vkDestroyRenderPass(
|
|
static_cast<VkDevice>(m_device), static_cast<VkRenderPass>(m_renderPass), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_renderPass = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::RenderPass &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_renderPass, rhs.m_renderPass);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Extent2D getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_HUAWEI_subpass_shading ===
|
|
|
|
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D> getSubpassShadingMaxWorkgroupSizeHUAWEI() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::RenderPass m_renderPass = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Sampler
|
|
{
|
|
public:
|
|
using CType = VkSampler;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSampler;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSampler;
|
|
|
|
public:
|
|
Sampler(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::SamplerCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateSampler(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkSamplerCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSampler *>(&m_sampler)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateSampler");
|
|
}
|
|
}
|
|
|
|
Sampler(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkSampler sampler,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_sampler(sampler)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Sampler(std::nullptr_t) {}
|
|
|
|
~Sampler()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Sampler() = delete;
|
|
Sampler(Sampler const &) = delete;
|
|
Sampler(Sampler &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_sampler(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_sampler, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Sampler &operator=(Sampler const &) = delete;
|
|
Sampler &operator=(Sampler &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_sampler = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_sampler, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Sampler const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_sampler;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_sampler)
|
|
{
|
|
getDispatcher()->vkDestroySampler(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSampler>(m_sampler), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_sampler = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Sampler &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_sampler, rhs.m_sampler);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Sampler m_sampler = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class SamplerYcbcrConversion
|
|
{
|
|
public:
|
|
using CType = VkSamplerYcbcrConversion;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSamplerYcbcrConversion;
|
|
|
|
public:
|
|
SamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateSamplerYcbcrConversion(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkSamplerYcbcrConversionCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSamplerYcbcrConversion *>(&m_ycbcrConversion)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateSamplerYcbcrConversion");
|
|
}
|
|
}
|
|
|
|
SamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkSamplerYcbcrConversion ycbcrConversion,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_ycbcrConversion(ycbcrConversion)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
SamplerYcbcrConversion(std::nullptr_t) {}
|
|
|
|
~SamplerYcbcrConversion()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
SamplerYcbcrConversion() = delete;
|
|
SamplerYcbcrConversion(SamplerYcbcrConversion const &) = delete;
|
|
SamplerYcbcrConversion(SamplerYcbcrConversion &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_ycbcrConversion(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_ycbcrConversion, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
SamplerYcbcrConversion &operator=(SamplerYcbcrConversion const &) = delete;
|
|
SamplerYcbcrConversion &operator=(SamplerYcbcrConversion &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_ycbcrConversion = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_ycbcrConversion, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_ycbcrConversion;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_ycbcrConversion)
|
|
{
|
|
getDispatcher()->vkDestroySamplerYcbcrConversion(static_cast<VkDevice>(m_device),
|
|
static_cast<VkSamplerYcbcrConversion>(m_ycbcrConversion),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_ycbcrConversion = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_ycbcrConversion, rhs.m_ycbcrConversion);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion m_ycbcrConversion = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class Semaphore
|
|
{
|
|
public:
|
|
using CType = VkSemaphore;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSemaphore;
|
|
|
|
public:
|
|
Semaphore(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(device.getDispatcher()->vkCreateSemaphore(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkSemaphoreCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSemaphore *>(&m_semaphore)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateSemaphore");
|
|
}
|
|
}
|
|
|
|
Semaphore(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkSemaphore semaphore,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_semaphore(semaphore)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
Semaphore(std::nullptr_t) {}
|
|
|
|
~Semaphore()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
Semaphore() = delete;
|
|
Semaphore(Semaphore const &) = delete;
|
|
Semaphore(Semaphore &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_semaphore(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_semaphore, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
Semaphore &operator=(Semaphore const &) = delete;
|
|
Semaphore &operator=(Semaphore &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_semaphore = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_semaphore, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Semaphore const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_semaphore;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_semaphore)
|
|
{
|
|
getDispatcher()->vkDestroySemaphore(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSemaphore>(m_semaphore), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_semaphore = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Semaphore &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_semaphore, rhs.m_semaphore);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getCounterValue() const;
|
|
|
|
//=== VK_KHR_timeline_semaphore ===
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getCounterValueKHR() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::Semaphore m_semaphore = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class ShaderModule
|
|
{
|
|
public:
|
|
using CType = VkShaderModule;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eShaderModule;
|
|
|
|
public:
|
|
ShaderModule(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateShaderModule(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkShaderModuleCreateInfo *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkShaderModule *>(&m_shaderModule)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateShaderModule");
|
|
}
|
|
}
|
|
|
|
ShaderModule(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkShaderModule shaderModule,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_shaderModule(shaderModule)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
ShaderModule(std::nullptr_t) {}
|
|
|
|
~ShaderModule()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
ShaderModule() = delete;
|
|
ShaderModule(ShaderModule const &) = delete;
|
|
ShaderModule(ShaderModule &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_shaderModule(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_shaderModule, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
ShaderModule &operator=(ShaderModule const &) = delete;
|
|
ShaderModule &operator=(ShaderModule &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_shaderModule = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_shaderModule, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::ShaderModule const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_shaderModule;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_shaderModule)
|
|
{
|
|
getDispatcher()->vkDestroyShaderModule(
|
|
static_cast<VkDevice>(m_device), static_cast<VkShaderModule>(m_shaderModule), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_shaderModule = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ShaderModule &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_shaderModule, rhs.m_shaderModule);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::ShaderModule m_shaderModule = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class SurfaceKHR
|
|
{
|
|
public:
|
|
using CType = VkSurfaceKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSurfaceKHR;
|
|
|
|
public:
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateAndroidSurfaceKHR(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkAndroidSurfaceCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateAndroidSurfaceKHR");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateDirectFBSurfaceEXT(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkDirectFBSurfaceCreateInfoEXT *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDirectFBSurfaceEXT");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
|
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateDisplayPlaneSurfaceKHR(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkDisplaySurfaceCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateDisplayPlaneSurfaceKHR");
|
|
}
|
|
}
|
|
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateHeadlessSurfaceEXT(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkHeadlessSurfaceCreateInfoEXT *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateHeadlessSurfaceEXT");
|
|
}
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_IOS_MVK)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateIOSSurfaceMVK(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkIOSSurfaceCreateInfoMVK *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateIOSSurfaceMVK");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_IOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateImagePipeSurfaceFUCHSIA(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkImagePipeSurfaceCreateInfoFUCHSIA *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateImagePipeSurfaceFUCHSIA");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_MACOS_MVK)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateMacOSSurfaceMVK(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkMacOSSurfaceCreateInfoMVK *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateMacOSSurfaceMVK");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_MACOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_METAL_EXT)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateMetalSurfaceEXT(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkMetalSurfaceCreateInfoEXT *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateMetalSurfaceEXT");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
|
|
|
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateScreenSurfaceQNX(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkScreenSurfaceCreateInfoQNX *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateScreenSurfaceQNX");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
|
|
|
# if defined(VK_USE_PLATFORM_GGP)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateStreamDescriptorSurfaceGGP(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkStreamDescriptorSurfaceCreateInfoGGP *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateStreamDescriptorSurfaceGGP");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_GGP*/
|
|
|
|
# if defined(VK_USE_PLATFORM_VI_NN)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateViSurfaceNN(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkViSurfaceCreateInfoNN *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateViSurfaceNN");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_VI_NN*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateWaylandSurfaceKHR(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkWaylandSurfaceCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateWaylandSurfaceKHR");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateWin32SurfaceKHR(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkWin32SurfaceCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateWin32SurfaceKHR");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XCB_KHR)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateXcbSurfaceKHR(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkXcbSurfaceCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateXcbSurfaceKHR");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_XCB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
instance.getDispatcher()->vkCreateXlibSurfaceKHR(static_cast<VkInstance>(*instance),
|
|
reinterpret_cast<const VkXlibSurfaceCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSurfaceKHR *>(&m_surface)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateXlibSurfaceKHR");
|
|
}
|
|
}
|
|
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
|
|
|
|
SurfaceKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Instance const &instance,
|
|
VkSurfaceKHR surface,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_instance(*instance)
|
|
, m_surface(surface)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(instance.getDispatcher())
|
|
{
|
|
}
|
|
|
|
SurfaceKHR(std::nullptr_t) {}
|
|
|
|
~SurfaceKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
SurfaceKHR() = delete;
|
|
SurfaceKHR(SurfaceKHR const &) = delete;
|
|
SurfaceKHR(SurfaceKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_instance(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {})),
|
|
m_surface(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_surface, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
SurfaceKHR &operator=(SurfaceKHR const &) = delete;
|
|
SurfaceKHR &operator=(SurfaceKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_instance, {});
|
|
m_surface = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_surface, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::SurfaceKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_surface;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_surface)
|
|
{
|
|
getDispatcher()->vkDestroySurfaceKHR(
|
|
static_cast<VkInstance>(m_instance), static_cast<VkSurfaceKHR>(m_surface), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_instance = nullptr;
|
|
m_surface = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Instance getInstance() const
|
|
{
|
|
return m_instance;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_instance, rhs.m_instance);
|
|
std::swap(m_surface, rhs.m_surface);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Instance m_instance = {};
|
|
VULKAN_HPP_NAMESPACE::SurfaceKHR m_surface = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class SwapchainKHR
|
|
{
|
|
public:
|
|
using CType = VkSwapchainKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eSwapchainKHR;
|
|
|
|
public:
|
|
SwapchainKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateSwapchainKHR(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkSwapchainCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkSwapchainKHR *>(&m_swapchain)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateSwapchainKHR");
|
|
}
|
|
}
|
|
|
|
SwapchainKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkSwapchainKHR swapchain,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_swapchain(swapchain)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
SwapchainKHR(std::nullptr_t) {}
|
|
|
|
~SwapchainKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
SwapchainKHR() = delete;
|
|
SwapchainKHR(SwapchainKHR const &) = delete;
|
|
SwapchainKHR(SwapchainKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_swapchain(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_swapchain, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
SwapchainKHR &operator=(SwapchainKHR const &) = delete;
|
|
SwapchainKHR &operator=(SwapchainKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_swapchain = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_swapchain, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::SwapchainKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_swapchain;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_swapchain)
|
|
{
|
|
getDispatcher()->vkDestroySwapchainKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_swapchain = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_swapchain, rhs.m_swapchain);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VkImage> getImages() const;
|
|
|
|
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t>
|
|
acquireNextImage(uint64_t timeout,
|
|
VULKAN_HPP_NAMESPACE::Semaphore semaphore VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT,
|
|
VULKAN_HPP_NAMESPACE::Fence fence VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT) const;
|
|
|
|
//=== VK_EXT_display_control ===
|
|
|
|
VULKAN_HPP_NODISCARD uint64_t getCounterEXT(VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter) const;
|
|
|
|
//=== VK_GOOGLE_display_timing ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE getRefreshCycleDurationGOOGLE() const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> getPastPresentationTimingGOOGLE() const;
|
|
|
|
//=== VK_KHR_shared_presentable_image ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const;
|
|
|
|
//=== VK_AMD_display_native_hdr ===
|
|
|
|
void setLocalDimmingAMD(VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable) const VULKAN_HPP_NOEXCEPT;
|
|
|
|
//=== VK_KHR_present_wait ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result waitForPresent(uint64_t presentId, uint64_t timeout) const;
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
|
|
void acquireFullScreenExclusiveModeEXT() const;
|
|
|
|
void releaseFullScreenExclusiveModeEXT() const;
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::SwapchainKHR m_swapchain = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
class SwapchainKHRs : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR>
|
|
{
|
|
public:
|
|
SwapchainKHRs(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
{
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *dispatcher = device.getDispatcher();
|
|
std::vector<VkSwapchainKHR> swapchains(createInfos.size());
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(dispatcher->vkCreateSharedSwapchainsKHR(
|
|
static_cast<VkDevice>(*device),
|
|
createInfos.size(),
|
|
reinterpret_cast<const VkSwapchainCreateInfoKHR *>(createInfos.data()),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)),
|
|
swapchains.data()));
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
this->reserve(createInfos.size());
|
|
for(auto const &swapchainKHR : swapchains)
|
|
{
|
|
this->emplace_back(device, swapchainKHR, allocator);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throwResultException(result, "vkCreateSharedSwapchainsKHR");
|
|
}
|
|
}
|
|
|
|
SwapchainKHRs(std::nullptr_t) {}
|
|
|
|
SwapchainKHRs() = delete;
|
|
SwapchainKHRs(SwapchainKHRs const &) = delete;
|
|
SwapchainKHRs(SwapchainKHRs &&rhs) = default;
|
|
SwapchainKHRs &operator=(SwapchainKHRs const &) = delete;
|
|
SwapchainKHRs &operator=(SwapchainKHRs &&rhs) = default;
|
|
};
|
|
|
|
class ValidationCacheEXT
|
|
{
|
|
public:
|
|
using CType = VkValidationCacheEXT;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eValidationCacheEXT;
|
|
|
|
public:
|
|
ValidationCacheEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateValidationCacheEXT(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkValidationCacheCreateInfoEXT *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkValidationCacheEXT *>(&m_validationCache)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateValidationCacheEXT");
|
|
}
|
|
}
|
|
|
|
ValidationCacheEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkValidationCacheEXT validationCache,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_validationCache(validationCache)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
ValidationCacheEXT(std::nullptr_t) {}
|
|
|
|
~ValidationCacheEXT()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
ValidationCacheEXT() = delete;
|
|
ValidationCacheEXT(ValidationCacheEXT const &) = delete;
|
|
ValidationCacheEXT(ValidationCacheEXT &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_validationCache(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_validationCache, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
ValidationCacheEXT &operator=(ValidationCacheEXT const &) = delete;
|
|
ValidationCacheEXT &operator=(ValidationCacheEXT &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_validationCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_validationCache, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::ValidationCacheEXT const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_validationCache;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_validationCache)
|
|
{
|
|
getDispatcher()->vkDestroyValidationCacheEXT(static_cast<VkDevice>(m_device),
|
|
static_cast<VkValidationCacheEXT>(m_validationCache),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_validationCache = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_validationCache, rhs.m_validationCache);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_EXT_validation_cache ===
|
|
|
|
void merge(ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const &srcCaches) const;
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::ValidationCacheEXT m_validationCache = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
class VideoSessionKHR
|
|
{
|
|
public:
|
|
using CType = VkVideoSessionKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
VideoSessionKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateVideoSessionKHR(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkVideoSessionCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkVideoSessionKHR *>(&m_videoSession)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateVideoSessionKHR");
|
|
}
|
|
}
|
|
|
|
VideoSessionKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkVideoSessionKHR videoSession,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_videoSession(videoSession)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
VideoSessionKHR(std::nullptr_t) {}
|
|
|
|
~VideoSessionKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
VideoSessionKHR() = delete;
|
|
VideoSessionKHR(VideoSessionKHR const &) = delete;
|
|
VideoSessionKHR(VideoSessionKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_videoSession(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_videoSession, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
VideoSessionKHR &operator=(VideoSessionKHR const &) = delete;
|
|
VideoSessionKHR &operator=(VideoSessionKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_videoSession = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_videoSession, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VideoSessionKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_videoSession;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_videoSession)
|
|
{
|
|
getDispatcher()->vkDestroyVideoSessionKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkVideoSessionKHR>(m_videoSession),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_videoSession = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_videoSession, rhs.m_videoSession);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_KHR_video_queue ===
|
|
|
|
VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> getMemoryRequirements() const;
|
|
|
|
void bindMemory(ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const &videoSessionBindMemories) const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::VideoSessionKHR m_videoSession = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
class VideoSessionParametersKHR
|
|
{
|
|
public:
|
|
using CType = VkVideoSessionParametersKHR;
|
|
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionParametersKHR;
|
|
static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eUnknown;
|
|
|
|
public:
|
|
VideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
device.getDispatcher()->vkCreateVideoSessionParametersKHR(static_cast<VkDevice>(*device),
|
|
reinterpret_cast<const VkVideoSessionParametersCreateInfoKHR *>(&createInfo),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator),
|
|
reinterpret_cast<VkVideoSessionParametersKHR *>(&m_videoSessionParameters)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, "vkCreateVideoSessionParametersKHR");
|
|
}
|
|
}
|
|
|
|
VideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &device,
|
|
VkVideoSessionParametersKHR videoSessionParameters,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr)
|
|
: m_device(*device)
|
|
, m_videoSessionParameters(videoSessionParameters)
|
|
, m_allocator(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator))
|
|
, m_dispatcher(device.getDispatcher())
|
|
{
|
|
}
|
|
|
|
VideoSessionParametersKHR(std::nullptr_t) {}
|
|
|
|
~VideoSessionParametersKHR()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
VideoSessionParametersKHR() = delete;
|
|
VideoSessionParametersKHR(VideoSessionParametersKHR const &) = delete;
|
|
VideoSessionParametersKHR(VideoSessionParametersKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
: m_device(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {})),
|
|
m_videoSessionParameters(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_videoSessionParameters, {})),
|
|
m_allocator(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {})),
|
|
m_dispatcher(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr))
|
|
{
|
|
}
|
|
VideoSessionParametersKHR &operator=(VideoSessionParametersKHR const &) = delete;
|
|
VideoSessionParametersKHR &operator=(VideoSessionParametersKHR &&rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(this != &rhs)
|
|
{
|
|
clear();
|
|
m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_device, {});
|
|
m_videoSessionParameters = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_videoSessionParameters, {});
|
|
m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_allocator, {});
|
|
m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange(rhs.m_dispatcher, nullptr);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const &operator*() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return m_videoSessionParameters;
|
|
}
|
|
|
|
void clear() VULKAN_HPP_NOEXCEPT
|
|
{
|
|
if(m_videoSessionParameters)
|
|
{
|
|
getDispatcher()->vkDestroyVideoSessionParametersKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkVideoSessionParametersKHR>(m_videoSessionParameters),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(m_allocator));
|
|
}
|
|
m_device = nullptr;
|
|
m_videoSessionParameters = nullptr;
|
|
m_allocator = nullptr;
|
|
m_dispatcher = nullptr;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Device getDevice() const
|
|
{
|
|
return m_device;
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *getDispatcher() const
|
|
{
|
|
VULKAN_HPP_ASSERT(m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION);
|
|
return m_dispatcher;
|
|
}
|
|
|
|
void swap(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR &rhs) VULKAN_HPP_NOEXCEPT
|
|
{
|
|
std::swap(m_device, rhs.m_device);
|
|
std::swap(m_videoSessionParameters, rhs.m_videoSessionParameters);
|
|
std::swap(m_allocator, rhs.m_allocator);
|
|
std::swap(m_dispatcher, rhs.m_dispatcher);
|
|
}
|
|
|
|
//=== VK_KHR_video_queue ===
|
|
|
|
void update(const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR &updateInfo) const;
|
|
|
|
private:
|
|
VULKAN_HPP_NAMESPACE::Device m_device = {};
|
|
VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR m_videoSessionParameters = {};
|
|
const VULKAN_HPP_NAMESPACE::AllocationCallbacks *m_allocator = {};
|
|
VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const *m_dispatcher = nullptr;
|
|
};
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//===========================
|
|
//=== COMMAND Definitions ===
|
|
//===========================
|
|
|
|
//=== VK_VERSION_1_0 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Instance
|
|
Context::createInstance(VULKAN_HPP_NAMESPACE::InstanceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Instance(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::PhysicalDevice> Instance::enumeratePhysicalDevices() const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::PhysicalDevices(*this);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures PhysicalDevice::getFeatures() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures features;
|
|
getDispatcher()->vkGetPhysicalDeviceFeatures(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceFeatures *>(&features));
|
|
return features;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties
|
|
PhysicalDevice::getFormatProperties(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::FormatProperties formatProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceFormatProperties(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkFormat>(format), reinterpret_cast<VkFormatProperties *>(&formatProperties));
|
|
return formatProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties
|
|
PhysicalDevice::getImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,
|
|
VULKAN_HPP_NAMESPACE::ImageType type,
|
|
VULKAN_HPP_NAMESPACE::ImageTiling tiling,
|
|
VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
|
|
VULKAN_HPP_NAMESPACE::ImageCreateFlags flags) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::ImageFormatProperties imageFormatProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkFormat>(format),
|
|
static_cast<VkImageType>(type),
|
|
static_cast<VkImageTiling>(tiling),
|
|
static_cast<VkImageUsageFlags>(usage),
|
|
static_cast<VkImageCreateFlags>(flags),
|
|
reinterpret_cast<VkImageFormatProperties *>(&imageFormatProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties");
|
|
}
|
|
return imageFormatProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties PhysicalDevice::getProperties() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties properties;
|
|
getDispatcher()->vkGetPhysicalDeviceProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceProperties *>(&properties));
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties>
|
|
PhysicalDevice::getQueueFamilyProperties() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t queueFamilyPropertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties(static_cast<VkPhysicalDevice>(m_physicalDevice), &queueFamilyPropertyCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> queueFamilyProperties(queueFamilyPropertyCount);
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&queueFamilyPropertyCount,
|
|
reinterpret_cast<VkQueueFamilyProperties *>(queueFamilyProperties.data()));
|
|
VULKAN_HPP_ASSERT(queueFamilyPropertyCount == queueFamilyProperties.size());
|
|
return queueFamilyProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties PhysicalDevice::getMemoryProperties() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceMemoryProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceMemoryProperties *>(&memoryProperties));
|
|
return memoryProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PFN_vkVoidFunction Instance::getProcAddr(const std::string &name) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return getDispatcher()->vkGetInstanceProcAddr(static_cast<VkInstance>(m_instance), name.c_str());
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE PFN_vkVoidFunction Device::getProcAddr(const std::string &name) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return getDispatcher()->vkGetDeviceProcAddr(static_cast<VkDevice>(m_device), name.c_str());
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Device
|
|
PhysicalDevice::createDevice(VULKAN_HPP_NAMESPACE::DeviceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Device(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties>
|
|
Context::enumerateInstanceExtensionProperties(Optional<const std::string> layerName) const
|
|
{
|
|
std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumerateInstanceExtensionProperties(layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumerateInstanceExtensionProperties(
|
|
layerName ? layerName->c_str() : nullptr, &propertyCount, reinterpret_cast<VkExtensionProperties *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceExtensionProperties");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties>
|
|
PhysicalDevice::enumerateDeviceExtensionProperties(Optional<const std::string> layerName) const
|
|
{
|
|
std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumerateDeviceExtensionProperties(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), layerName ? layerName->c_str() : nullptr, &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumerateDeviceExtensionProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
layerName ? layerName->c_str() : nullptr,
|
|
&propertyCount,
|
|
reinterpret_cast<VkExtensionProperties *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceExtensionProperties");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> Context::enumerateInstanceLayerProperties() const
|
|
{
|
|
std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumerateInstanceLayerProperties(&propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumerateInstanceLayerProperties(&propertyCount, reinterpret_cast<VkLayerProperties *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceLayerProperties");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> PhysicalDevice::enumerateDeviceLayerProperties() const
|
|
{
|
|
std::vector<VULKAN_HPP_NAMESPACE::LayerProperties> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumerateDeviceLayerProperties(static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumerateDeviceLayerProperties(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, reinterpret_cast<VkLayerProperties *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateDeviceLayerProperties");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Queue Device::getQueue(uint32_t queueFamilyIndex, uint32_t queueIndex) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Queue(*this, queueFamilyIndex, queueIndex);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::submit(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const &submits, VULKAN_HPP_NAMESPACE::Fence fence) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkQueueSubmit(
|
|
static_cast<VkQueue>(m_queue), submits.size(), reinterpret_cast<const VkSubmitInfo *>(submits.data()), static_cast<VkFence>(fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::waitIdle() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkQueueWaitIdle(static_cast<VkQueue>(m_queue)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::waitIdle");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::waitIdle() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkDeviceWaitIdle(static_cast<VkDevice>(m_device)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitIdle");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DeviceMemory
|
|
Device::allocateMemory(VULKAN_HPP_NAMESPACE::MemoryAllocateInfo const &allocateInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DeviceMemory(*this, allocateInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void *DeviceMemory::mapMemory(VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize size,
|
|
VULKAN_HPP_NAMESPACE::MemoryMapFlags flags) const
|
|
{
|
|
void *pData;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkMapMemory(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDeviceMemory>(m_memory),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkDeviceSize>(size),
|
|
static_cast<VkMemoryMapFlags>(flags),
|
|
&pData));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DeviceMemory::mapMemory");
|
|
}
|
|
return pData;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void DeviceMemory::unmapMemory() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkUnmapMemory(static_cast<VkDevice>(m_device), static_cast<VkDeviceMemory>(m_memory));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::flushMappedMemoryRanges(ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const &memoryRanges) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkFlushMappedMemoryRanges(
|
|
static_cast<VkDevice>(m_device), memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>(memoryRanges.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::flushMappedMemoryRanges");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::invalidateMappedMemoryRanges(ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const &memoryRanges) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkInvalidateMappedMemoryRanges(
|
|
static_cast<VkDevice>(m_device), memoryRanges.size(), reinterpret_cast<const VkMappedMemoryRange *>(memoryRanges.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::invalidateMappedMemoryRanges");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize DeviceMemory::getCommitment() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::DeviceSize committedMemoryInBytes;
|
|
getDispatcher()->vkGetDeviceMemoryCommitment(
|
|
static_cast<VkDevice>(m_device), static_cast<VkDeviceMemory>(m_memory), reinterpret_cast<VkDeviceSize *>(&committedMemoryInBytes));
|
|
return committedMemoryInBytes;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Buffer::bindMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindBufferMemory(static_cast<VkDevice>(m_device),
|
|
static_cast<VkBuffer>(m_buffer),
|
|
static_cast<VkDeviceMemory>(memory),
|
|
static_cast<VkDeviceSize>(memoryOffset)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Buffer::bindMemory");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Image::bindMemory(VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindImageMemory(static_cast<VkDevice>(m_device),
|
|
static_cast<VkImage>(m_image),
|
|
static_cast<VkDeviceMemory>(memory),
|
|
static_cast<VkDeviceSize>(memoryOffset)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Image::bindMemory");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements Buffer::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements;
|
|
getDispatcher()->vkGetBufferMemoryRequirements(
|
|
static_cast<VkDevice>(m_device), static_cast<VkBuffer>(m_buffer), reinterpret_cast<VkMemoryRequirements *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements Image::getMemoryRequirements() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements memoryRequirements;
|
|
getDispatcher()->vkGetImageMemoryRequirements(
|
|
static_cast<VkDevice>(m_device), static_cast<VkImage>(m_image), reinterpret_cast<VkMemoryRequirements *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements>
|
|
Image::getSparseMemoryRequirements() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t sparseMemoryRequirementCount;
|
|
getDispatcher()->vkGetImageSparseMemoryRequirements(
|
|
static_cast<VkDevice>(m_device), static_cast<VkImage>(m_image), &sparseMemoryRequirementCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> sparseMemoryRequirements(sparseMemoryRequirementCount);
|
|
getDispatcher()->vkGetImageSparseMemoryRequirements(static_cast<VkDevice>(m_device),
|
|
static_cast<VkImage>(m_image),
|
|
&sparseMemoryRequirementCount,
|
|
reinterpret_cast<VkSparseImageMemoryRequirements *>(sparseMemoryRequirements.data()));
|
|
VULKAN_HPP_ASSERT(sparseMemoryRequirementCount == sparseMemoryRequirements.size());
|
|
return sparseMemoryRequirements;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>
|
|
PhysicalDevice::getSparseImageFormatProperties(VULKAN_HPP_NAMESPACE::Format format,
|
|
VULKAN_HPP_NAMESPACE::ImageType type,
|
|
VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
|
|
VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
|
|
VULKAN_HPP_NAMESPACE::ImageTiling tiling) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t propertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkFormat>(format),
|
|
static_cast<VkImageType>(type),
|
|
static_cast<VkSampleCountFlagBits>(samples),
|
|
static_cast<VkImageUsageFlags>(usage),
|
|
static_cast<VkImageTiling>(tiling),
|
|
&propertyCount,
|
|
nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> properties(propertyCount);
|
|
getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkFormat>(format),
|
|
static_cast<VkImageType>(type),
|
|
static_cast<VkSampleCountFlagBits>(samples),
|
|
static_cast<VkImageUsageFlags>(usage),
|
|
static_cast<VkImageTiling>(tiling),
|
|
&propertyCount,
|
|
reinterpret_cast<VkSparseImageFormatProperties *>(properties.data()));
|
|
VULKAN_HPP_ASSERT(propertyCount == properties.size());
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::bindSparse(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const &bindInfo, VULKAN_HPP_NAMESPACE::Fence fence) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkQueueBindSparse(
|
|
static_cast<VkQueue>(m_queue), bindInfo.size(), reinterpret_cast<const VkBindSparseInfo *>(bindInfo.data()), static_cast<VkFence>(fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::bindSparse");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Fence
|
|
Device::createFence(VULKAN_HPP_NAMESPACE::FenceCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Fence(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::resetFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkResetFences(static_cast<VkDevice>(m_device), fences.size(), reinterpret_cast<const VkFence *>(fences.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::resetFences");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Fence::getStatus() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetFenceStatus(static_cast<VkDevice>(m_device), static_cast<VkFence>(m_fence)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eNotReady))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Fence::getStatus");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
|
|
Device::waitForFences(ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const &fences, VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkWaitForFences(
|
|
static_cast<VkDevice>(m_device), fences.size(), reinterpret_cast<const VkFence *>(fences.data()), static_cast<VkBool32>(waitAll), timeout));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eTimeout))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Semaphore
|
|
Device::createSemaphore(VULKAN_HPP_NAMESPACE::SemaphoreCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Semaphore(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Event
|
|
Device::createEvent(VULKAN_HPP_NAMESPACE::EventCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Event(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Event::getStatus() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetEventStatus(static_cast<VkDevice>(m_device), static_cast<VkEvent>(m_event)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eEventSet) && (result != VULKAN_HPP_NAMESPACE::Result::eEventReset))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Event::getStatus");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Event::set() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkSetEvent(static_cast<VkDevice>(m_device), static_cast<VkEvent>(m_event)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Event::set");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Event::reset() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkResetEvent(static_cast<VkDevice>(m_device), static_cast<VkEvent>(m_event)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Event::reset");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::QueryPool
|
|
Device::createQueryPool(VULKAN_HPP_NAMESPACE::QueryPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::QueryPool(*this, createInfo, allocator);
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, std::vector<DataType>> QueryPool::getResults(
|
|
uint32_t firstQuery, uint32_t queryCount, size_t dataSize, VULKAN_HPP_NAMESPACE::DeviceSize stride, VULKAN_HPP_NAMESPACE::QueryResultFlags flags) const
|
|
{
|
|
VULKAN_HPP_ASSERT(dataSize % sizeof(DataType) == 0);
|
|
std::vector<DataType> data(dataSize / sizeof(DataType));
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetQueryPoolResults(static_cast<VkDevice>(m_device),
|
|
static_cast<VkQueryPool>(m_queryPool),
|
|
firstQuery,
|
|
queryCount,
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<void *>(data.data()),
|
|
static_cast<VkDeviceSize>(stride),
|
|
static_cast<VkQueryResultFlags>(flags)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eNotReady))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::QueryPool::getResults");
|
|
}
|
|
return std::make_pair(result, data);
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, DataType> QueryPool::getResult(uint32_t firstQuery,
|
|
uint32_t queryCount,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize stride,
|
|
VULKAN_HPP_NAMESPACE::QueryResultFlags flags) const
|
|
{
|
|
DataType data;
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetQueryPoolResults(static_cast<VkDevice>(m_device),
|
|
static_cast<VkQueryPool>(m_queryPool),
|
|
firstQuery,
|
|
queryCount,
|
|
sizeof(DataType),
|
|
reinterpret_cast<void *>(&data),
|
|
static_cast<VkDeviceSize>(stride),
|
|
static_cast<VkQueryResultFlags>(flags)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eNotReady))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::QueryPool::getResult");
|
|
}
|
|
return std::make_pair(result, data);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Buffer
|
|
Device::createBuffer(VULKAN_HPP_NAMESPACE::BufferCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Buffer(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::BufferView
|
|
Device::createBufferView(VULKAN_HPP_NAMESPACE::BufferViewCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::BufferView(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Image
|
|
Device::createImage(VULKAN_HPP_NAMESPACE::ImageCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Image(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SubresourceLayout
|
|
Image::getSubresourceLayout(const VULKAN_HPP_NAMESPACE::ImageSubresource &subresource) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::SubresourceLayout layout;
|
|
getDispatcher()->vkGetImageSubresourceLayout(static_cast<VkDevice>(m_device),
|
|
static_cast<VkImage>(m_image),
|
|
reinterpret_cast<const VkImageSubresource *>(&subresource),
|
|
reinterpret_cast<VkSubresourceLayout *>(&layout));
|
|
return layout;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::ImageView
|
|
Device::createImageView(VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::ImageView(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::ShaderModule
|
|
Device::createShaderModule(VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::ShaderModule(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PipelineCache
|
|
Device::createPipelineCache(VULKAN_HPP_NAMESPACE::PipelineCacheCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::PipelineCache(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> PipelineCache::getData() const
|
|
{
|
|
std::vector<uint8_t> data;
|
|
size_t dataSize;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPipelineCacheData(static_cast<VkDevice>(m_device), static_cast<VkPipelineCache>(m_pipelineCache), &dataSize, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && dataSize)
|
|
{
|
|
data.resize(dataSize);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPipelineCacheData(
|
|
static_cast<VkDevice>(m_device), static_cast<VkPipelineCache>(m_pipelineCache), &dataSize, reinterpret_cast<void *>(data.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PipelineCache::getData");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(dataSize <= data.size());
|
|
if(dataSize < data.size())
|
|
{
|
|
data.resize(dataSize);
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void PipelineCache::merge(ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const &srcCaches) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkMergePipelineCaches(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipelineCache>(m_pipelineCache),
|
|
srcCaches.size(),
|
|
reinterpret_cast<const VkPipelineCache *>(srcCaches.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PipelineCache::merge");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> Device::createGraphicsPipelines(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipelines(*this, pipelineCache, createInfos, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createGraphicsPipeline(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipeline(*this, pipelineCache, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> Device::createComputePipelines(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipelines(*this, pipelineCache, createInfos, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline
|
|
Device::createComputePipeline(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipeline(*this, pipelineCache, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PipelineLayout
|
|
Device::createPipelineLayout(VULKAN_HPP_NAMESPACE::PipelineLayoutCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::PipelineLayout(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Sampler
|
|
Device::createSampler(VULKAN_HPP_NAMESPACE::SamplerCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Sampler(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout
|
|
Device::createDescriptorSetLayout(VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DescriptorSetLayout(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorPool
|
|
Device::createDescriptorPool(VULKAN_HPP_NAMESPACE::DescriptorPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DescriptorPool(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void DescriptorPool::reset(VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkResetDescriptorPool(
|
|
static_cast<VkDevice>(m_device), static_cast<VkDescriptorPool>(m_descriptorPool), static_cast<VkDescriptorPoolResetFlags>(flags));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::DescriptorSet>
|
|
Device::allocateDescriptorSets(VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const &allocateInfo) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DescriptorSets(*this, allocateInfo);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Device::updateDescriptorSets(ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const &descriptorWrites,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::CopyDescriptorSet> const &descriptorCopies) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkUpdateDescriptorSets(static_cast<VkDevice>(m_device),
|
|
descriptorWrites.size(),
|
|
reinterpret_cast<const VkWriteDescriptorSet *>(descriptorWrites.data()),
|
|
descriptorCopies.size(),
|
|
reinterpret_cast<const VkCopyDescriptorSet *>(descriptorCopies.data()));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Framebuffer
|
|
Device::createFramebuffer(VULKAN_HPP_NAMESPACE::FramebufferCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Framebuffer(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::RenderPass
|
|
Device::createRenderPass(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::RenderPass(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Extent2D RenderPass::getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Extent2D granularity;
|
|
getDispatcher()->vkGetRenderAreaGranularity(
|
|
static_cast<VkDevice>(m_device), static_cast<VkRenderPass>(m_renderPass), reinterpret_cast<VkExtent2D *>(&granularity));
|
|
return granularity;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::CommandPool
|
|
Device::createCommandPool(VULKAN_HPP_NAMESPACE::CommandPoolCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::CommandPool(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandPool::reset(VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkResetCommandPool(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCommandPool>(m_commandPool), static_cast<VkCommandPoolResetFlags>(flags)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandPool::reset");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::CommandBuffer>
|
|
Device::allocateCommandBuffers(VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const &allocateInfo) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::CommandBuffers(*this, allocateInfo);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::begin(const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo &beginInfo) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBeginCommandBuffer(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkCommandBufferBeginInfo *>(&beginInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::begin");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::end() const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEndCommandBuffer(static_cast<VkCommandBuffer>(m_commandBuffer)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::end");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::reset(VULKAN_HPP_NAMESPACE::CommandBufferResetFlags flags) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkResetCommandBuffer(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkCommandBufferResetFlags>(flags)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::reset");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindPipeline(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::Pipeline pipeline) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBindPipeline(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkPipelineBindPoint>(pipelineBindPoint), static_cast<VkPipeline>(pipeline));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setViewport(uint32_t firstViewport,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetViewport(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), firstViewport, viewports.size(), reinterpret_cast<const VkViewport *>(viewports.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setScissor(uint32_t firstScissor,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetScissor(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), firstScissor, scissors.size(), reinterpret_cast<const VkRect2D *>(scissors.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setLineWidth(float lineWidth) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetLineWidth(static_cast<VkCommandBuffer>(m_commandBuffer), lineWidth);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setDepthBias(float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthBias(static_cast<VkCommandBuffer>(m_commandBuffer), depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setBlendConstants(const float blendConstants[4]) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetBlendConstants(static_cast<VkCommandBuffer>(m_commandBuffer), blendConstants);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthBounds(float minDepthBounds, float maxDepthBounds) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthBounds(static_cast<VkCommandBuffer>(m_commandBuffer), minDepthBounds, maxDepthBounds);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilCompareMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
|
|
uint32_t compareMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetStencilCompareMask(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkStencilFaceFlags>(faceMask), compareMask);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilWriteMask(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t writeMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetStencilWriteMask(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkStencilFaceFlags>(faceMask), writeMask);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilReference(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask, uint32_t reference) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetStencilReference(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkStencilFaceFlags>(faceMask), reference);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorSets(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
uint32_t firstSet,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorSet> const &descriptorSets,
|
|
ArrayProxy<const uint32_t> const &dynamicOffsets) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBindDescriptorSets(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineBindPoint>(pipelineBindPoint),
|
|
static_cast<VkPipelineLayout>(layout),
|
|
firstSet,
|
|
descriptorSets.size(),
|
|
reinterpret_cast<const VkDescriptorSet *>(descriptorSets.data()),
|
|
dynamicOffsets.size(),
|
|
dynamicOffsets.data());
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindIndexBuffer(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::IndexType indexType) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBindIndexBuffer(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkIndexType>(indexType));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets) const
|
|
{
|
|
if(buffers.size() != offsets.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers: buffers.size() != offsets.size()");
|
|
}
|
|
getDispatcher()->vkCmdBindVertexBuffers(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstBinding,
|
|
buffers.size(),
|
|
reinterpret_cast<const VkBuffer *>(buffers.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(offsets.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::draw(uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDraw(static_cast<VkCommandBuffer>(m_commandBuffer), vertexCount, instanceCount, firstVertex, firstInstance);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndexed(
|
|
uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDrawIndexed(static_cast<VkCommandBuffer>(m_commandBuffer), indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
uint32_t drawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDrawIndirect(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBuffer>(buffer), static_cast<VkDeviceSize>(offset), drawCount, stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
uint32_t drawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDrawIndexedIndirect(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBuffer>(buffer), static_cast<VkDeviceSize>(offset), drawCount, stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::dispatch(uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDispatch(static_cast<VkCommandBuffer>(m_commandBuffer), groupCountX, groupCountY, groupCountZ);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::dispatchIndirect(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDispatchIndirect(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBuffer>(buffer), static_cast<VkDeviceSize>(offset));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyBuffer(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferCopy> const ®ions) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyBuffer(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(srcBuffer),
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
regions.size(),
|
|
reinterpret_cast<const VkBufferCopy *>(regions.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyImage(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageCopy> const ®ions) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyImage(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkImage>(srcImage),
|
|
static_cast<VkImageLayout>(srcImageLayout),
|
|
static_cast<VkImage>(dstImage),
|
|
static_cast<VkImageLayout>(dstImageLayout),
|
|
regions.size(),
|
|
reinterpret_cast<const VkImageCopy *>(regions.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::blitImage(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageBlit> const ®ions,
|
|
VULKAN_HPP_NAMESPACE::Filter filter) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBlitImage(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkImage>(srcImage),
|
|
static_cast<VkImageLayout>(srcImageLayout),
|
|
static_cast<VkImage>(dstImage),
|
|
static_cast<VkImageLayout>(dstImageLayout),
|
|
regions.size(),
|
|
reinterpret_cast<const VkImageBlit *>(regions.data()),
|
|
static_cast<VkFilter>(filter));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyBufferToImage(VULKAN_HPP_NAMESPACE::Buffer srcBuffer,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const ®ions) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyBufferToImage(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(srcBuffer),
|
|
static_cast<VkImage>(dstImage),
|
|
static_cast<VkImageLayout>(dstImageLayout),
|
|
regions.size(),
|
|
reinterpret_cast<const VkBufferImageCopy *>(regions.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyImageToBuffer(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferImageCopy> const ®ions) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyImageToBuffer(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkImage>(srcImage),
|
|
static_cast<VkImageLayout>(srcImageLayout),
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
regions.size(),
|
|
reinterpret_cast<const VkBufferImageCopy *>(regions.data()));
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_INLINE void CommandBuffer::updateBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
ArrayProxy<const DataType> const &data) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdUpdateBuffer(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
static_cast<VkDeviceSize>(dstOffset),
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<const void *>(data.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::fillBuffer(VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize size,
|
|
uint32_t data) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdFillBuffer(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
static_cast<VkDeviceSize>(dstOffset),
|
|
static_cast<VkDeviceSize>(size),
|
|
data);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::clearColorImage(VULKAN_HPP_NAMESPACE::Image image,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
|
|
const VULKAN_HPP_NAMESPACE::ClearColorValue &color,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const &ranges) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdClearColorImage(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkImage>(image),
|
|
static_cast<VkImageLayout>(imageLayout),
|
|
reinterpret_cast<const VkClearColorValue *>(&color),
|
|
ranges.size(),
|
|
reinterpret_cast<const VkImageSubresourceRange *>(ranges.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::clearDepthStencilImage(VULKAN_HPP_NAMESPACE::Image image,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout,
|
|
const VULKAN_HPP_NAMESPACE::ClearDepthStencilValue &depthStencil,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageSubresourceRange> const &ranges) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdClearDepthStencilImage(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkImage>(image),
|
|
static_cast<VkImageLayout>(imageLayout),
|
|
reinterpret_cast<const VkClearDepthStencilValue *>(&depthStencil),
|
|
ranges.size(),
|
|
reinterpret_cast<const VkImageSubresourceRange *>(ranges.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::clearAttachments(ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearAttachment> const &attachments,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ClearRect> const &rects) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdClearAttachments(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
attachments.size(),
|
|
reinterpret_cast<const VkClearAttachment *>(attachments.data()),
|
|
rects.size(),
|
|
reinterpret_cast<const VkClearRect *>(rects.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::resolveImage(VULKAN_HPP_NAMESPACE::Image srcImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout srcImageLayout,
|
|
VULKAN_HPP_NAMESPACE::Image dstImage,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout dstImageLayout,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageResolve> const ®ions) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdResolveImage(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkImage>(srcImage),
|
|
static_cast<VkImageLayout>(srcImageLayout),
|
|
static_cast<VkImage>(dstImage),
|
|
static_cast<VkImageLayout>(dstImageLayout),
|
|
regions.size(),
|
|
reinterpret_cast<const VkImageResolve *>(regions.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setEvent(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetEvent(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkEvent>(event), static_cast<VkPipelineStageFlags>(stageMask));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::resetEvent(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags stageMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdResetEvent(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkEvent>(event), static_cast<VkPipelineStageFlags>(stageMask));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::waitEvents(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &memoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const &bufferMemoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &imageMemoryBarriers) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdWaitEvents(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
events.size(),
|
|
reinterpret_cast<const VkEvent *>(events.data()),
|
|
static_cast<VkPipelineStageFlags>(srcStageMask),
|
|
static_cast<VkPipelineStageFlags>(dstStageMask),
|
|
memoryBarriers.size(),
|
|
reinterpret_cast<const VkMemoryBarrier *>(memoryBarriers.data()),
|
|
bufferMemoryBarriers.size(),
|
|
reinterpret_cast<const VkBufferMemoryBarrier *>(bufferMemoryBarriers.data()),
|
|
imageMemoryBarriers.size(),
|
|
reinterpret_cast<const VkImageMemoryBarrier *>(imageMemoryBarriers.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::pipelineBarrier(VULKAN_HPP_NAMESPACE::PipelineStageFlags srcStageMask,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags dstStageMask,
|
|
VULKAN_HPP_NAMESPACE::DependencyFlags dependencyFlags,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryBarrier> const &memoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::BufferMemoryBarrier> const &bufferMemoryBarriers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ImageMemoryBarrier> const &imageMemoryBarriers) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdPipelineBarrier(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineStageFlags>(srcStageMask),
|
|
static_cast<VkPipelineStageFlags>(dstStageMask),
|
|
static_cast<VkDependencyFlags>(dependencyFlags),
|
|
memoryBarriers.size(),
|
|
reinterpret_cast<const VkMemoryBarrier *>(memoryBarriers.data()),
|
|
bufferMemoryBarriers.size(),
|
|
reinterpret_cast<const VkBufferMemoryBarrier *>(bufferMemoryBarriers.data()),
|
|
imageMemoryBarriers.size(),
|
|
reinterpret_cast<const VkImageMemoryBarrier *>(imageMemoryBarriers.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query,
|
|
VULKAN_HPP_NAMESPACE::QueryControlFlags flags) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBeginQuery(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkQueryPool>(queryPool), query, static_cast<VkQueryControlFlags>(flags));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endQuery(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdEndQuery(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkQueryPool>(queryPool), query);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::resetQueryPool(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdResetQueryPool(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkQueryPool>(queryPool), firstQuery, queryCount);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdWriteTimestamp(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkPipelineStageFlagBits>(pipelineStage), static_cast<VkQueryPool>(queryPool), query);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyQueryPoolResults(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t firstQuery,
|
|
uint32_t queryCount,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize stride,
|
|
VULKAN_HPP_NAMESPACE::QueryResultFlags flags) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyQueryPoolResults(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkQueryPool>(queryPool),
|
|
firstQuery,
|
|
queryCount,
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
static_cast<VkDeviceSize>(dstOffset),
|
|
static_cast<VkDeviceSize>(stride),
|
|
static_cast<VkQueryResultFlags>(flags));
|
|
}
|
|
|
|
template<typename ValuesType>
|
|
VULKAN_HPP_INLINE void CommandBuffer::pushConstants(VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
VULKAN_HPP_NAMESPACE::ShaderStageFlags stageFlags,
|
|
uint32_t offset,
|
|
ArrayProxy<const ValuesType> const &values) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdPushConstants(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineLayout>(layout),
|
|
static_cast<VkShaderStageFlags>(stageFlags),
|
|
offset,
|
|
values.size() * sizeof(ValuesType),
|
|
reinterpret_cast<const void *>(values.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo &renderPassBegin,
|
|
VULKAN_HPP_NAMESPACE::SubpassContents contents) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBeginRenderPass(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkRenderPassBeginInfo *>(&renderPassBegin),
|
|
static_cast<VkSubpassContents>(contents));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::nextSubpass(VULKAN_HPP_NAMESPACE::SubpassContents contents) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdNextSubpass(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkSubpassContents>(contents));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endRenderPass() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdEndRenderPass(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::executeCommands(ArrayProxy<const VULKAN_HPP_NAMESPACE::CommandBuffer> const &commandBuffers) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdExecuteCommands(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), commandBuffers.size(), reinterpret_cast<const VkCommandBuffer *>(commandBuffers.data()));
|
|
}
|
|
|
|
//=== VK_VERSION_1_1 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t Context::enumerateInstanceVersion() const
|
|
{
|
|
uint32_t apiVersion;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumerateInstanceVersion(&apiVersion));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceVersion");
|
|
}
|
|
return apiVersion;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::bindBufferMemory2(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const &bindInfos) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindBufferMemory2(
|
|
static_cast<VkDevice>(m_device), bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>(bindInfos.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::bindImageMemory2(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const &bindInfos) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindImageMemory2(
|
|
static_cast<VkDevice>(m_device), bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>(bindInfos.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
|
|
Device::getGroupPeerMemoryFeatures(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures;
|
|
getDispatcher()->vkGetDeviceGroupPeerMemoryFeatures(static_cast<VkDevice>(m_device),
|
|
heapIndex,
|
|
localDeviceIndex,
|
|
remoteDeviceIndex,
|
|
reinterpret_cast<VkPeerMemoryFeatureFlags *>(&peerMemoryFeatures));
|
|
return peerMemoryFeatures;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDeviceMask(uint32_t deviceMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDeviceMask(static_cast<VkCommandBuffer>(m_commandBuffer), deviceMask);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::dispatchBase(uint32_t baseGroupX,
|
|
uint32_t baseGroupY,
|
|
uint32_t baseGroupZ,
|
|
uint32_t groupCountX,
|
|
uint32_t groupCountY,
|
|
uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDispatchBase(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> Instance::enumeratePhysicalDeviceGroups() const
|
|
{
|
|
std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> physicalDeviceGroupProperties;
|
|
uint32_t physicalDeviceGroupCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumeratePhysicalDeviceGroups(static_cast<VkInstance>(m_instance), &physicalDeviceGroupCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && physicalDeviceGroupCount)
|
|
{
|
|
physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumeratePhysicalDeviceGroups(static_cast<VkInstance>(m_instance),
|
|
&physicalDeviceGroupCount,
|
|
reinterpret_cast<VkPhysicalDeviceGroupProperties *>(physicalDeviceGroupProperties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroups");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(physicalDeviceGroupCount <= physicalDeviceGroupProperties.size());
|
|
if(physicalDeviceGroupCount < physicalDeviceGroupProperties.size())
|
|
{
|
|
physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
|
|
}
|
|
}
|
|
return physicalDeviceGroupProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetImageMemoryRequirements2(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getImageMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetImageMemoryRequirements2(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetBufferMemoryRequirements2(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getBufferMemoryRequirements2(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetBufferMemoryRequirements2(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
Device::getImageSparseMemoryRequirements2(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t sparseMemoryRequirementCount;
|
|
getDispatcher()->vkGetImageSparseMemoryRequirements2(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info), &sparseMemoryRequirementCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements(sparseMemoryRequirementCount);
|
|
getDispatcher()->vkGetImageSparseMemoryRequirements2(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
|
|
&sparseMemoryRequirementCount,
|
|
reinterpret_cast<VkSparseImageMemoryRequirements2 *>(sparseMemoryRequirements.data()));
|
|
VULKAN_HPP_ASSERT(sparseMemoryRequirementCount == sparseMemoryRequirements.size());
|
|
return sparseMemoryRequirements;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 PhysicalDevice::getFeatures2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features;
|
|
getDispatcher()->vkGetPhysicalDeviceFeatures2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
|
|
return features;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getFeatures2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 &features = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>();
|
|
getDispatcher()->vkGetPhysicalDeviceFeatures2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 PhysicalDevice::getProperties2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
|
|
getDispatcher()->vkGetPhysicalDeviceProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
|
|
return properties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getProperties2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 &properties = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>();
|
|
getDispatcher()->vkGetPhysicalDeviceProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
|
|
PhysicalDevice::getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceFormatProperties2(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkFormat>(format), reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
|
|
return formatProperties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
PhysicalDevice::getFormatProperties2(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::FormatProperties2 &formatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>();
|
|
getDispatcher()->vkGetPhysicalDeviceFormatProperties2(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkFormat>(format), reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties2
|
|
PhysicalDevice::getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(&imageFormatInfo),
|
|
reinterpret_cast<VkImageFormatProperties2 *>(&imageFormatProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2");
|
|
}
|
|
return imageFormatProperties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
PhysicalDevice::getImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::ImageFormatProperties2 &imageFormatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>();
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(&imageFormatInfo),
|
|
reinterpret_cast<VkImageFormatProperties2 *>(&imageFormatProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2");
|
|
}
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
|
|
PhysicalDevice::getQueueFamilyProperties2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t queueFamilyPropertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice), &queueFamilyPropertyCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties(queueFamilyPropertyCount);
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&queueFamilyPropertyCount,
|
|
reinterpret_cast<VkQueueFamilyProperties2 *>(queueFamilyProperties.data()));
|
|
VULKAN_HPP_ASSERT(queueFamilyPropertyCount == queueFamilyProperties.size());
|
|
return queueFamilyProperties;
|
|
}
|
|
|
|
template<typename StructureChain>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain> PhysicalDevice::getQueueFamilyProperties2() const
|
|
{
|
|
uint32_t queueFamilyPropertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice), &queueFamilyPropertyCount, nullptr);
|
|
std::vector<StructureChain> returnVector(queueFamilyPropertyCount);
|
|
std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties(queueFamilyPropertyCount);
|
|
for(uint32_t i = 0; i < queueFamilyPropertyCount; i++)
|
|
{
|
|
queueFamilyProperties[i].pNext = returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext;
|
|
}
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&queueFamilyPropertyCount,
|
|
reinterpret_cast<VkQueueFamilyProperties2 *>(queueFamilyProperties.data()));
|
|
VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
|
|
for(uint32_t i = 0; i < queueFamilyPropertyCount; i++)
|
|
{
|
|
returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i];
|
|
}
|
|
return returnVector;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
|
|
PhysicalDevice::getMemoryProperties2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceMemoryProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
|
|
return memoryProperties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getMemoryProperties2() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 &memoryProperties =
|
|
structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>();
|
|
getDispatcher()->vkGetPhysicalDeviceMemoryProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2>
|
|
PhysicalDevice::getSparseImageFormatProperties2(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 &formatInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t propertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(&formatInfo),
|
|
&propertyCount,
|
|
nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties(propertyCount);
|
|
getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(&formatInfo),
|
|
&propertyCount,
|
|
reinterpret_cast<VkSparseImageFormatProperties2 *>(properties.data()));
|
|
VULKAN_HPP_ASSERT(propertyCount == properties.size());
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandPool::trim(VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkTrimCommandPool(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCommandPool>(m_commandPool), static_cast<VkCommandPoolTrimFlags>(flags));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Queue Device::getQueue2(VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const &queueInfo) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Queue(*this, queueInfo);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion
|
|
Device::createSamplerYcbcrConversion(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate
|
|
Device::createDescriptorUpdateTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate(*this, createInfo, allocator);
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_INLINE void DescriptorSet::updateWithTemplate(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
|
|
DataType const &data) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkUpdateDescriptorSetWithTemplate(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorSet>(m_descriptorSet),
|
|
static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
|
|
reinterpret_cast<const void *>(&data));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties
|
|
PhysicalDevice::getExternalBufferProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo &externalBufferInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceExternalBufferProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(&externalBufferInfo),
|
|
reinterpret_cast<VkExternalBufferProperties *>(&externalBufferProperties));
|
|
return externalBufferProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties
|
|
PhysicalDevice::getExternalFenceProperties(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo &externalFenceInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceExternalFenceProperties(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(&externalFenceInfo),
|
|
reinterpret_cast<VkExternalFenceProperties *>(&externalFenceProperties));
|
|
return externalFenceProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties PhysicalDevice::getExternalSemaphoreProperties(
|
|
const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceExternalSemaphoreProperties(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(&externalSemaphoreInfo),
|
|
reinterpret_cast<VkExternalSemaphoreProperties *>(&externalSemaphoreProperties));
|
|
return externalSemaphoreProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
|
|
Device::getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support;
|
|
getDispatcher()->vkGetDescriptorSetLayoutSupport(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
|
|
reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
|
|
return support;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getDescriptorSetLayoutSupport(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport &support = structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>();
|
|
getDispatcher()->vkGetDescriptorSetLayoutSupport(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
|
|
reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
|
|
return structureChain;
|
|
}
|
|
|
|
//=== VK_VERSION_1_2 ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDrawIndirectCount(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCount(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdDrawIndexedIndirectCount(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::RenderPass
|
|
Device::createRenderPass2(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::RenderPass(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo &renderPassBegin,
|
|
const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBeginRenderPass2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkRenderPassBeginInfo *>(&renderPassBegin),
|
|
reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo,
|
|
const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdNextSubpass2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo),
|
|
reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2(const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdEndRenderPass2(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void QueryPool::reset(uint32_t firstQuery, uint32_t queryCount) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkResetQueryPool(static_cast<VkDevice>(m_device), static_cast<VkQueryPool>(m_queryPool), firstQuery, queryCount);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Semaphore::getCounterValue() const
|
|
{
|
|
uint64_t value;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetSemaphoreCounterValue(static_cast<VkDevice>(m_device), static_cast<VkSemaphore>(m_semaphore), &value));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValue");
|
|
}
|
|
return value;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::waitSemaphores(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo &waitInfo,
|
|
uint64_t timeout) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkWaitSemaphores(static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreWaitInfo *>(&waitInfo), timeout));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eTimeout))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::signalSemaphore(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo &signalInfo) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkSignalSemaphore(static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreSignalInfo *>(&signalInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphore");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
Device::getBufferAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>(
|
|
getDispatcher()->vkGetBufferDeviceAddress(static_cast<VkDevice>(m_device), reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info)));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t
|
|
Device::getBufferOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return getDispatcher()->vkGetBufferOpaqueCaptureAddress(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t
|
|
Device::getMemoryOpaqueCaptureAddress(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
return getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddress(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(&info));
|
|
}
|
|
|
|
//=== VK_VERSION_1_3 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> PhysicalDevice::getToolProperties() const
|
|
{
|
|
std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> toolProperties;
|
|
uint32_t toolCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceToolProperties(static_cast<VkPhysicalDevice>(m_physicalDevice), &toolCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && toolCount)
|
|
{
|
|
toolProperties.resize(toolCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceToolProperties(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>(toolProperties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolProperties");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(toolCount <= toolProperties.size());
|
|
if(toolCount < toolProperties.size())
|
|
{
|
|
toolProperties.resize(toolCount);
|
|
}
|
|
}
|
|
return toolProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot
|
|
Device::createPrivateDataSlot(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::setPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
|
|
uint64_t data) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkSetPrivateData(
|
|
static_cast<VkDevice>(m_device), static_cast<VkObjectType>(objectType_), objectHandle, static_cast<VkPrivateDataSlot>(privateDataSlot), data));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateData");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateData(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint64_t data;
|
|
getDispatcher()->vkGetPrivateData(
|
|
static_cast<VkDevice>(m_device), static_cast<VkObjectType>(objectType_), objectHandle, static_cast<VkPrivateDataSlot>(privateDataSlot), &data);
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setEvent2(VULKAN_HPP_NAMESPACE::Event event,
|
|
const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetEvent2(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkEvent>(event), reinterpret_cast<const VkDependencyInfo *>(&dependencyInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::resetEvent2(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdResetEvent2(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkEvent>(event), static_cast<VkPipelineStageFlags2>(stageMask));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::waitEvents2(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const &dependencyInfos) const
|
|
{
|
|
if(events.size() != dependencyInfos.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::waitEvents2: events.size() != dependencyInfos.size()");
|
|
}
|
|
getDispatcher()->vkCmdWaitEvents2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
events.size(),
|
|
reinterpret_cast<const VkEvent *>(events.data()),
|
|
reinterpret_cast<const VkDependencyInfo *>(dependencyInfos.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2(const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdPipelineBarrier2(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkDependencyInfo *>(&dependencyInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdWriteTimestamp2(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkPipelineStageFlags2>(stage), static_cast<VkQueryPool>(queryPool), query);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::submit2(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const &submits, VULKAN_HPP_NAMESPACE::Fence fence) const
|
|
{
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkQueueSubmit2(
|
|
static_cast<VkQueue>(m_queue), submits.size(), reinterpret_cast<const VkSubmitInfo2 *>(submits.data()), static_cast<VkFence>(fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 ©BufferInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyBuffer2(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkCopyBufferInfo2 *>(©BufferInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyImage2(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 ©ImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyImage2(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkCopyImageInfo2 *>(©ImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::copyBufferToImage2(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 ©BufferToImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyBufferToImage2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyBufferToImageInfo2 *>(©BufferToImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::copyImageToBuffer2(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 ©ImageToBufferInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdCopyImageToBuffer2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyImageToBufferInfo2 *>(©ImageToBufferInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::blitImage2(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 &blitImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBlitImage2(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkBlitImageInfo2 *>(&blitImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::resolveImage2(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 &resolveImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdResolveImage2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkResolveImageInfo2 *>(&resolveImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginRendering(const VULKAN_HPP_NAMESPACE::RenderingInfo &renderingInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdBeginRendering(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkRenderingInfo *>(&renderingInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endRendering() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdEndRendering(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setCullMode(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetCullMode(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkCullModeFlags>(cullMode));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setFrontFace(VULKAN_HPP_NAMESPACE::FrontFace frontFace) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetFrontFace(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkFrontFace>(frontFace));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopology(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetPrimitiveTopology(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkPrimitiveTopology>(primitiveTopology));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setViewportWithCount(ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetViewportWithCount(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), viewports.size(), reinterpret_cast<const VkViewport *>(viewports.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCount(ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetScissorWithCount(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), scissors.size(), reinterpret_cast<const VkRect2D *>(scissors.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &strides) const
|
|
{
|
|
if(buffers.size() != offsets.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != offsets.size()");
|
|
}
|
|
if(!sizes.empty() && buffers.size() != sizes.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != sizes.size()");
|
|
}
|
|
if(!strides.empty() && buffers.size() != strides.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2: buffers.size() != strides.size()");
|
|
}
|
|
getDispatcher()->vkCmdBindVertexBuffers2(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstBinding,
|
|
buffers.size(),
|
|
reinterpret_cast<const VkBuffer *>(buffers.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(offsets.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(sizes.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(strides.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthTestEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthTestEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnable(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthWriteEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthWriteEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOp(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthCompareOp(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkCompareOp>(depthCompareOp));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthBoundsTestEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthBoundsTestEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnable(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetStencilTestEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(stencilTestEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilOp(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
|
|
VULKAN_HPP_NAMESPACE::StencilOp failOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp passOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
|
|
VULKAN_HPP_NAMESPACE::CompareOp compareOp) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetStencilOp(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkStencilFaceFlags>(faceMask),
|
|
static_cast<VkStencilOp>(failOp),
|
|
static_cast<VkStencilOp>(passOp),
|
|
static_cast<VkStencilOp>(depthFailOp),
|
|
static_cast<VkCompareOp>(compareOp));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnable(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetRasterizerDiscardEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(rasterizerDiscardEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnable(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetDepthBiasEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthBiasEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnable(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
getDispatcher()->vkCmdSetPrimitiveRestartEnable(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(primitiveRestartEnable));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetDeviceBufferMemoryRequirements(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceBufferMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getBufferMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetDeviceBufferMemoryRequirements(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceBufferMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetDeviceImageMemoryRequirements(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getImageMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetDeviceImageMemoryRequirements(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
Device::getImageSparseMemoryRequirements(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
uint32_t sparseMemoryRequirementCount;
|
|
getDispatcher()->vkGetDeviceImageSparseMemoryRequirements(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info), &sparseMemoryRequirementCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements(sparseMemoryRequirementCount);
|
|
getDispatcher()->vkGetDeviceImageSparseMemoryRequirements(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info),
|
|
&sparseMemoryRequirementCount,
|
|
reinterpret_cast<VkSparseImageMemoryRequirements2 *>(sparseMemoryRequirements.data()));
|
|
VULKAN_HPP_ASSERT(sparseMemoryRequirementCount == sparseMemoryRequirements.size());
|
|
return sparseMemoryRequirements;
|
|
}
|
|
|
|
//=== VK_KHR_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getSurfaceSupportKHR(uint32_t queueFamilyIndex,
|
|
VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR &&
|
|
"Function <vkGetPhysicalDeviceSurfaceSupportKHR> needs extension <VK_KHR_surface> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Bool32 supported;
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
queueFamilyIndex,
|
|
static_cast<VkSurfaceKHR>(surface),
|
|
reinterpret_cast<VkBool32 *>(&supported)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR");
|
|
}
|
|
return supported;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR
|
|
PhysicalDevice::getSurfaceCapabilitiesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR &&
|
|
"Function <vkGetPhysicalDeviceSurfaceCapabilitiesKHR> needs extension <VK_KHR_surface> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR surfaceCapabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkSurfaceKHR>(surface),
|
|
reinterpret_cast<VkSurfaceCapabilitiesKHR *>(&surfaceCapabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR");
|
|
}
|
|
return surfaceCapabilities;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>
|
|
PhysicalDevice::getSurfaceFormatsKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR &&
|
|
"Function <vkGetPhysicalDeviceSurfaceFormatsKHR> needs extension <VK_KHR_surface> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR> surfaceFormats;
|
|
uint32_t surfaceFormatCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkSurfaceKHR>(surface), &surfaceFormatCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && surfaceFormatCount)
|
|
{
|
|
surfaceFormats.resize(surfaceFormatCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkSurfaceKHR>(surface),
|
|
&surfaceFormatCount,
|
|
reinterpret_cast<VkSurfaceFormatKHR *>(surfaceFormats.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormatsKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(surfaceFormatCount <= surfaceFormats.size());
|
|
if(surfaceFormatCount < surfaceFormats.size())
|
|
{
|
|
surfaceFormats.resize(surfaceFormatCount);
|
|
}
|
|
}
|
|
return surfaceFormats;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR>
|
|
PhysicalDevice::getSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR &&
|
|
"Function <vkGetPhysicalDeviceSurfacePresentModesKHR> needs extension <VK_KHR_surface> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> presentModes;
|
|
uint32_t presentModeCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkSurfaceKHR>(surface), &presentModeCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && presentModeCount)
|
|
{
|
|
presentModes.resize(presentModeCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkSurfaceKHR>(surface),
|
|
&presentModeCount,
|
|
reinterpret_cast<VkPresentModeKHR *>(presentModes.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(presentModeCount <= presentModes.size());
|
|
if(presentModeCount < presentModes.size())
|
|
{
|
|
presentModes.resize(presentModeCount);
|
|
}
|
|
}
|
|
return presentModes;
|
|
}
|
|
|
|
//=== VK_KHR_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR
|
|
Device::createSwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VkImage> SwapchainKHR::getImages() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSwapchainImagesKHR && "Function <vkGetSwapchainImagesKHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
std::vector<VkImage> swapchainImages;
|
|
uint32_t swapchainImageCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetSwapchainImagesKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), &swapchainImageCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && swapchainImageCount)
|
|
{
|
|
swapchainImages.resize(swapchainImageCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetSwapchainImagesKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), &swapchainImageCount, swapchainImages.data()));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getImages");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(swapchainImageCount <= swapchainImages.size());
|
|
if(swapchainImageCount < swapchainImages.size())
|
|
{
|
|
swapchainImages.resize(swapchainImageCount);
|
|
}
|
|
}
|
|
return swapchainImages;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t>
|
|
SwapchainKHR::acquireNextImage(uint64_t timeout, VULKAN_HPP_NAMESPACE::Semaphore semaphore, VULKAN_HPP_NAMESPACE::Fence fence) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireNextImageKHR && "Function <vkAcquireNextImageKHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
uint32_t imageIndex;
|
|
VULKAN_HPP_NAMESPACE::Result result =
|
|
static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkAcquireNextImageKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkSwapchainKHR>(m_swapchain),
|
|
timeout,
|
|
static_cast<VkSemaphore>(semaphore),
|
|
static_cast<VkFence>(fence),
|
|
&imageIndex));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eTimeout) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eNotReady) && (result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage");
|
|
}
|
|
return std::make_pair(result, imageIndex);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Queue::presentKHR(const VULKAN_HPP_NAMESPACE::PresentInfoKHR &presentInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkQueuePresentKHR && "Function <vkQueuePresentKHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkQueuePresentKHR(static_cast<VkQueue>(m_queue), reinterpret_cast<const VkPresentInfoKHR *>(&presentInfo)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR Device::getGroupPresentCapabilitiesKHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR &&
|
|
"Function <vkGetDeviceGroupPresentCapabilitiesKHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR deviceGroupPresentCapabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>(&deviceGroupPresentCapabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR");
|
|
}
|
|
return deviceGroupPresentCapabilities;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR
|
|
Device::getGroupSurfacePresentModesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR &&
|
|
"Function <vkGetDeviceGroupSurfacePresentModesKHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSurfaceKHR>(surface), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>(&modes)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR");
|
|
}
|
|
return modes;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::Rect2D>
|
|
PhysicalDevice::getPresentRectanglesKHR(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR &&
|
|
"Function <vkGetPhysicalDevicePresentRectanglesKHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::Rect2D> rects;
|
|
uint32_t rectCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkSurfaceKHR>(surface), &rectCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && rectCount)
|
|
{
|
|
rects.resize(rectCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkSurfaceKHR>(surface),
|
|
&rectCount,
|
|
reinterpret_cast<VkRect2D *>(rects.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getPresentRectanglesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(rectCount <= rects.size());
|
|
if(rectCount < rects.size())
|
|
{
|
|
rects.resize(rectCount);
|
|
}
|
|
}
|
|
return rects;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t>
|
|
Device::acquireNextImage2KHR(const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR &acquireInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireNextImage2KHR && "Function <vkAcquireNextImage2KHR> needs extension <VK_KHR_swapchain> enabled!");
|
|
|
|
uint32_t imageIndex;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkAcquireNextImage2KHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkAcquireNextImageInfoKHR *>(&acquireInfo), &imageIndex));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eTimeout) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eNotReady) && (result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR");
|
|
}
|
|
return std::make_pair(result, imageIndex);
|
|
}
|
|
|
|
//=== VK_KHR_display ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> PhysicalDevice::getDisplayPropertiesKHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR &&
|
|
"Function <vkGetPhysicalDeviceDisplayPropertiesKHR> needs extension <VK_KHR_display> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::DisplayPropertiesKHR> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceDisplayPropertiesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, reinterpret_cast<VkDisplayPropertiesKHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPropertiesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> PhysicalDevice::getDisplayPlanePropertiesKHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR &&
|
|
"Function <vkGetPhysicalDeviceDisplayPlanePropertiesKHR> needs extension <VK_KHR_display> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::DisplayPlanePropertiesKHR> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, reinterpret_cast<VkDisplayPlanePropertiesKHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlanePropertiesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::DisplayKHR>
|
|
PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR(uint32_t planeIndex) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DisplayKHRs(*this, planeIndex);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> DisplayKHR::getModeProperties() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDisplayModePropertiesKHR &&
|
|
"Function <vkGetDisplayModePropertiesKHR> needs extension <VK_KHR_display> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetDisplayModePropertiesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkDisplayKHR>(m_display), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetDisplayModePropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkDisplayKHR>(m_display),
|
|
&propertyCount,
|
|
reinterpret_cast<VkDisplayModePropertiesKHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::getModeProperties");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR
|
|
DisplayKHR::createMode(VULKAN_HPP_NAMESPACE::DisplayModeCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DisplayModeKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR
|
|
DisplayModeKHR::getDisplayPlaneCapabilities(uint32_t planeIndex) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR &&
|
|
"Function <vkGetDisplayPlaneCapabilitiesKHR> needs extension <VK_KHR_display> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR capabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetDisplayPlaneCapabilitiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkDisplayModeKHR>(m_displayModeKHR),
|
|
planeIndex,
|
|
reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>(&capabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DisplayModeKHR::getDisplayPlaneCapabilities");
|
|
}
|
|
return capabilities;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createDisplayPlaneSurfaceKHR(VULKAN_HPP_NAMESPACE::DisplaySurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
//=== VK_KHR_display_swapchain ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR>
|
|
Device::createSharedSwapchainsKHR(VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SwapchainKHRs(*this, createInfos, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR
|
|
Device::createSharedSwapchainKHR(VULKAN_HPP_NAMESPACE::SwapchainCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SwapchainKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
//=== VK_KHR_xlib_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createXlibSurfaceKHR(VULKAN_HPP_NAMESPACE::XlibSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
|
|
PhysicalDevice::getXlibPresentationSupportKHR(uint32_t queueFamilyIndex, Display &dpy, VisualID visualID) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR &&
|
|
"Function <vkGetPhysicalDeviceXlibPresentationSupportKHR> needs extension <VK_KHR_xlib_surface> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Bool32>(
|
|
getDispatcher()->vkGetPhysicalDeviceXlibPresentationSupportKHR(static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex, &dpy, visualID));
|
|
}
|
|
# endif /*VK_USE_PLATFORM_XLIB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_XCB_KHR)
|
|
//=== VK_KHR_xcb_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createXcbSurfaceKHR(VULKAN_HPP_NAMESPACE::XcbSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32 PhysicalDevice::getXcbPresentationSupportKHR(
|
|
uint32_t queueFamilyIndex, xcb_connection_t &connection, xcb_visualid_t visual_id) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR &&
|
|
"Function <vkGetPhysicalDeviceXcbPresentationSupportKHR> needs extension <VK_KHR_xcb_surface> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Bool32>(getDispatcher()->vkGetPhysicalDeviceXcbPresentationSupportKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex, &connection, visual_id));
|
|
}
|
|
# endif /*VK_USE_PLATFORM_XCB_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
|
//=== VK_KHR_wayland_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createWaylandSurfaceKHR(VULKAN_HPP_NAMESPACE::WaylandSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
|
|
PhysicalDevice::getWaylandPresentationSupportKHR(uint32_t queueFamilyIndex, struct wl_display &display) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR &&
|
|
"Function <vkGetPhysicalDeviceWaylandPresentationSupportKHR> needs extension <VK_KHR_wayland_surface> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Bool32>(
|
|
getDispatcher()->vkGetPhysicalDeviceWaylandPresentationSupportKHR(static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex, &display));
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_KHR_android_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createAndroidSurfaceKHR(VULKAN_HPP_NAMESPACE::AndroidSurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_win32_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createWin32SurfaceKHR(VULKAN_HPP_NAMESPACE::Win32SurfaceCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
|
|
PhysicalDevice::getWin32PresentationSupportKHR(uint32_t queueFamilyIndex) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR &&
|
|
"Function <vkGetPhysicalDeviceWin32PresentationSupportKHR> needs extension <VK_KHR_win32_surface> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Bool32>(
|
|
getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR(static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex));
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_debug_report ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT
|
|
Instance::createDebugReportCallbackEXT(VULKAN_HPP_NAMESPACE::DebugReportCallbackCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Instance::debugReportMessageEXT(VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags,
|
|
VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType_,
|
|
uint64_t object,
|
|
size_t location,
|
|
int32_t messageCode,
|
|
const std::string &layerPrefix,
|
|
const std::string &message) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDebugReportMessageEXT && "Function <vkDebugReportMessageEXT> needs extension <VK_EXT_debug_report> enabled!");
|
|
|
|
getDispatcher()->vkDebugReportMessageEXT(static_cast<VkInstance>(m_instance),
|
|
static_cast<VkDebugReportFlagsEXT>(flags),
|
|
static_cast<VkDebugReportObjectTypeEXT>(objectType_),
|
|
object,
|
|
location,
|
|
messageCode,
|
|
layerPrefix.c_str(),
|
|
message.c_str());
|
|
}
|
|
|
|
//=== VK_EXT_debug_marker ===
|
|
|
|
VULKAN_HPP_INLINE void Device::debugMarkerSetObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT &tagInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDebugMarkerSetObjectTagEXT &&
|
|
"Function <vkDebugMarkerSetObjectTagEXT> needs extension <VK_EXT_debug_marker> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkDebugMarkerSetObjectTagEXT(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkDebugMarkerObjectTagInfoEXT *>(&tagInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectTagEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::debugMarkerSetObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT &nameInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDebugMarkerSetObjectNameEXT &&
|
|
"Function <vkDebugMarkerSetObjectNameEXT> needs extension <VK_EXT_debug_marker> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkDebugMarkerSetObjectNameEXT(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkDebugMarkerObjectNameInfoEXT *>(&nameInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::debugMarkerSetObjectNameEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::debugMarkerBeginEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT &markerInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDebugMarkerBeginEXT && "Function <vkCmdDebugMarkerBeginEXT> needs extension <VK_EXT_debug_marker> enabled!");
|
|
|
|
getDispatcher()->vkCmdDebugMarkerBeginEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(&markerInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::debugMarkerEndEXT() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDebugMarkerEndEXT && "Function <vkCmdDebugMarkerEndEXT> needs extension <VK_EXT_debug_marker> enabled!");
|
|
|
|
getDispatcher()->vkCmdDebugMarkerEndEXT(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::debugMarkerInsertEXT(const VULKAN_HPP_NAMESPACE::DebugMarkerMarkerInfoEXT &markerInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDebugMarkerInsertEXT && "Function <vkCmdDebugMarkerInsertEXT> needs extension <VK_EXT_debug_marker> enabled!");
|
|
|
|
getDispatcher()->vkCmdDebugMarkerInsertEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkDebugMarkerMarkerInfoEXT *>(&markerInfo));
|
|
}
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_queue ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR
|
|
PhysicalDevice::getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileKHR &videoProfile) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR &&
|
|
"Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR capabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkVideoProfileKHR *>(&videoProfile),
|
|
reinterpret_cast<VkVideoCapabilitiesKHR *>(&capabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR");
|
|
}
|
|
return capabilities;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> PhysicalDevice::getVideoCapabilitiesKHR(const VULKAN_HPP_NAMESPACE::VideoProfileKHR &videoProfile) const
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR &capabilities = structureChain.template get<VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR>();
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkVideoProfileKHR *>(&videoProfile),
|
|
reinterpret_cast<VkVideoCapabilitiesKHR *>(&capabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR");
|
|
}
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR>
|
|
PhysicalDevice::getVideoFormatPropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR &videoFormatInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR &&
|
|
"Function <vkGetPhysicalDeviceVideoFormatPropertiesKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR> videoFormatProperties;
|
|
uint32_t videoFormatPropertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>(&videoFormatInfo),
|
|
&videoFormatPropertyCount,
|
|
nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && videoFormatPropertyCount)
|
|
{
|
|
videoFormatProperties.resize(videoFormatPropertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceVideoFormatPropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>(&videoFormatInfo),
|
|
&videoFormatPropertyCount,
|
|
reinterpret_cast<VkVideoFormatPropertiesKHR *>(videoFormatProperties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoFormatPropertiesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(videoFormatPropertyCount <= videoFormatProperties.size());
|
|
if(videoFormatPropertyCount < videoFormatProperties.size())
|
|
{
|
|
videoFormatProperties.resize(videoFormatPropertyCount);
|
|
}
|
|
}
|
|
return videoFormatProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR
|
|
Device::createVideoSessionKHR(VULKAN_HPP_NAMESPACE::VideoSessionCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::VideoSessionKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> VideoSessionKHR::getMemoryRequirements() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR &&
|
|
"Function <vkGetVideoSessionMemoryRequirementsKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> videoSessionMemoryRequirements;
|
|
uint32_t videoSessionMemoryRequirementsCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkVideoSessionKHR>(m_videoSession), &videoSessionMemoryRequirementsCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && videoSessionMemoryRequirementsCount)
|
|
{
|
|
videoSessionMemoryRequirements.resize(videoSessionMemoryRequirementsCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetVideoSessionMemoryRequirementsKHR(
|
|
static_cast<VkDevice>(m_device),
|
|
static_cast<VkVideoSessionKHR>(m_videoSession),
|
|
&videoSessionMemoryRequirementsCount,
|
|
reinterpret_cast<VkVideoGetMemoryPropertiesKHR *>(videoSessionMemoryRequirements.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::VideoSessionKHR::getMemoryRequirements");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(videoSessionMemoryRequirementsCount <= videoSessionMemoryRequirements.size());
|
|
if(videoSessionMemoryRequirementsCount < videoSessionMemoryRequirements.size())
|
|
{
|
|
videoSessionMemoryRequirements.resize(videoSessionMemoryRequirementsCount);
|
|
}
|
|
}
|
|
return videoSessionMemoryRequirements;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void VideoSessionKHR::bindMemory(ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const &videoSessionBindMemories) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkBindVideoSessionMemoryKHR &&
|
|
"Function <vkBindVideoSessionMemoryKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkBindVideoSessionMemoryKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkVideoSessionKHR>(m_videoSession),
|
|
videoSessionBindMemories.size(),
|
|
reinterpret_cast<const VkVideoBindMemoryKHR *>(videoSessionBindMemories.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::VideoSessionKHR::bindMemory");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR
|
|
Device::createVideoSessionParametersKHR(VULKAN_HPP_NAMESPACE::VideoSessionParametersCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::VideoSessionParametersKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void VideoSessionParametersKHR::update(const VULKAN_HPP_NAMESPACE::VideoSessionParametersUpdateInfoKHR &updateInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkUpdateVideoSessionParametersKHR &&
|
|
"Function <vkUpdateVideoSessionParametersKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkUpdateVideoSessionParametersKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkVideoSessionParametersKHR>(m_videoSessionParameters),
|
|
reinterpret_cast<const VkVideoSessionParametersUpdateInfoKHR *>(&updateInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::VideoSessionParametersKHR::update");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoBeginCodingInfoKHR &beginInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginVideoCodingKHR && "Function <vkCmdBeginVideoCodingKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
getDispatcher()->vkCmdBeginVideoCodingKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkVideoBeginCodingInfoKHR *>(&beginInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoEndCodingInfoKHR &endCodingInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndVideoCodingKHR && "Function <vkCmdEndVideoCodingKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
getDispatcher()->vkCmdEndVideoCodingKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkVideoEndCodingInfoKHR *>(&endCodingInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::controlVideoCodingKHR(const VULKAN_HPP_NAMESPACE::VideoCodingControlInfoKHR &codingControlInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdControlVideoCodingKHR && "Function <vkCmdControlVideoCodingKHR> needs extension <VK_KHR_video_queue> enabled!");
|
|
|
|
getDispatcher()->vkCmdControlVideoCodingKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkVideoCodingControlInfoKHR *>(&codingControlInfo));
|
|
}
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_decode_queue ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::decodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoDecodeInfoKHR &frameInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDecodeVideoKHR && "Function <vkCmdDecodeVideoKHR> needs extension <VK_KHR_video_decode_queue> enabled!");
|
|
|
|
getDispatcher()->vkCmdDecodeVideoKHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkVideoDecodeInfoKHR *>(&frameInfo));
|
|
}
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_EXT_transform_feedback ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindTransformFeedbackBuffersEXT(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBindTransformFeedbackBuffersEXT &&
|
|
"Function <vkCmdBindTransformFeedbackBuffersEXT> needs extension <VK_EXT_transform_feedback> enabled!");
|
|
|
|
if(buffers.size() != offsets.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != offsets.size()");
|
|
}
|
|
if(!sizes.empty() && buffers.size() != sizes.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindTransformFeedbackBuffersEXT: buffers.size() != sizes.size()");
|
|
}
|
|
getDispatcher()->vkCmdBindTransformFeedbackBuffersEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstBinding,
|
|
buffers.size(),
|
|
reinterpret_cast<const VkBuffer *>(buffers.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(offsets.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(sizes.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginTransformFeedbackEXT(uint32_t firstCounterBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &counterBufferOffsets) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginTransformFeedbackEXT &&
|
|
"Function <vkCmdBeginTransformFeedbackEXT> needs extension <VK_EXT_transform_feedback> enabled!");
|
|
|
|
if(!counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::beginTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()");
|
|
}
|
|
getDispatcher()->vkCmdBeginTransformFeedbackEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstCounterBuffer,
|
|
counterBuffers.size(),
|
|
reinterpret_cast<const VkBuffer *>(counterBuffers.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(counterBufferOffsets.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endTransformFeedbackEXT(uint32_t firstCounterBuffer,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &counterBuffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &counterBufferOffsets) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndTransformFeedbackEXT &&
|
|
"Function <vkCmdEndTransformFeedbackEXT> needs extension <VK_EXT_transform_feedback> enabled!");
|
|
|
|
if(!counterBufferOffsets.empty() && counterBuffers.size() != counterBufferOffsets.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::endTransformFeedbackEXT: counterBuffers.size() != counterBufferOffsets.size()");
|
|
}
|
|
getDispatcher()->vkCmdEndTransformFeedbackEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstCounterBuffer,
|
|
counterBuffers.size(),
|
|
reinterpret_cast<const VkBuffer *>(counterBuffers.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(counterBufferOffsets.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query,
|
|
VULKAN_HPP_NAMESPACE::QueryControlFlags flags,
|
|
uint32_t index) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginQueryIndexedEXT &&
|
|
"Function <vkCmdBeginQueryIndexedEXT> needs extension <VK_EXT_transform_feedback> enabled!");
|
|
|
|
getDispatcher()->vkCmdBeginQueryIndexedEXT(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkQueryPool>(queryPool), query, static_cast<VkQueryControlFlags>(flags), index);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::endQueryIndexedEXT(VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t query, uint32_t index) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndQueryIndexedEXT &&
|
|
"Function <vkCmdEndQueryIndexedEXT> needs extension <VK_EXT_transform_feedback> enabled!");
|
|
|
|
getDispatcher()->vkCmdEndQueryIndexedEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkQueryPool>(queryPool), query, index);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndirectByteCountEXT(uint32_t instanceCount,
|
|
uint32_t firstInstance,
|
|
VULKAN_HPP_NAMESPACE::Buffer counterBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize counterBufferOffset,
|
|
uint32_t counterOffset,
|
|
uint32_t vertexStride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawIndirectByteCountEXT &&
|
|
"Function <vkCmdDrawIndirectByteCountEXT> needs extension <VK_EXT_transform_feedback> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawIndirectByteCountEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
instanceCount,
|
|
firstInstance,
|
|
static_cast<VkBuffer>(counterBuffer),
|
|
static_cast<VkDeviceSize>(counterBufferOffset),
|
|
counterOffset,
|
|
vertexStride);
|
|
}
|
|
|
|
//=== VK_NVX_binary_import ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX
|
|
Device::createCuModuleNVX(VULKAN_HPP_NAMESPACE::CuModuleCreateInfoNVX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::CuModuleNVX(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX
|
|
Device::createCuFunctionNVX(VULKAN_HPP_NAMESPACE::CuFunctionCreateInfoNVX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::CuFunctionNVX(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::cuLaunchKernelNVX(const VULKAN_HPP_NAMESPACE::CuLaunchInfoNVX &launchInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCuLaunchKernelNVX && "Function <vkCmdCuLaunchKernelNVX> needs extension <VK_NVX_binary_import> enabled!");
|
|
|
|
getDispatcher()->vkCmdCuLaunchKernelNVX(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkCuLaunchInfoNVX *>(&launchInfo));
|
|
}
|
|
|
|
//=== VK_NVX_image_view_handle ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t
|
|
Device::getImageViewHandleNVX(const VULKAN_HPP_NAMESPACE::ImageViewHandleInfoNVX &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetImageViewHandleNVX && "Function <vkGetImageViewHandleNVX> needs extension <VK_NVX_image_view_handle> enabled!");
|
|
|
|
return getDispatcher()->vkGetImageViewHandleNVX(static_cast<VkDevice>(m_device), reinterpret_cast<const VkImageViewHandleInfoNVX *>(&info));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX ImageView::getAddressNVX() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetImageViewAddressNVX &&
|
|
"Function <vkGetImageViewAddressNVX> needs extension <VK_NVX_image_view_handle> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX properties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetImageViewAddressNVX(
|
|
static_cast<VkDevice>(m_device), static_cast<VkImageView>(m_imageView), reinterpret_cast<VkImageViewAddressPropertiesNVX *>(&properties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::ImageView::getAddressNVX");
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
//=== VK_AMD_draw_indirect_count ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawIndirectCountAMD &&
|
|
"Function <vkCmdDrawIndirectCountAMD> needs extension <VK_AMD_draw_indirect_count> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawIndirectCountAMD(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountAMD(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawIndexedIndirectCountAMD &&
|
|
"Function <vkCmdDrawIndexedIndirectCountAMD> needs extension <VK_AMD_draw_indirect_count> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawIndexedIndirectCountAMD(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
//=== VK_AMD_shader_info ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> Pipeline::getShaderInfoAMD(VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
|
|
VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD infoType) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetShaderInfoAMD && "Function <vkGetShaderInfoAMD> needs extension <VK_AMD_shader_info> enabled!");
|
|
|
|
std::vector<uint8_t> info;
|
|
size_t infoSize;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetShaderInfoAMD(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
static_cast<VkShaderStageFlagBits>(shaderStage),
|
|
static_cast<VkShaderInfoTypeAMD>(infoType),
|
|
&infoSize,
|
|
nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && infoSize)
|
|
{
|
|
info.resize(infoSize);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetShaderInfoAMD(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
static_cast<VkShaderStageFlagBits>(shaderStage),
|
|
static_cast<VkShaderInfoTypeAMD>(infoType),
|
|
&infoSize,
|
|
reinterpret_cast<void *>(info.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getShaderInfoAMD");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(infoSize <= info.size());
|
|
if(infoSize < info.size())
|
|
{
|
|
info.resize(infoSize);
|
|
}
|
|
}
|
|
return info;
|
|
}
|
|
|
|
//=== VK_KHR_dynamic_rendering ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginRenderingKHR(const VULKAN_HPP_NAMESPACE::RenderingInfo &renderingInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginRenderingKHR && "Function <vkCmdBeginRenderingKHR> needs extension <VK_KHR_dynamic_rendering> enabled!");
|
|
|
|
getDispatcher()->vkCmdBeginRenderingKHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkRenderingInfo *>(&renderingInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endRenderingKHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndRenderingKHR && "Function <vkCmdEndRenderingKHR> needs extension <VK_KHR_dynamic_rendering> enabled!");
|
|
|
|
getDispatcher()->vkCmdEndRenderingKHR(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_GGP)
|
|
//=== VK_GGP_stream_descriptor_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createStreamDescriptorSurfaceGGP(VULKAN_HPP_NAMESPACE::StreamDescriptorSurfaceCreateInfoGGP const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_GGP*/
|
|
|
|
//=== VK_NV_external_memory_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV
|
|
PhysicalDevice::getExternalImageFormatPropertiesNV(VULKAN_HPP_NAMESPACE::Format format,
|
|
VULKAN_HPP_NAMESPACE::ImageType type,
|
|
VULKAN_HPP_NAMESPACE::ImageTiling tiling,
|
|
VULKAN_HPP_NAMESPACE::ImageUsageFlags usage,
|
|
VULKAN_HPP_NAMESPACE::ImageCreateFlags flags,
|
|
VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV externalHandleType) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV &&
|
|
"Function <vkGetPhysicalDeviceExternalImageFormatPropertiesNV> needs extension <VK_NV_external_memory_capabilities> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ExternalImageFormatPropertiesNV externalImageFormatProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkFormat>(format),
|
|
static_cast<VkImageType>(type),
|
|
static_cast<VkImageTiling>(tiling),
|
|
static_cast<VkImageUsageFlags>(usage),
|
|
static_cast<VkImageCreateFlags>(flags),
|
|
static_cast<VkExternalMemoryHandleTypeFlagsNV>(externalHandleType),
|
|
reinterpret_cast<VkExternalImageFormatPropertiesNV *>(&externalImageFormatProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV");
|
|
}
|
|
return externalImageFormatProperties;
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_external_memory_win32 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE DeviceMemory::getMemoryWin32HandleNV(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryWin32HandleNV &&
|
|
"Function <vkGetMemoryWin32HandleNV> needs extension <VK_NV_external_memory_win32> enabled!");
|
|
|
|
HANDLE handle;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetMemoryWin32HandleNV(
|
|
static_cast<VkDevice>(m_device), static_cast<VkDeviceMemory>(m_memory), static_cast<VkExternalMemoryHandleTypeFlagsNV>(handleType), &handle));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DeviceMemory::getMemoryWin32HandleNV");
|
|
}
|
|
return handle;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_get_physical_device_properties2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 PhysicalDevice::getFeatures2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceFeatures2KHR &&
|
|
"Function <vkGetPhysicalDeviceFeatures2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 features;
|
|
getDispatcher()->vkGetPhysicalDeviceFeatures2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
|
|
return features;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getFeatures2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceFeatures2KHR &&
|
|
"Function <vkGetPhysicalDeviceFeatures2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2 &features = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2>();
|
|
getDispatcher()->vkGetPhysicalDeviceFeatures2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceFeatures2 *>(&features));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 PhysicalDevice::getProperties2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
|
|
getDispatcher()->vkGetPhysicalDeviceProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
|
|
return properties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getProperties2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 &properties = structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2>();
|
|
getDispatcher()->vkGetPhysicalDeviceProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceProperties2 *>(&properties));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
|
|
PhysicalDevice::getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkFormat>(format), reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
|
|
return formatProperties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
PhysicalDevice::getFormatProperties2KHR(VULKAN_HPP_NAMESPACE::Format format) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::FormatProperties2 &formatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::FormatProperties2>();
|
|
getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkFormat>(format), reinterpret_cast<VkFormatProperties2 *>(&formatProperties));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties2
|
|
PhysicalDevice::getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceImageFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ImageFormatProperties2 imageFormatProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(&imageFormatInfo),
|
|
reinterpret_cast<VkImageFormatProperties2 *>(&imageFormatProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR");
|
|
}
|
|
return imageFormatProperties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
PhysicalDevice::getImageFormatProperties2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 &imageFormatInfo) const
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::ImageFormatProperties2 &imageFormatProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::ImageFormatProperties2>();
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>(&imageFormatInfo),
|
|
reinterpret_cast<VkImageFormatProperties2 *>(&imageFormatProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR");
|
|
}
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
|
|
PhysicalDevice::getQueueFamilyProperties2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
uint32_t queueFamilyPropertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice), &queueFamilyPropertyCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties(queueFamilyPropertyCount);
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&queueFamilyPropertyCount,
|
|
reinterpret_cast<VkQueueFamilyProperties2 *>(queueFamilyProperties.data()));
|
|
VULKAN_HPP_ASSERT(queueFamilyPropertyCount == queueFamilyProperties.size());
|
|
return queueFamilyProperties;
|
|
}
|
|
|
|
template<typename StructureChain>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain> PhysicalDevice::getQueueFamilyProperties2KHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
uint32_t queueFamilyPropertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice), &queueFamilyPropertyCount, nullptr);
|
|
std::vector<StructureChain> returnVector(queueFamilyPropertyCount);
|
|
std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties(queueFamilyPropertyCount);
|
|
for(uint32_t i = 0; i < queueFamilyPropertyCount; i++)
|
|
{
|
|
queueFamilyProperties[i].pNext = returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>().pNext;
|
|
}
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&queueFamilyPropertyCount,
|
|
reinterpret_cast<VkQueueFamilyProperties2 *>(queueFamilyProperties.data()));
|
|
VULKAN_HPP_ASSERT(queueFamilyPropertyCount <= queueFamilyProperties.size());
|
|
for(uint32_t i = 0; i < queueFamilyPropertyCount; i++)
|
|
{
|
|
returnVector[i].template get<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>() = queueFamilyProperties[i];
|
|
}
|
|
return returnVector;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
|
|
PhysicalDevice::getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceMemoryProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
|
|
return memoryProperties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> PhysicalDevice::getMemoryProperties2KHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceMemoryProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 &memoryProperties =
|
|
structureChain.template get<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2>();
|
|
getDispatcher()->vkGetPhysicalDeviceMemoryProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<VkPhysicalDeviceMemoryProperties2 *>(&memoryProperties));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> PhysicalDevice::getSparseImageFormatProperties2KHR(
|
|
const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 &formatInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceSparseImageFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!");
|
|
|
|
uint32_t propertyCount;
|
|
getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(&formatInfo),
|
|
&propertyCount,
|
|
nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties(propertyCount);
|
|
getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>(&formatInfo),
|
|
&propertyCount,
|
|
reinterpret_cast<VkSparseImageFormatProperties2 *>(properties.data()));
|
|
VULKAN_HPP_ASSERT(propertyCount == properties.size());
|
|
return properties;
|
|
}
|
|
|
|
//=== VK_KHR_device_group ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags
|
|
Device::getGroupPeerMemoryFeaturesKHR(uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceGroupPeerMemoryFeaturesKHR &&
|
|
"Function <vkGetDeviceGroupPeerMemoryFeaturesKHR> needs extension <VK_KHR_device_group> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::PeerMemoryFeatureFlags peerMemoryFeatures;
|
|
getDispatcher()->vkGetDeviceGroupPeerMemoryFeaturesKHR(static_cast<VkDevice>(m_device),
|
|
heapIndex,
|
|
localDeviceIndex,
|
|
remoteDeviceIndex,
|
|
reinterpret_cast<VkPeerMemoryFeatureFlags *>(&peerMemoryFeatures));
|
|
return peerMemoryFeatures;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDeviceMaskKHR(uint32_t deviceMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDeviceMaskKHR && "Function <vkCmdSetDeviceMaskKHR> needs extension <VK_KHR_device_group> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDeviceMaskKHR(static_cast<VkCommandBuffer>(m_commandBuffer), deviceMask);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::dispatchBaseKHR(uint32_t baseGroupX,
|
|
uint32_t baseGroupY,
|
|
uint32_t baseGroupZ,
|
|
uint32_t groupCountX,
|
|
uint32_t groupCountY,
|
|
uint32_t groupCountZ) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDispatchBaseKHR && "Function <vkCmdDispatchBaseKHR> needs extension <VK_KHR_device_group> enabled!");
|
|
|
|
getDispatcher()->vkCmdDispatchBaseKHR(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_VI_NN)
|
|
//=== VK_NN_vi_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createViSurfaceNN(VULKAN_HPP_NAMESPACE::ViSurfaceCreateInfoNN const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_VI_NN*/
|
|
|
|
//=== VK_KHR_maintenance1 ===
|
|
|
|
VULKAN_HPP_INLINE void CommandPool::trimKHR(VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkTrimCommandPoolKHR && "Function <vkTrimCommandPoolKHR> needs extension <VK_KHR_maintenance1> enabled!");
|
|
|
|
getDispatcher()->vkTrimCommandPoolKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkCommandPool>(m_commandPool), static_cast<VkCommandPoolTrimFlags>(flags));
|
|
}
|
|
|
|
//=== VK_KHR_device_group_creation ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> Instance::enumeratePhysicalDeviceGroupsKHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR &&
|
|
"Function <vkEnumeratePhysicalDeviceGroupsKHR> needs extension <VK_KHR_device_group_creation> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceGroupProperties> physicalDeviceGroupProperties;
|
|
uint32_t physicalDeviceGroupCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR(static_cast<VkInstance>(m_instance), &physicalDeviceGroupCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && physicalDeviceGroupCount)
|
|
{
|
|
physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumeratePhysicalDeviceGroupsKHR(
|
|
static_cast<VkInstance>(m_instance),
|
|
&physicalDeviceGroupCount,
|
|
reinterpret_cast<VkPhysicalDeviceGroupProperties *>(physicalDeviceGroupProperties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Instance::enumeratePhysicalDeviceGroupsKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(physicalDeviceGroupCount <= physicalDeviceGroupProperties.size());
|
|
if(physicalDeviceGroupCount < physicalDeviceGroupProperties.size())
|
|
{
|
|
physicalDeviceGroupProperties.resize(physicalDeviceGroupCount);
|
|
}
|
|
}
|
|
return physicalDeviceGroupProperties;
|
|
}
|
|
|
|
//=== VK_KHR_external_memory_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalBufferProperties PhysicalDevice::getExternalBufferPropertiesKHR(
|
|
const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalBufferInfo &externalBufferInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceExternalBufferPropertiesKHR &&
|
|
"Function <vkGetPhysicalDeviceExternalBufferPropertiesKHR> needs extension <VK_KHR_external_memory_capabilities> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ExternalBufferProperties externalBufferProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceExternalBufferPropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceExternalBufferInfo *>(&externalBufferInfo),
|
|
reinterpret_cast<VkExternalBufferProperties *>(&externalBufferProperties));
|
|
return externalBufferProperties;
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_memory_win32 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE
|
|
Device::getMemoryWin32HandleKHR(const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR &getWin32HandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryWin32HandleKHR &&
|
|
"Function <vkGetMemoryWin32HandleKHR> needs extension <VK_KHR_external_memory_win32> enabled!");
|
|
|
|
HANDLE handle;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetMemoryWin32HandleKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>(&getWin32HandleInfo), &handle));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR");
|
|
}
|
|
return handle;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
|
|
Device::getMemoryWin32HandlePropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, HANDLE handle) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR &&
|
|
"Function <vkGetMemoryWin32HandlePropertiesKHR> needs extension <VK_KHR_external_memory_win32> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR memoryWin32HandleProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetMemoryWin32HandlePropertiesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
|
|
handle,
|
|
reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>(&memoryWin32HandleProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR");
|
|
}
|
|
return memoryWin32HandleProperties;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_memory_fd ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE int Device::getMemoryFdKHR(const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR &getFdInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryFdKHR && "Function <vkGetMemoryFdKHR> needs extension <VK_KHR_external_memory_fd> enabled!");
|
|
|
|
int fd;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetMemoryFdKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkMemoryGetFdInfoKHR *>(&getFdInfo), &fd));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR");
|
|
}
|
|
return fd;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR
|
|
Device::getMemoryFdPropertiesKHR(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryFdPropertiesKHR &&
|
|
"Function <vkGetMemoryFdPropertiesKHR> needs extension <VK_KHR_external_memory_fd> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR memoryFdProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetMemoryFdPropertiesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
|
|
fd,
|
|
reinterpret_cast<VkMemoryFdPropertiesKHR *>(&memoryFdProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR");
|
|
}
|
|
return memoryFdProperties;
|
|
}
|
|
|
|
//=== VK_KHR_external_semaphore_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties PhysicalDevice::getExternalSemaphorePropertiesKHR(
|
|
const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo &externalSemaphoreInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR &&
|
|
"Function <vkGetPhysicalDeviceExternalSemaphorePropertiesKHR> needs extension <VK_KHR_external_semaphore_capabilities> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceExternalSemaphoreInfo *>(&externalSemaphoreInfo),
|
|
reinterpret_cast<VkExternalSemaphoreProperties *>(&externalSemaphoreProperties));
|
|
return externalSemaphoreProperties;
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_semaphore_win32 ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Device::importSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreWin32HandleInfoKHR &importSemaphoreWin32HandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkImportSemaphoreWin32HandleKHR &&
|
|
"Function <vkImportSemaphoreWin32HandleKHR> needs extension <VK_KHR_external_semaphore_win32> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkImportSemaphoreWin32HandleKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkImportSemaphoreWin32HandleInfoKHR *>(&importSemaphoreWin32HandleInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreWin32HandleKHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE
|
|
Device::getSemaphoreWin32HandleKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR &getWin32HandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSemaphoreWin32HandleKHR &&
|
|
"Function <vkGetSemaphoreWin32HandleKHR> needs extension <VK_KHR_external_semaphore_win32> enabled!");
|
|
|
|
HANDLE handle;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetSemaphoreWin32HandleKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>(&getWin32HandleInfo), &handle));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR");
|
|
}
|
|
return handle;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_semaphore_fd ===
|
|
|
|
VULKAN_HPP_INLINE void Device::importSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR &importSemaphoreFdInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkImportSemaphoreFdKHR &&
|
|
"Function <vkImportSemaphoreFdKHR> needs extension <VK_KHR_external_semaphore_fd> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkImportSemaphoreFdKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkImportSemaphoreFdInfoKHR *>(&importSemaphoreFdInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreFdKHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE int Device::getSemaphoreFdKHR(const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR &getFdInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSemaphoreFdKHR && "Function <vkGetSemaphoreFdKHR> needs extension <VK_KHR_external_semaphore_fd> enabled!");
|
|
|
|
int fd;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetSemaphoreFdKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>(&getFdInfo), &fd));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR");
|
|
}
|
|
return fd;
|
|
}
|
|
|
|
//=== VK_KHR_push_descriptor ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::pushDescriptorSetKHR(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
uint32_t set,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const &descriptorWrites) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdPushDescriptorSetKHR &&
|
|
"Function <vkCmdPushDescriptorSetKHR> needs extension <VK_KHR_push_descriptor> enabled!");
|
|
|
|
getDispatcher()->vkCmdPushDescriptorSetKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineBindPoint>(pipelineBindPoint),
|
|
static_cast<VkPipelineLayout>(layout),
|
|
set,
|
|
descriptorWrites.size(),
|
|
reinterpret_cast<const VkWriteDescriptorSet *>(descriptorWrites.data()));
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_INLINE void CommandBuffer::pushDescriptorSetWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
|
|
VULKAN_HPP_NAMESPACE::PipelineLayout layout,
|
|
uint32_t set,
|
|
DataType const &data) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdPushDescriptorSetWithTemplateKHR &&
|
|
"Function <vkCmdPushDescriptorSetWithTemplateKHR> needs extension <VK_KHR_push_descriptor> enabled!");
|
|
|
|
getDispatcher()->vkCmdPushDescriptorSetWithTemplateKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
|
|
static_cast<VkPipelineLayout>(layout),
|
|
set,
|
|
reinterpret_cast<const void *>(&data));
|
|
}
|
|
|
|
//=== VK_EXT_conditional_rendering ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginConditionalRenderingEXT(
|
|
const VULKAN_HPP_NAMESPACE::ConditionalRenderingBeginInfoEXT &conditionalRenderingBegin) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginConditionalRenderingEXT &&
|
|
"Function <vkCmdBeginConditionalRenderingEXT> needs extension <VK_EXT_conditional_rendering> enabled!");
|
|
|
|
getDispatcher()->vkCmdBeginConditionalRenderingEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkConditionalRenderingBeginInfoEXT *>(&conditionalRenderingBegin));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endConditionalRenderingEXT() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndConditionalRenderingEXT &&
|
|
"Function <vkCmdEndConditionalRenderingEXT> needs extension <VK_EXT_conditional_rendering> enabled!");
|
|
|
|
getDispatcher()->vkCmdEndConditionalRenderingEXT(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
//=== VK_KHR_descriptor_update_template ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate
|
|
Device::createDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplateCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DescriptorUpdateTemplate(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Device::destroyDescriptorUpdateTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
|
|
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDestroyDescriptorUpdateTemplateKHR &&
|
|
"Function <vkDestroyDescriptorUpdateTemplateKHR> needs extension <VK_KHR_descriptor_update_template> enabled!");
|
|
|
|
getDispatcher()->vkDestroyDescriptorUpdateTemplateKHR(
|
|
static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)));
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_INLINE void DescriptorSet::updateWithTemplateKHR(VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate,
|
|
DataType const &data) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR &&
|
|
"Function <vkUpdateDescriptorSetWithTemplateKHR> needs extension <VK_KHR_descriptor_update_template> enabled!");
|
|
|
|
getDispatcher()->vkUpdateDescriptorSetWithTemplateKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDescriptorSet>(m_descriptorSet),
|
|
static_cast<VkDescriptorUpdateTemplate>(descriptorUpdateTemplate),
|
|
reinterpret_cast<const void *>(&data));
|
|
}
|
|
|
|
//=== VK_NV_clip_space_w_scaling ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setViewportWScalingNV(uint32_t firstViewport,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::ViewportWScalingNV> const &viewportWScalings) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetViewportWScalingNV &&
|
|
"Function <vkCmdSetViewportWScalingNV> needs extension <VK_NV_clip_space_w_scaling> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetViewportWScalingNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstViewport,
|
|
viewportWScalings.size(),
|
|
reinterpret_cast<const VkViewportWScalingNV *>(viewportWScalings.data()));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
|
|
//=== VK_EXT_acquire_xlib_display ===
|
|
|
|
VULKAN_HPP_INLINE void PhysicalDevice::acquireXlibDisplayEXT(Display &dpy, VULKAN_HPP_NAMESPACE::DisplayKHR display) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireXlibDisplayEXT &&
|
|
"Function <vkAcquireXlibDisplayEXT> needs extension <VK_EXT_acquire_xlib_display> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkAcquireXlibDisplayEXT(static_cast<VkPhysicalDevice>(m_physicalDevice), &dpy, static_cast<VkDisplayKHR>(display)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireXlibDisplayEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR PhysicalDevice::getRandROutputDisplayEXT(Display &dpy,
|
|
RROutput rrOutput) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR(*this, dpy, rrOutput);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
|
|
|
|
//=== VK_EXT_display_surface_counter ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT
|
|
PhysicalDevice::getSurfaceCapabilities2EXT(VULKAN_HPP_NAMESPACE::SurfaceKHR surface) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT &&
|
|
"Function <vkGetPhysicalDeviceSurfaceCapabilities2EXT> needs extension <VK_EXT_display_surface_counter> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT surfaceCapabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkSurfaceKHR>(surface),
|
|
reinterpret_cast<VkSurfaceCapabilities2EXT *>(&surfaceCapabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT");
|
|
}
|
|
return surfaceCapabilities;
|
|
}
|
|
|
|
//=== VK_EXT_display_control ===
|
|
|
|
VULKAN_HPP_INLINE void Device::displayPowerControlEXT(VULKAN_HPP_NAMESPACE::DisplayKHR display,
|
|
const VULKAN_HPP_NAMESPACE::DisplayPowerInfoEXT &displayPowerInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDisplayPowerControlEXT && "Function <vkDisplayPowerControlEXT> needs extension <VK_EXT_display_control> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkDisplayPowerControlEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkDisplayKHR>(display), reinterpret_cast<const VkDisplayPowerInfoEXT *>(&displayPowerInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::displayPowerControlEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Fence
|
|
Device::registerEventEXT(VULKAN_HPP_NAMESPACE::DeviceEventInfoEXT const &deviceEventInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Fence(*this, deviceEventInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Fence
|
|
Device::registerDisplayEventEXT(VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DisplayKHR const &display,
|
|
VULKAN_HPP_NAMESPACE::DisplayEventInfoEXT const &displayEventInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Fence(*this, display, displayEventInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t SwapchainKHR::getCounterEXT(VULKAN_HPP_NAMESPACE::SurfaceCounterFlagBitsEXT counter) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSwapchainCounterEXT && "Function <vkGetSwapchainCounterEXT> needs extension <VK_EXT_display_control> enabled!");
|
|
|
|
uint64_t counterValue;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetSwapchainCounterEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), static_cast<VkSurfaceCounterFlagBitsEXT>(counter), &counterValue));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT");
|
|
}
|
|
return counterValue;
|
|
}
|
|
|
|
//=== VK_GOOGLE_display_timing ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE SwapchainKHR::getRefreshCycleDurationGOOGLE() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetRefreshCycleDurationGOOGLE &&
|
|
"Function <vkGetRefreshCycleDurationGOOGLE> needs extension <VK_GOOGLE_display_timing> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::RefreshCycleDurationGOOGLE displayTimingProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetRefreshCycleDurationGOOGLE(static_cast<VkDevice>(m_device),
|
|
static_cast<VkSwapchainKHR>(m_swapchain),
|
|
reinterpret_cast<VkRefreshCycleDurationGOOGLE *>(&displayTimingProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getRefreshCycleDurationGOOGLE");
|
|
}
|
|
return displayTimingProperties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> SwapchainKHR::getPastPresentationTimingGOOGLE() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPastPresentationTimingGOOGLE &&
|
|
"Function <vkGetPastPresentationTimingGOOGLE> needs extension <VK_GOOGLE_display_timing> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PastPresentationTimingGOOGLE> presentationTimings;
|
|
uint32_t presentationTimingCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPastPresentationTimingGOOGLE(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), &presentationTimingCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && presentationTimingCount)
|
|
{
|
|
presentationTimings.resize(presentationTimingCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPastPresentationTimingGOOGLE(static_cast<VkDevice>(m_device),
|
|
static_cast<VkSwapchainKHR>(m_swapchain),
|
|
&presentationTimingCount,
|
|
reinterpret_cast<VkPastPresentationTimingGOOGLE *>(presentationTimings.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getPastPresentationTimingGOOGLE");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(presentationTimingCount <= presentationTimings.size());
|
|
if(presentationTimingCount < presentationTimings.size())
|
|
{
|
|
presentationTimings.resize(presentationTimingCount);
|
|
}
|
|
}
|
|
return presentationTimings;
|
|
}
|
|
|
|
//=== VK_EXT_discard_rectangles ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setDiscardRectangleEXT(uint32_t firstDiscardRectangle,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &discardRectangles) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDiscardRectangleEXT &&
|
|
"Function <vkCmdSetDiscardRectangleEXT> needs extension <VK_EXT_discard_rectangles> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDiscardRectangleEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstDiscardRectangle,
|
|
discardRectangles.size(),
|
|
reinterpret_cast<const VkRect2D *>(discardRectangles.data()));
|
|
}
|
|
|
|
//=== VK_EXT_hdr_metadata ===
|
|
|
|
VULKAN_HPP_INLINE void Device::setHdrMetadataEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::SwapchainKHR> const &swapchains,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::HdrMetadataEXT> const &metadata) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetHdrMetadataEXT && "Function <vkSetHdrMetadataEXT> needs extension <VK_EXT_hdr_metadata> enabled!");
|
|
|
|
if(swapchains.size() != metadata.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::Device::setHdrMetadataEXT: swapchains.size() != metadata.size()");
|
|
}
|
|
getDispatcher()->vkSetHdrMetadataEXT(static_cast<VkDevice>(m_device),
|
|
swapchains.size(),
|
|
reinterpret_cast<const VkSwapchainKHR *>(swapchains.data()),
|
|
reinterpret_cast<const VkHdrMetadataEXT *>(metadata.data()));
|
|
}
|
|
|
|
//=== VK_KHR_create_renderpass2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::RenderPass
|
|
Device::createRenderPass2KHR(VULKAN_HPP_NAMESPACE::RenderPassCreateInfo2 const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::RenderPass(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginRenderPass2KHR(const VULKAN_HPP_NAMESPACE::RenderPassBeginInfo &renderPassBegin,
|
|
const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginRenderPass2KHR &&
|
|
"Function <vkCmdBeginRenderPass2KHR> needs extension <VK_KHR_create_renderpass2> enabled!");
|
|
|
|
getDispatcher()->vkCmdBeginRenderPass2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkRenderPassBeginInfo *>(&renderPassBegin),
|
|
reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::nextSubpass2KHR(const VULKAN_HPP_NAMESPACE::SubpassBeginInfo &subpassBeginInfo,
|
|
const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdNextSubpass2KHR && "Function <vkCmdNextSubpass2KHR> needs extension <VK_KHR_create_renderpass2> enabled!");
|
|
|
|
getDispatcher()->vkCmdNextSubpass2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkSubpassBeginInfo *>(&subpassBeginInfo),
|
|
reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endRenderPass2KHR(const VULKAN_HPP_NAMESPACE::SubpassEndInfo &subpassEndInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndRenderPass2KHR && "Function <vkCmdEndRenderPass2KHR> needs extension <VK_KHR_create_renderpass2> enabled!");
|
|
|
|
getDispatcher()->vkCmdEndRenderPass2KHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkSubpassEndInfo *>(&subpassEndInfo));
|
|
}
|
|
|
|
//=== VK_KHR_shared_presentable_image ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result SwapchainKHR::getStatus() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSwapchainStatusKHR &&
|
|
"Function <vkGetSwapchainStatusKHR> needs extension <VK_KHR_shared_presentable_image> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetSwapchainStatusKHR(static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getStatus");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
//=== VK_KHR_external_fence_capabilities ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalFenceProperties
|
|
PhysicalDevice::getExternalFencePropertiesKHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalFenceInfo &externalFenceInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceExternalFencePropertiesKHR &&
|
|
"Function <vkGetPhysicalDeviceExternalFencePropertiesKHR> needs extension <VK_KHR_external_fence_capabilities> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ExternalFenceProperties externalFenceProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceExternalFencePropertiesKHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceExternalFenceInfo *>(&externalFenceInfo),
|
|
reinterpret_cast<VkExternalFenceProperties *>(&externalFenceProperties));
|
|
return externalFenceProperties;
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_KHR_external_fence_win32 ===
|
|
|
|
VULKAN_HPP_INLINE void Device::importFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::ImportFenceWin32HandleInfoKHR &importFenceWin32HandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkImportFenceWin32HandleKHR &&
|
|
"Function <vkImportFenceWin32HandleKHR> needs extension <VK_KHR_external_fence_win32> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkImportFenceWin32HandleKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkImportFenceWin32HandleInfoKHR *>(&importFenceWin32HandleInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceWin32HandleKHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE HANDLE
|
|
Device::getFenceWin32HandleKHR(const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR &getWin32HandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetFenceWin32HandleKHR &&
|
|
"Function <vkGetFenceWin32HandleKHR> needs extension <VK_KHR_external_fence_win32> enabled!");
|
|
|
|
HANDLE handle;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetFenceWin32HandleKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>(&getWin32HandleInfo), &handle));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR");
|
|
}
|
|
return handle;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_KHR_external_fence_fd ===
|
|
|
|
VULKAN_HPP_INLINE void Device::importFenceFdKHR(const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR &importFenceFdInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkImportFenceFdKHR && "Function <vkImportFenceFdKHR> needs extension <VK_KHR_external_fence_fd> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkImportFenceFdKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkImportFenceFdInfoKHR *>(&importFenceFdInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::importFenceFdKHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE int Device::getFenceFdKHR(const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR &getFdInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetFenceFdKHR && "Function <vkGetFenceFdKHR> needs extension <VK_KHR_external_fence_fd> enabled!");
|
|
|
|
int fd;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetFenceFdKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkFenceGetFdInfoKHR *>(&getFdInfo), &fd));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR");
|
|
}
|
|
return fd;
|
|
}
|
|
|
|
//=== VK_KHR_performance_query ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>>
|
|
PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR(uint32_t queueFamilyIndex) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR &&
|
|
"Function <vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR> needs extension <VK_KHR_performance_query> enabled!");
|
|
|
|
std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>> data;
|
|
std::vector<PerformanceCounterKHR> &counters = data.first;
|
|
std::vector<PerformanceCounterDescriptionKHR> &counterDescriptions = data.second;
|
|
uint32_t counterCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex, &counterCount, nullptr, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && counterCount)
|
|
{
|
|
counters.resize(counterCount);
|
|
counterDescriptions.resize(counterCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
queueFamilyIndex,
|
|
&counterCount,
|
|
reinterpret_cast<VkPerformanceCounterKHR *>(counters.data()),
|
|
reinterpret_cast<VkPerformanceCounterDescriptionKHR *>(counterDescriptions.data())));
|
|
VULKAN_HPP_ASSERT(counterCount <= counters.size());
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && (counterCount < counters.size()))
|
|
{
|
|
counters.resize(counterCount);
|
|
counterDescriptions.resize(counterCount);
|
|
}
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t PhysicalDevice::getQueueFamilyPerformanceQueryPassesKHR(
|
|
const VULKAN_HPP_NAMESPACE::QueryPoolPerformanceCreateInfoKHR &performanceQueryCreateInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR &&
|
|
"Function <vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR> needs extension <VK_KHR_performance_query> enabled!");
|
|
|
|
uint32_t numPasses;
|
|
getDispatcher()->vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR *>(&performanceQueryCreateInfo),
|
|
&numPasses);
|
|
return numPasses;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::acquireProfilingLockKHR(const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR &info) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireProfilingLockKHR &&
|
|
"Function <vkAcquireProfilingLockKHR> needs extension <VK_KHR_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkAcquireProfilingLockKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkAcquireProfilingLockInfoKHR *>(&info)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireProfilingLockKHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::releaseProfilingLockKHR() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkReleaseProfilingLockKHR &&
|
|
"Function <vkReleaseProfilingLockKHR> needs extension <VK_KHR_performance_query> enabled!");
|
|
|
|
getDispatcher()->vkReleaseProfilingLockKHR(static_cast<VkDevice>(m_device));
|
|
}
|
|
|
|
//=== VK_KHR_get_surface_capabilities2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR
|
|
PhysicalDevice::getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR &&
|
|
"Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> needs extension <VK_KHR_get_surface_capabilities2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR surfaceCapabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
reinterpret_cast<VkSurfaceCapabilities2KHR *>(&surfaceCapabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR");
|
|
}
|
|
return surfaceCapabilities;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
|
PhysicalDevice::getSurfaceCapabilities2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR &surfaceCapabilities = structureChain.template get<VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR>();
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
reinterpret_cast<VkSurfaceCapabilities2KHR *>(&surfaceCapabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR");
|
|
}
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>
|
|
PhysicalDevice::getSurfaceFormats2KHR(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR &&
|
|
"Function <vkGetPhysicalDeviceSurfaceFormats2KHR> needs extension <VK_KHR_get_surface_capabilities2> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR> surfaceFormats;
|
|
uint32_t surfaceFormatCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
&surfaceFormatCount,
|
|
nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && surfaceFormatCount)
|
|
{
|
|
surfaceFormats.resize(surfaceFormatCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfaceFormats2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
&surfaceFormatCount,
|
|
reinterpret_cast<VkSurfaceFormat2KHR *>(surfaceFormats.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceFormats2KHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(surfaceFormatCount <= surfaceFormats.size());
|
|
if(surfaceFormatCount < surfaceFormats.size())
|
|
{
|
|
surfaceFormats.resize(surfaceFormatCount);
|
|
}
|
|
}
|
|
return surfaceFormats;
|
|
}
|
|
|
|
//=== VK_KHR_get_display_properties2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> PhysicalDevice::getDisplayProperties2KHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceDisplayProperties2KHR> needs extension <VK_KHR_get_display_properties2> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::DisplayProperties2KHR> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceDisplayProperties2KHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, reinterpret_cast<VkDisplayProperties2KHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayProperties2KHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> PhysicalDevice::getDisplayPlaneProperties2KHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR &&
|
|
"Function <vkGetPhysicalDeviceDisplayPlaneProperties2KHR> needs extension <VK_KHR_get_display_properties2> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::DisplayPlaneProperties2KHR> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, reinterpret_cast<VkDisplayPlaneProperties2KHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneProperties2KHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> DisplayKHR::getModeProperties2() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDisplayModeProperties2KHR &&
|
|
"Function <vkGetDisplayModeProperties2KHR> needs extension <VK_KHR_get_display_properties2> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::DisplayModeProperties2KHR> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetDisplayModeProperties2KHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkDisplayKHR>(m_display), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetDisplayModeProperties2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkDisplayKHR>(m_display),
|
|
&propertyCount,
|
|
reinterpret_cast<VkDisplayModeProperties2KHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::getModeProperties2");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR
|
|
PhysicalDevice::getDisplayPlaneCapabilities2KHR(const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR &displayPlaneInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDisplayPlaneCapabilities2KHR &&
|
|
"Function <vkGetDisplayPlaneCapabilities2KHR> needs extension <VK_KHR_get_display_properties2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR capabilities;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetDisplayPlaneCapabilities2KHR(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkDisplayPlaneInfo2KHR *>(&displayPlaneInfo),
|
|
reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>(&capabilities)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR");
|
|
}
|
|
return capabilities;
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_IOS_MVK)
|
|
//=== VK_MVK_ios_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createIOSSurfaceMVK(VULKAN_HPP_NAMESPACE::IOSSurfaceCreateInfoMVK const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_IOS_MVK*/
|
|
|
|
# if defined(VK_USE_PLATFORM_MACOS_MVK)
|
|
//=== VK_MVK_macos_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createMacOSSurfaceMVK(VULKAN_HPP_NAMESPACE::MacOSSurfaceCreateInfoMVK const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_MACOS_MVK*/
|
|
|
|
//=== VK_EXT_debug_utils ===
|
|
|
|
VULKAN_HPP_INLINE void Device::setDebugUtilsObjectNameEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT &nameInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetDebugUtilsObjectNameEXT &&
|
|
"Function <vkSetDebugUtilsObjectNameEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkSetDebugUtilsObjectNameEXT(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT *>(&nameInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectNameEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::setDebugUtilsObjectTagEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT &tagInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetDebugUtilsObjectTagEXT &&
|
|
"Function <vkSetDebugUtilsObjectTagEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkSetDebugUtilsObjectTagEXT(static_cast<VkDevice>(m_device), reinterpret_cast<const VkDebugUtilsObjectTagInfoEXT *>(&tagInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::setDebugUtilsObjectTagEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkQueueBeginDebugUtilsLabelEXT &&
|
|
"Function <vkQueueBeginDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkQueueBeginDebugUtilsLabelEXT(static_cast<VkQueue>(m_queue), reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkQueueEndDebugUtilsLabelEXT &&
|
|
"Function <vkQueueEndDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkQueueEndDebugUtilsLabelEXT(static_cast<VkQueue>(m_queue));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkQueueInsertDebugUtilsLabelEXT &&
|
|
"Function <vkQueueInsertDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkQueueInsertDebugUtilsLabelEXT(static_cast<VkQueue>(m_queue), reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::beginDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBeginDebugUtilsLabelEXT &&
|
|
"Function <vkCmdBeginDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkCmdBeginDebugUtilsLabelEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::endDebugUtilsLabelEXT() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEndDebugUtilsLabelEXT && "Function <vkCmdEndDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkCmdEndDebugUtilsLabelEXT(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::insertDebugUtilsLabelEXT(const VULKAN_HPP_NAMESPACE::DebugUtilsLabelEXT &labelInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdInsertDebugUtilsLabelEXT &&
|
|
"Function <vkCmdInsertDebugUtilsLabelEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkCmdInsertDebugUtilsLabelEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkDebugUtilsLabelEXT *>(&labelInfo));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT
|
|
Instance::createDebugUtilsMessengerEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DebugUtilsMessengerEXT(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Instance::submitDebugUtilsMessageEXT(VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
|
|
VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes,
|
|
const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT &callbackData) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSubmitDebugUtilsMessageEXT &&
|
|
"Function <vkSubmitDebugUtilsMessageEXT> needs extension <VK_EXT_debug_utils> enabled!");
|
|
|
|
getDispatcher()->vkSubmitDebugUtilsMessageEXT(static_cast<VkInstance>(m_instance),
|
|
static_cast<VkDebugUtilsMessageSeverityFlagBitsEXT>(messageSeverity),
|
|
static_cast<VkDebugUtilsMessageTypeFlagsEXT>(messageTypes),
|
|
reinterpret_cast<const VkDebugUtilsMessengerCallbackDataEXT *>(&callbackData));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_ANDROID_KHR)
|
|
//=== VK_ANDROID_external_memory_android_hardware_buffer ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID
|
|
Device::getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer &buffer) const
|
|
{
|
|
VULKAN_HPP_ASSERT(
|
|
getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID &&
|
|
"Function <vkGetAndroidHardwareBufferPropertiesANDROID> needs extension <VK_ANDROID_external_memory_android_hardware_buffer> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID properties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID(
|
|
static_cast<VkDevice>(m_device), &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>(&properties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID");
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> Device::getAndroidHardwareBufferPropertiesANDROID(const struct AHardwareBuffer &buffer) const
|
|
{
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID &properties =
|
|
structureChain.template get<VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID>();
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID(
|
|
static_cast<VkDevice>(m_device), &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>(&properties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID");
|
|
}
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE struct AHardwareBuffer *
|
|
Device::getMemoryAndroidHardwareBufferANDROID(const VULKAN_HPP_NAMESPACE::MemoryGetAndroidHardwareBufferInfoANDROID &info) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID &&
|
|
"Function <vkGetMemoryAndroidHardwareBufferANDROID> needs extension <VK_ANDROID_external_memory_android_hardware_buffer> enabled!");
|
|
|
|
struct AHardwareBuffer *buffer;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>(&info), &buffer));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID");
|
|
}
|
|
return buffer;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
|
|
|
//=== VK_EXT_sample_locations ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setSampleLocationsEXT(const VULKAN_HPP_NAMESPACE::SampleLocationsInfoEXT &sampleLocationsInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetSampleLocationsEXT &&
|
|
"Function <vkCmdSetSampleLocationsEXT> needs extension <VK_EXT_sample_locations> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetSampleLocationsEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkSampleLocationsInfoEXT *>(&sampleLocationsInfo));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
|
|
PhysicalDevice::getMultisamplePropertiesEXT(VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceMultisamplePropertiesEXT &&
|
|
"Function <vkGetPhysicalDeviceMultisamplePropertiesEXT> needs extension <VK_EXT_sample_locations> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT multisampleProperties;
|
|
getDispatcher()->vkGetPhysicalDeviceMultisamplePropertiesEXT(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
static_cast<VkSampleCountFlagBits>(samples),
|
|
reinterpret_cast<VkMultisamplePropertiesEXT *>(&multisampleProperties));
|
|
return multisampleProperties;
|
|
}
|
|
|
|
//=== VK_KHR_get_memory_requirements2 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetImageMemoryRequirements2KHR &&
|
|
"Function <vkGetImageMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetImageMemoryRequirements2KHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getImageMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetImageMemoryRequirements2KHR &&
|
|
"Function <vkGetImageMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetImageMemoryRequirements2KHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkImageMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetBufferMemoryRequirements2KHR &&
|
|
"Function <vkGetBufferMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetBufferMemoryRequirements2KHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getBufferMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetBufferMemoryRequirements2KHR &&
|
|
"Function <vkGetBufferMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetBufferMemoryRequirements2KHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkBufferMemoryRequirementsInfo2 *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
Device::getImageSparseMemoryRequirements2KHR(const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetImageSparseMemoryRequirements2KHR &&
|
|
"Function <vkGetImageSparseMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!");
|
|
|
|
uint32_t sparseMemoryRequirementCount;
|
|
getDispatcher()->vkGetImageSparseMemoryRequirements2KHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info), &sparseMemoryRequirementCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements(sparseMemoryRequirementCount);
|
|
getDispatcher()->vkGetImageSparseMemoryRequirements2KHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>(&info),
|
|
&sparseMemoryRequirementCount,
|
|
reinterpret_cast<VkSparseImageMemoryRequirements2 *>(sparseMemoryRequirements.data()));
|
|
VULKAN_HPP_ASSERT(sparseMemoryRequirementCount == sparseMemoryRequirements.size());
|
|
return sparseMemoryRequirements;
|
|
}
|
|
|
|
//=== VK_KHR_acceleration_structure ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR
|
|
Device::createAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructuresKHR(
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &infos,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const> const &pBuildRangeInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBuildAccelerationStructuresKHR &&
|
|
"Function <vkCmdBuildAccelerationStructuresKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
if(infos.size() != pBuildRangeInfos.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()");
|
|
}
|
|
getDispatcher()->vkCmdBuildAccelerationStructuresKHR(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
infos.size(),
|
|
reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(infos.data()),
|
|
reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *const *>(pBuildRangeInfos.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::buildAccelerationStructuresIndirectKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &infos,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceAddress> const &indirectDeviceAddresses,
|
|
ArrayProxy<const uint32_t> const &indirectStrides,
|
|
ArrayProxy<const uint32_t *const> const &pMaxPrimitiveCounts) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBuildAccelerationStructuresIndirectKHR &&
|
|
"Function <vkCmdBuildAccelerationStructuresIndirectKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
if(infos.size() != indirectDeviceAddresses.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING
|
|
"::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectDeviceAddresses.size()");
|
|
}
|
|
if(infos.size() != indirectStrides.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != indirectStrides.size()");
|
|
}
|
|
if(infos.size() != pMaxPrimitiveCounts.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::buildAccelerationStructuresIndirectKHR: infos.size() != pMaxPrimitiveCounts.size()");
|
|
}
|
|
getDispatcher()->vkCmdBuildAccelerationStructuresIndirectKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
infos.size(),
|
|
reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(infos.data()),
|
|
reinterpret_cast<const VkDeviceAddress *>(indirectDeviceAddresses.data()),
|
|
indirectStrides.data(),
|
|
pMaxPrimitiveCounts.data());
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::buildAccelerationStructuresKHR(
|
|
VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR> const &infos,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildRangeInfoKHR *const> const &pBuildRangeInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkBuildAccelerationStructuresKHR &&
|
|
"Function <vkBuildAccelerationStructuresKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
if(infos.size() != pBuildRangeInfos.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()");
|
|
}
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBuildAccelerationStructuresKHR(
|
|
static_cast<VkDevice>(m_device),
|
|
static_cast<VkDeferredOperationKHR>(deferredOperation),
|
|
infos.size(),
|
|
reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(infos.data()),
|
|
reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR *const *>(pBuildRangeInfos.data())));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
|
|
Device::copyAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR &info) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCopyAccelerationStructureKHR &&
|
|
"Function <vkCopyAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCopyAccelerationStructureKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDeferredOperationKHR>(deferredOperation),
|
|
reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(&info)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
|
|
Device::copyAccelerationStructureToMemoryKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR &info) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCopyAccelerationStructureToMemoryKHR &&
|
|
"Function <vkCopyAccelerationStructureToMemoryKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCopyAccelerationStructureToMemoryKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDeferredOperationKHR>(deferredOperation),
|
|
reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>(&info)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
|
|
Device::copyMemoryToAccelerationStructureKHR(VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
|
|
const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR &info) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCopyMemoryToAccelerationStructureKHR &&
|
|
"Function <vkCopyMemoryToAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCopyMemoryToAccelerationStructureKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkDeferredOperationKHR>(deferredOperation),
|
|
reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>(&info)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<DataType>
|
|
Device::writeAccelerationStructuresPropertiesKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
size_t dataSize,
|
|
size_t stride) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR &&
|
|
"Function <vkWriteAccelerationStructuresPropertiesKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
VULKAN_HPP_ASSERT(dataSize % sizeof(DataType) == 0);
|
|
std::vector<DataType> data(dataSize / sizeof(DataType));
|
|
Result result = static_cast<Result>(
|
|
getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR(static_cast<VkDevice>(m_device),
|
|
accelerationStructures.size(),
|
|
reinterpret_cast<const VkAccelerationStructureKHR *>(accelerationStructures.data()),
|
|
static_cast<VkQueryType>(queryType),
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<void *>(data.data()),
|
|
stride));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertiesKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType
|
|
Device::writeAccelerationStructuresPropertyKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
size_t stride) const
|
|
{
|
|
DataType data;
|
|
Result result = static_cast<Result>(
|
|
getDispatcher()->vkWriteAccelerationStructuresPropertiesKHR(static_cast<VkDevice>(m_device),
|
|
accelerationStructures.size(),
|
|
reinterpret_cast<const VkAccelerationStructureKHR *>(accelerationStructures.data()),
|
|
static_cast<VkQueryType>(queryType),
|
|
sizeof(DataType),
|
|
reinterpret_cast<void *>(&data),
|
|
stride));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::writeAccelerationStructuresPropertyKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::copyAccelerationStructureKHR(const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyAccelerationStructureKHR &&
|
|
"Function <vkCmdCopyAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyAccelerationStructureKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>(&info));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureToMemoryKHR(
|
|
const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureToMemoryInfoKHR &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyAccelerationStructureToMemoryKHR &&
|
|
"Function <vkCmdCopyAccelerationStructureToMemoryKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyAccelerationStructureToMemoryKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>(&info));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyMemoryToAccelerationStructureKHR(
|
|
const VULKAN_HPP_NAMESPACE::CopyMemoryToAccelerationStructureInfoKHR &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyMemoryToAccelerationStructureKHR &&
|
|
"Function <vkCmdCopyMemoryToAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyMemoryToAccelerationStructureKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>(&info));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
Device::getAccelerationStructureAddressKHR(const VULKAN_HPP_NAMESPACE::AccelerationStructureDeviceAddressInfoKHR &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR &&
|
|
"Function <vkGetAccelerationStructureDeviceAddressKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>(getDispatcher()->vkGetAccelerationStructureDeviceAddressKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkAccelerationStructureDeviceAddressInfoKHR *>(&info)));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::writeAccelerationStructuresPropertiesKHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t firstQuery) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesKHR &&
|
|
"Function <vkCmdWriteAccelerationStructuresPropertiesKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
accelerationStructures.size(),
|
|
reinterpret_cast<const VkAccelerationStructureKHR *>(accelerationStructures.data()),
|
|
static_cast<VkQueryType>(queryType),
|
|
static_cast<VkQueryPool>(queryPool),
|
|
firstQuery);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR Device::getAccelerationStructureCompatibilityKHR(
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureVersionInfoKHR &versionInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceAccelerationStructureCompatibilityKHR &&
|
|
"Function <vkGetDeviceAccelerationStructureCompatibilityKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureCompatibilityKHR compatibility;
|
|
getDispatcher()->vkGetDeviceAccelerationStructureCompatibilityKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkAccelerationStructureVersionInfoKHR *>(&versionInfo),
|
|
reinterpret_cast<VkAccelerationStructureCompatibilityKHR *>(&compatibility));
|
|
return compatibility;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR
|
|
Device::getAccelerationStructureBuildSizesKHR(VULKAN_HPP_NAMESPACE::AccelerationStructureBuildTypeKHR buildType,
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureBuildGeometryInfoKHR &buildInfo,
|
|
ArrayProxy<const uint32_t> const &maxPrimitiveCounts) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetAccelerationStructureBuildSizesKHR &&
|
|
"Function <vkGetAccelerationStructureBuildSizesKHR> needs extension <VK_KHR_acceleration_structure> enabled!");
|
|
|
|
if(maxPrimitiveCounts.size() != buildInfo.geometryCount)
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureBuildSizesKHR: maxPrimitiveCounts.size() != buildInfo.geometryCount");
|
|
}
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureBuildSizesInfoKHR sizeInfo;
|
|
getDispatcher()->vkGetAccelerationStructureBuildSizesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkAccelerationStructureBuildTypeKHR>(buildType),
|
|
reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>(&buildInfo),
|
|
maxPrimitiveCounts.data(),
|
|
reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR *>(&sizeInfo));
|
|
return sizeInfo;
|
|
}
|
|
|
|
//=== VK_KHR_sampler_ycbcr_conversion ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion
|
|
Device::createSamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversionCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SamplerYcbcrConversion(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Device::destroySamplerYcbcrConversionKHR(VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ycbcrConversion,
|
|
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDestroySamplerYcbcrConversionKHR &&
|
|
"Function <vkDestroySamplerYcbcrConversionKHR> needs extension <VK_KHR_sampler_ycbcr_conversion> enabled!");
|
|
|
|
getDispatcher()->vkDestroySamplerYcbcrConversionKHR(
|
|
static_cast<VkDevice>(m_device),
|
|
static_cast<VkSamplerYcbcrConversion>(ycbcrConversion),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)));
|
|
}
|
|
|
|
//=== VK_KHR_bind_memory2 ===
|
|
|
|
VULKAN_HPP_INLINE void Device::bindBufferMemory2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const &bindInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkBindBufferMemory2KHR && "Function <vkBindBufferMemory2KHR> needs extension <VK_KHR_bind_memory2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindBufferMemory2KHR(
|
|
static_cast<VkDevice>(m_device), bindInfos.size(), reinterpret_cast<const VkBindBufferMemoryInfo *>(bindInfos.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindBufferMemory2KHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::bindImageMemory2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const &bindInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkBindImageMemory2KHR && "Function <vkBindImageMemory2KHR> needs extension <VK_KHR_bind_memory2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindImageMemory2KHR(
|
|
static_cast<VkDevice>(m_device), bindInfos.size(), reinterpret_cast<const VkBindImageMemoryInfo *>(bindInfos.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindImageMemory2KHR");
|
|
}
|
|
}
|
|
|
|
//=== VK_EXT_image_drm_format_modifier ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT Image::getDrmFormatModifierPropertiesEXT() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT &&
|
|
"Function <vkGetImageDrmFormatModifierPropertiesEXT> needs extension <VK_EXT_image_drm_format_modifier> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT properties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkImage>(m_image), reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>(&properties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Image::getDrmFormatModifierPropertiesEXT");
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
//=== VK_EXT_validation_cache ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT
|
|
Device::createValidationCacheEXT(VULKAN_HPP_NAMESPACE::ValidationCacheCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::ValidationCacheEXT(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void ValidationCacheEXT::merge(ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const &srcCaches) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkMergeValidationCachesEXT &&
|
|
"Function <vkMergeValidationCachesEXT> needs extension <VK_EXT_validation_cache> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkMergeValidationCachesEXT(static_cast<VkDevice>(m_device),
|
|
static_cast<VkValidationCacheEXT>(m_validationCache),
|
|
srcCaches.size(),
|
|
reinterpret_cast<const VkValidationCacheEXT *>(srcCaches.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::ValidationCacheEXT::merge");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t> ValidationCacheEXT::getData() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetValidationCacheDataEXT &&
|
|
"Function <vkGetValidationCacheDataEXT> needs extension <VK_EXT_validation_cache> enabled!");
|
|
|
|
std::vector<uint8_t> data;
|
|
size_t dataSize;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetValidationCacheDataEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkValidationCacheEXT>(m_validationCache), &dataSize, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && dataSize)
|
|
{
|
|
data.resize(dataSize);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetValidationCacheDataEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkValidationCacheEXT>(m_validationCache), &dataSize, reinterpret_cast<void *>(data.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::ValidationCacheEXT::getData");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(dataSize <= data.size());
|
|
if(dataSize < data.size())
|
|
{
|
|
data.resize(dataSize);
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
|
|
//=== VK_NV_shading_rate_image ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindShadingRateImageNV(VULKAN_HPP_NAMESPACE::ImageView imageView,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBindShadingRateImageNV &&
|
|
"Function <vkCmdBindShadingRateImageNV> needs extension <VK_NV_shading_rate_image> enabled!");
|
|
|
|
getDispatcher()->vkCmdBindShadingRateImageNV(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkImageView>(imageView), static_cast<VkImageLayout>(imageLayout));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setViewportShadingRatePaletteNV(
|
|
uint32_t firstViewport, ArrayProxy<const VULKAN_HPP_NAMESPACE::ShadingRatePaletteNV> const &shadingRatePalettes) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetViewportShadingRatePaletteNV &&
|
|
"Function <vkCmdSetViewportShadingRatePaletteNV> needs extension <VK_NV_shading_rate_image> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetViewportShadingRatePaletteNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstViewport,
|
|
shadingRatePalettes.size(),
|
|
reinterpret_cast<const VkShadingRatePaletteNV *>(shadingRatePalettes.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setCoarseSampleOrderNV(
|
|
VULKAN_HPP_NAMESPACE::CoarseSampleOrderTypeNV sampleOrderType,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::CoarseSampleOrderCustomNV> const &customSampleOrders) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetCoarseSampleOrderNV &&
|
|
"Function <vkCmdSetCoarseSampleOrderNV> needs extension <VK_NV_shading_rate_image> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetCoarseSampleOrderNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkCoarseSampleOrderTypeNV>(sampleOrderType),
|
|
customSampleOrders.size(),
|
|
reinterpret_cast<const VkCoarseSampleOrderCustomNV *>(customSampleOrders.data()));
|
|
}
|
|
|
|
//=== VK_NV_ray_tracing ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV
|
|
Device::createAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::AccelerationStructureNV(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR Device::getAccelerationStructureMemoryRequirementsNV(
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV &&
|
|
"Function <vkGetAccelerationStructureMemoryRequirementsNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR memoryRequirements;
|
|
getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2KHR *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> Device::getAccelerationStructureMemoryRequirementsNV(
|
|
const VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV &&
|
|
"Function <vkGetAccelerationStructureMemoryRequirementsNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2KHR>();
|
|
getDispatcher()->vkGetAccelerationStructureMemoryRequirementsNV(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2KHR *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Device::bindAccelerationStructureMemoryNV(ArrayProxy<const VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV> const &bindInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkBindAccelerationStructureMemoryNV &&
|
|
"Function <vkBindAccelerationStructureMemoryNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkBindAccelerationStructureMemoryNV(
|
|
static_cast<VkDevice>(m_device), bindInfos.size(), reinterpret_cast<const VkBindAccelerationStructureMemoryInfoNV *>(bindInfos.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::bindAccelerationStructureMemoryNV");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::buildAccelerationStructureNV(const VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV &info,
|
|
VULKAN_HPP_NAMESPACE::Buffer instanceData,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize instanceOffset,
|
|
VULKAN_HPP_NAMESPACE::Bool32 update,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
|
|
VULKAN_HPP_NAMESPACE::Buffer scratch,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize scratchOffset) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBuildAccelerationStructureNV &&
|
|
"Function <vkCmdBuildAccelerationStructureNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
getDispatcher()->vkCmdBuildAccelerationStructureNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkAccelerationStructureInfoNV *>(&info),
|
|
static_cast<VkBuffer>(instanceData),
|
|
static_cast<VkDeviceSize>(instanceOffset),
|
|
static_cast<VkBool32>(update),
|
|
static_cast<VkAccelerationStructureNV>(dst),
|
|
static_cast<VkAccelerationStructureNV>(src),
|
|
static_cast<VkBuffer>(scratch),
|
|
static_cast<VkDeviceSize>(scratchOffset));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyAccelerationStructureNV(VULKAN_HPP_NAMESPACE::AccelerationStructureNV dst,
|
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV src,
|
|
VULKAN_HPP_NAMESPACE::CopyAccelerationStructureModeKHR mode) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyAccelerationStructureNV &&
|
|
"Function <vkCmdCopyAccelerationStructureNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyAccelerationStructureNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkAccelerationStructureNV>(dst),
|
|
static_cast<VkAccelerationStructureNV>(src),
|
|
static_cast<VkCopyAccelerationStructureModeKHR>(mode));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::traceRaysNV(VULKAN_HPP_NAMESPACE::Buffer raygenShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize raygenShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::Buffer missShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize missShaderBindingStride,
|
|
VULKAN_HPP_NAMESPACE::Buffer hitShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize hitShaderBindingStride,
|
|
VULKAN_HPP_NAMESPACE::Buffer callableShaderBindingTableBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingOffset,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize callableShaderBindingStride,
|
|
uint32_t width,
|
|
uint32_t height,
|
|
uint32_t depth) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdTraceRaysNV && "Function <vkCmdTraceRaysNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
getDispatcher()->vkCmdTraceRaysNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(raygenShaderBindingTableBuffer),
|
|
static_cast<VkDeviceSize>(raygenShaderBindingOffset),
|
|
static_cast<VkBuffer>(missShaderBindingTableBuffer),
|
|
static_cast<VkDeviceSize>(missShaderBindingOffset),
|
|
static_cast<VkDeviceSize>(missShaderBindingStride),
|
|
static_cast<VkBuffer>(hitShaderBindingTableBuffer),
|
|
static_cast<VkDeviceSize>(hitShaderBindingOffset),
|
|
static_cast<VkDeviceSize>(hitShaderBindingStride),
|
|
static_cast<VkBuffer>(callableShaderBindingTableBuffer),
|
|
static_cast<VkDeviceSize>(callableShaderBindingOffset),
|
|
static_cast<VkDeviceSize>(callableShaderBindingStride),
|
|
width,
|
|
height,
|
|
depth);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> Device::createRayTracingPipelinesNV(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipelines(*this, pipelineCache, createInfos, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createRayTracingPipelineNV(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipeline(*this, pipelineCache, createInfo, allocator);
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<DataType>
|
|
Pipeline::getRayTracingShaderGroupHandlesNV(uint32_t firstGroup, uint32_t groupCount, size_t dataSize) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetRayTracingShaderGroupHandlesNV &&
|
|
"Function <vkGetRayTracingShaderGroupHandlesNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
VULKAN_HPP_ASSERT(dataSize % sizeof(DataType) == 0);
|
|
std::vector<DataType> data(dataSize / sizeof(DataType));
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetRayTracingShaderGroupHandlesNV(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
firstGroup,
|
|
groupCount,
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<void *>(data.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesNV");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType Pipeline::getRayTracingShaderGroupHandleNV(uint32_t firstGroup, uint32_t groupCount) const
|
|
{
|
|
DataType data;
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetRayTracingShaderGroupHandlesNV(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
firstGroup,
|
|
groupCount,
|
|
sizeof(DataType),
|
|
reinterpret_cast<void *>(&data)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleNV");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<DataType> AccelerationStructureNV::getHandle(size_t dataSize) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetAccelerationStructureHandleNV &&
|
|
"Function <vkGetAccelerationStructureHandleNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
VULKAN_HPP_ASSERT(dataSize % sizeof(DataType) == 0);
|
|
std::vector<DataType> data(dataSize / sizeof(DataType));
|
|
Result result =
|
|
static_cast<Result>(getDispatcher()->vkGetAccelerationStructureHandleNV(static_cast<VkDevice>(m_device),
|
|
static_cast<VkAccelerationStructureNV>(m_accelerationStructure),
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<void *>(data.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureNV::getHandle");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType AccelerationStructureNV::getHandle() const
|
|
{
|
|
DataType data;
|
|
Result result =
|
|
static_cast<Result>(getDispatcher()->vkGetAccelerationStructureHandleNV(static_cast<VkDevice>(m_device),
|
|
static_cast<VkAccelerationStructureNV>(m_accelerationStructure),
|
|
sizeof(DataType),
|
|
reinterpret_cast<void *>(&data)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::AccelerationStructureNV::getHandle");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::writeAccelerationStructuresPropertiesNV(ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureNV> const &accelerationStructures,
|
|
VULKAN_HPP_NAMESPACE::QueryType queryType,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t firstQuery) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesNV &&
|
|
"Function <vkCmdWriteAccelerationStructuresPropertiesNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
getDispatcher()->vkCmdWriteAccelerationStructuresPropertiesNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
accelerationStructures.size(),
|
|
reinterpret_cast<const VkAccelerationStructureNV *>(accelerationStructures.data()),
|
|
static_cast<VkQueryType>(queryType),
|
|
static_cast<VkQueryPool>(queryPool),
|
|
firstQuery);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Pipeline::compileDeferredNV(uint32_t shader) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCompileDeferredNV && "Function <vkCompileDeferredNV> needs extension <VK_NV_ray_tracing> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkCompileDeferredNV(static_cast<VkDevice>(m_device), static_cast<VkPipeline>(m_pipeline), shader));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::compileDeferredNV");
|
|
}
|
|
}
|
|
|
|
//=== VK_KHR_maintenance3 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
|
|
Device::getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDescriptorSetLayoutSupportKHR &&
|
|
"Function <vkGetDescriptorSetLayoutSupportKHR> needs extension <VK_KHR_maintenance3> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport support;
|
|
getDispatcher()->vkGetDescriptorSetLayoutSupportKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
|
|
reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
|
|
return support;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getDescriptorSetLayoutSupportKHR(const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo &createInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDescriptorSetLayoutSupportKHR &&
|
|
"Function <vkGetDescriptorSetLayoutSupportKHR> needs extension <VK_KHR_maintenance3> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport &support = structureChain.template get<VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport>();
|
|
getDispatcher()->vkGetDescriptorSetLayoutSupportKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDescriptorSetLayoutCreateInfo *>(&createInfo),
|
|
reinterpret_cast<VkDescriptorSetLayoutSupport *>(&support));
|
|
return structureChain;
|
|
}
|
|
|
|
//=== VK_KHR_draw_indirect_count ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawIndirectCountKHR &&
|
|
"Function <vkCmdDrawIndirectCountKHR> needs extension <VK_KHR_draw_indirect_count> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawIndirectCountKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawIndexedIndirectCountKHR(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawIndexedIndirectCountKHR &&
|
|
"Function <vkCmdDrawIndexedIndirectCountKHR> needs extension <VK_KHR_draw_indirect_count> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawIndexedIndirectCountKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
//=== VK_EXT_external_memory_host ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
|
|
Device::getMemoryHostPointerPropertiesEXT(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryHostPointerPropertiesEXT &&
|
|
"Function <vkGetMemoryHostPointerPropertiesEXT> needs extension <VK_EXT_external_memory_host> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT memoryHostPointerProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetMemoryHostPointerPropertiesEXT(static_cast<VkDevice>(m_device),
|
|
static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
|
|
pHostPointer,
|
|
reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>(&memoryHostPointerProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT");
|
|
}
|
|
return memoryHostPointerProperties;
|
|
}
|
|
|
|
//=== VK_AMD_buffer_marker ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarkerAMD(VULKAN_HPP_NAMESPACE::PipelineStageFlagBits pipelineStage,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
uint32_t marker) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdWriteBufferMarkerAMD && "Function <vkCmdWriteBufferMarkerAMD> needs extension <VK_AMD_buffer_marker> enabled!");
|
|
|
|
getDispatcher()->vkCmdWriteBufferMarkerAMD(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineStageFlagBits>(pipelineStage),
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
static_cast<VkDeviceSize>(dstOffset),
|
|
marker);
|
|
}
|
|
|
|
//=== VK_EXT_calibrated_timestamps ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT> PhysicalDevice::getCalibrateableTimeDomainsEXT() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT &&
|
|
"Function <vkGetPhysicalDeviceCalibrateableTimeDomainsEXT> needs extension <VK_EXT_calibrated_timestamps> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::TimeDomainEXT> timeDomains;
|
|
uint32_t timeDomainCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(static_cast<VkPhysicalDevice>(m_physicalDevice), &timeDomainCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && timeDomainCount)
|
|
{
|
|
timeDomains.resize(timeDomainCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &timeDomainCount, reinterpret_cast<VkTimeDomainEXT *>(timeDomains.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCalibrateableTimeDomainsEXT");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(timeDomainCount <= timeDomains.size());
|
|
if(timeDomainCount < timeDomains.size())
|
|
{
|
|
timeDomains.resize(timeDomainCount);
|
|
}
|
|
}
|
|
return timeDomains;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<std::vector<uint64_t>, uint64_t>
|
|
Device::getCalibratedTimestampsEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const ×tampInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetCalibratedTimestampsEXT &&
|
|
"Function <vkGetCalibratedTimestampsEXT> needs extension <VK_EXT_calibrated_timestamps> enabled!");
|
|
|
|
std::pair<std::vector<uint64_t>, uint64_t> data(std::piecewise_construct, std::forward_as_tuple(timestampInfos.size()), std::forward_as_tuple(0));
|
|
std::vector<uint64_t> ×tamps = data.first;
|
|
uint64_t &maxDeviation = data.second;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetCalibratedTimestampsEXT(static_cast<VkDevice>(m_device),
|
|
timestampInfos.size(),
|
|
reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(timestampInfos.data()),
|
|
timestamps.data(),
|
|
&maxDeviation));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampsEXT");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<uint64_t, uint64_t>
|
|
Device::getCalibratedTimestampEXT(const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT ×tampInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetCalibratedTimestampsEXT &&
|
|
"Function <vkGetCalibratedTimestampsEXT> needs extension <VK_EXT_calibrated_timestamps> enabled!");
|
|
|
|
std::pair<uint64_t, uint64_t> data;
|
|
uint64_t ×tamp = data.first;
|
|
uint64_t &maxDeviation = data.second;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetCalibratedTimestampsEXT(
|
|
static_cast<VkDevice>(m_device), 1, reinterpret_cast<const VkCalibratedTimestampInfoEXT *>(×tampInfo), ×tamp, &maxDeviation));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getCalibratedTimestampEXT");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
//=== VK_NV_mesh_shader ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksNV(uint32_t taskCount, uint32_t firstTask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawMeshTasksNV && "Function <vkCmdDrawMeshTasksNV> needs extension <VK_NV_mesh_shader> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawMeshTasksNV(static_cast<VkCommandBuffer>(m_commandBuffer), taskCount, firstTask);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectNV(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
uint32_t drawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawMeshTasksIndirectNV &&
|
|
"Function <vkCmdDrawMeshTasksIndirectNV> needs extension <VK_NV_mesh_shader> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawMeshTasksIndirectNV(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBuffer>(buffer), static_cast<VkDeviceSize>(offset), drawCount, stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawMeshTasksIndirectCountNV(VULKAN_HPP_NAMESPACE::Buffer buffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize offset,
|
|
VULKAN_HPP_NAMESPACE::Buffer countBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize countBufferOffset,
|
|
uint32_t maxDrawCount,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawMeshTasksIndirectCountNV &&
|
|
"Function <vkCmdDrawMeshTasksIndirectCountNV> needs extension <VK_NV_mesh_shader> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawMeshTasksIndirectCountNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBuffer>(buffer),
|
|
static_cast<VkDeviceSize>(offset),
|
|
static_cast<VkBuffer>(countBuffer),
|
|
static_cast<VkDeviceSize>(countBufferOffset),
|
|
maxDrawCount,
|
|
stride);
|
|
}
|
|
|
|
//=== VK_NV_scissor_exclusive ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setExclusiveScissorNV(uint32_t firstExclusiveScissor,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &exclusiveScissors) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetExclusiveScissorNV &&
|
|
"Function <vkCmdSetExclusiveScissorNV> needs extension <VK_NV_scissor_exclusive> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetExclusiveScissorNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstExclusiveScissor,
|
|
exclusiveScissors.size(),
|
|
reinterpret_cast<const VkRect2D *>(exclusiveScissors.data()));
|
|
}
|
|
|
|
//=== VK_NV_device_diagnostic_checkpoints ===
|
|
|
|
template<typename CheckpointMarkerType>
|
|
VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV(CheckpointMarkerType const &checkpointMarker) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetCheckpointNV &&
|
|
"Function <vkCmdSetCheckpointNV> needs extension <VK_NV_device_diagnostic_checkpoints> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetCheckpointNV(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const void *>(&checkpointMarker));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> Queue::getCheckpointDataNV() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetQueueCheckpointDataNV &&
|
|
"Function <vkGetQueueCheckpointDataNV> needs extension <VK_NV_device_diagnostic_checkpoints> enabled!");
|
|
|
|
uint32_t checkpointDataCount;
|
|
getDispatcher()->vkGetQueueCheckpointDataNV(static_cast<VkQueue>(m_queue), &checkpointDataCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> checkpointData(checkpointDataCount);
|
|
getDispatcher()->vkGetQueueCheckpointDataNV(
|
|
static_cast<VkQueue>(m_queue), &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>(checkpointData.data()));
|
|
VULKAN_HPP_ASSERT(checkpointDataCount == checkpointData.size());
|
|
return checkpointData;
|
|
}
|
|
|
|
//=== VK_KHR_timeline_semaphore ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Semaphore::getCounterValueKHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSemaphoreCounterValueKHR &&
|
|
"Function <vkGetSemaphoreCounterValueKHR> needs extension <VK_KHR_timeline_semaphore> enabled!");
|
|
|
|
uint64_t value;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetSemaphoreCounterValueKHR(static_cast<VkDevice>(m_device), static_cast<VkSemaphore>(m_semaphore), &value));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValueKHR");
|
|
}
|
|
return value;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::waitSemaphoresKHR(const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo &waitInfo,
|
|
uint64_t timeout) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkWaitSemaphoresKHR && "Function <vkWaitSemaphoresKHR> needs extension <VK_KHR_timeline_semaphore> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkWaitSemaphoresKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreWaitInfo *>(&waitInfo), timeout));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eTimeout))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::signalSemaphoreKHR(const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo &signalInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSignalSemaphoreKHR && "Function <vkSignalSemaphoreKHR> needs extension <VK_KHR_timeline_semaphore> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkSignalSemaphoreKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreSignalInfo *>(&signalInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::signalSemaphoreKHR");
|
|
}
|
|
}
|
|
|
|
//=== VK_INTEL_performance_query ===
|
|
|
|
VULKAN_HPP_INLINE void Device::initializePerformanceApiINTEL(const VULKAN_HPP_NAMESPACE::InitializePerformanceApiInfoINTEL &initializeInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkInitializePerformanceApiINTEL &&
|
|
"Function <vkInitializePerformanceApiINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkInitializePerformanceApiINTEL(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkInitializePerformanceApiInfoINTEL *>(&initializeInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::initializePerformanceApiINTEL");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::uninitializePerformanceApiINTEL() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkUninitializePerformanceApiINTEL &&
|
|
"Function <vkUninitializePerformanceApiINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
getDispatcher()->vkUninitializePerformanceApiINTEL(static_cast<VkDevice>(m_device));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPerformanceMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL &markerInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetPerformanceMarkerINTEL &&
|
|
"Function <vkCmdSetPerformanceMarkerINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkCmdSetPerformanceMarkerINTEL(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkPerformanceMarkerInfoINTEL *>(&markerInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceMarkerINTEL");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPerformanceStreamMarkerINTEL(const VULKAN_HPP_NAMESPACE::PerformanceStreamMarkerInfoINTEL &markerInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL &&
|
|
"Function <vkCmdSetPerformanceStreamMarkerINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkCmdSetPerformanceStreamMarkerINTEL(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkPerformanceStreamMarkerInfoINTEL *>(&markerInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceStreamMarkerINTEL");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPerformanceOverrideINTEL(const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL &overrideInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetPerformanceOverrideINTEL &&
|
|
"Function <vkCmdSetPerformanceOverrideINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkCmdSetPerformanceOverrideINTEL(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkPerformanceOverrideInfoINTEL *>(&overrideInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setPerformanceOverrideINTEL");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL
|
|
Device::acquirePerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const &acquireInfo) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::PerformanceConfigurationINTEL(*this, acquireInfo);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::setPerformanceConfigurationINTEL(VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkQueueSetPerformanceConfigurationINTEL &&
|
|
"Function <vkQueueSetPerformanceConfigurationINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkQueueSetPerformanceConfigurationINTEL(
|
|
static_cast<VkQueue>(m_queue), static_cast<VkPerformanceConfigurationINTEL>(configuration)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::setPerformanceConfigurationINTEL");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PerformanceValueINTEL
|
|
Device::getPerformanceParameterINTEL(VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPerformanceParameterINTEL &&
|
|
"Function <vkGetPerformanceParameterINTEL> needs extension <VK_INTEL_performance_query> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::PerformanceValueINTEL value;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPerformanceParameterINTEL(
|
|
static_cast<VkDevice>(m_device), static_cast<VkPerformanceParameterTypeINTEL>(parameter), reinterpret_cast<VkPerformanceValueINTEL *>(&value)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL");
|
|
}
|
|
return value;
|
|
}
|
|
|
|
//=== VK_AMD_display_native_hdr ===
|
|
|
|
VULKAN_HPP_INLINE void SwapchainKHR::setLocalDimmingAMD(VULKAN_HPP_NAMESPACE::Bool32 localDimmingEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetLocalDimmingAMD && "Function <vkSetLocalDimmingAMD> needs extension <VK_AMD_display_native_hdr> enabled!");
|
|
|
|
getDispatcher()->vkSetLocalDimmingAMD(
|
|
static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), static_cast<VkBool32>(localDimmingEnable));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_imagepipe_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createImagePipeSurfaceFUCHSIA(VULKAN_HPP_NAMESPACE::ImagePipeSurfaceCreateInfoFUCHSIA const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_METAL_EXT)
|
|
//=== VK_EXT_metal_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createMetalSurfaceEXT(VULKAN_HPP_NAMESPACE::MetalSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
|
|
|
//=== VK_KHR_fragment_shading_rate ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR>
|
|
PhysicalDevice::getFragmentShadingRatesKHR() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR &&
|
|
"Function <vkGetPhysicalDeviceFragmentShadingRatesKHR> needs extension <VK_KHR_fragment_shading_rate> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceFragmentShadingRateKHR> fragmentShadingRates;
|
|
uint32_t fragmentShadingRateCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &fragmentShadingRateCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && fragmentShadingRateCount)
|
|
{
|
|
fragmentShadingRates.resize(fragmentShadingRateCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceFragmentShadingRatesKHR(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&fragmentShadingRateCount,
|
|
reinterpret_cast<VkPhysicalDeviceFragmentShadingRateKHR *>(fragmentShadingRates.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getFragmentShadingRatesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(fragmentShadingRateCount <= fragmentShadingRates.size());
|
|
if(fragmentShadingRateCount < fragmentShadingRates.size())
|
|
{
|
|
fragmentShadingRates.resize(fragmentShadingRateCount);
|
|
}
|
|
}
|
|
return fragmentShadingRates;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setFragmentShadingRateKHR(const VULKAN_HPP_NAMESPACE::Extent2D &fragmentSize,
|
|
const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2]) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetFragmentShadingRateKHR &&
|
|
"Function <vkCmdSetFragmentShadingRateKHR> needs extension <VK_KHR_fragment_shading_rate> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetFragmentShadingRateKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkExtent2D *>(&fragmentSize),
|
|
reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>(combinerOps));
|
|
}
|
|
|
|
//=== VK_EXT_buffer_device_address ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
Device::getBufferAddressEXT(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetBufferDeviceAddressEXT &&
|
|
"Function <vkGetBufferDeviceAddressEXT> needs extension <VK_EXT_buffer_device_address> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>(
|
|
getDispatcher()->vkGetBufferDeviceAddressEXT(static_cast<VkDevice>(m_device), reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info)));
|
|
}
|
|
|
|
//=== VK_EXT_tooling_info ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> PhysicalDevice::getToolPropertiesEXT() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT &&
|
|
"Function <vkGetPhysicalDeviceToolPropertiesEXT> needs extension <VK_EXT_tooling_info> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PhysicalDeviceToolProperties> toolProperties;
|
|
uint32_t toolCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT(static_cast<VkPhysicalDevice>(m_physicalDevice), &toolCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && toolCount)
|
|
{
|
|
toolProperties.resize(toolCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceToolPropertiesEXT(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &toolCount, reinterpret_cast<VkPhysicalDeviceToolProperties *>(toolProperties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getToolPropertiesEXT");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(toolCount <= toolProperties.size());
|
|
if(toolCount < toolProperties.size())
|
|
{
|
|
toolProperties.resize(toolCount);
|
|
}
|
|
}
|
|
return toolProperties;
|
|
}
|
|
|
|
//=== VK_KHR_present_wait ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result SwapchainKHR::waitForPresent(uint64_t presentId, uint64_t timeout) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkWaitForPresentKHR && "Function <vkWaitForPresentKHR> needs extension <VK_KHR_present_wait> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkWaitForPresentKHR(static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain), presentId, timeout));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eTimeout) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::waitForPresent");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
//=== VK_NV_cooperative_matrix ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV>
|
|
PhysicalDevice::getCooperativeMatrixPropertiesNV() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV &&
|
|
"Function <vkGetPhysicalDeviceCooperativeMatrixPropertiesNV> needs extension <VK_NV_cooperative_matrix> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::CooperativeMatrixPropertiesNV> properties;
|
|
uint32_t propertyCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && propertyCount)
|
|
{
|
|
properties.resize(propertyCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &propertyCount, reinterpret_cast<VkCooperativeMatrixPropertiesNV *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getCooperativeMatrixPropertiesNV");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(propertyCount <= properties.size());
|
|
if(propertyCount < properties.size())
|
|
{
|
|
properties.resize(propertyCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
//=== VK_NV_coverage_reduction_mode ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV>
|
|
PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV() const
|
|
{
|
|
VULKAN_HPP_ASSERT(
|
|
getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV &&
|
|
"Function <vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV> needs extension <VK_NV_coverage_reduction_mode> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::FramebufferMixedSamplesCombinationNV> combinations;
|
|
uint32_t combinationCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice), &combinationCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && combinationCount)
|
|
{
|
|
combinations.resize(combinationCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
|
|
static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
&combinationCount,
|
|
reinterpret_cast<VkFramebufferMixedSamplesCombinationNV *>(combinations.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSupportedFramebufferMixedSamplesCombinationsNV");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(combinationCount <= combinations.size());
|
|
if(combinationCount < combinations.size())
|
|
{
|
|
combinations.resize(combinationCount);
|
|
}
|
|
}
|
|
return combinations;
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_EXT_full_screen_exclusive ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR>
|
|
PhysicalDevice::getSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT &&
|
|
"Function <vkGetPhysicalDeviceSurfacePresentModes2EXT> needs extension <VK_EXT_full_screen_exclusive> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR> presentModes;
|
|
uint32_t presentModeCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
&presentModeCount,
|
|
nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && presentModeCount)
|
|
{
|
|
presentModes.resize(presentModeCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPhysicalDeviceSurfacePresentModes2EXT(static_cast<VkPhysicalDevice>(m_physicalDevice),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
&presentModeCount,
|
|
reinterpret_cast<VkPresentModeKHR *>(presentModes.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfacePresentModes2EXT");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(presentModeCount <= presentModes.size());
|
|
if(presentModeCount < presentModes.size())
|
|
{
|
|
presentModes.resize(presentModeCount);
|
|
}
|
|
}
|
|
return presentModes;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void SwapchainKHR::acquireFullScreenExclusiveModeEXT() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireFullScreenExclusiveModeEXT &&
|
|
"Function <vkAcquireFullScreenExclusiveModeEXT> needs extension <VK_EXT_full_screen_exclusive> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkAcquireFullScreenExclusiveModeEXT(static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireFullScreenExclusiveModeEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void SwapchainKHR::releaseFullScreenExclusiveModeEXT() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkReleaseFullScreenExclusiveModeEXT &&
|
|
"Function <vkReleaseFullScreenExclusiveModeEXT> needs extension <VK_EXT_full_screen_exclusive> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkReleaseFullScreenExclusiveModeEXT(static_cast<VkDevice>(m_device), static_cast<VkSwapchainKHR>(m_swapchain)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::releaseFullScreenExclusiveModeEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR
|
|
Device::getGroupSurfacePresentModes2EXT(const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR &surfaceInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT &&
|
|
"Function <vkGetDeviceGroupSurfacePresentModes2EXT> needs extension <VK_EXT_full_screen_exclusive> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetDeviceGroupSurfacePresentModes2EXT(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>(&surfaceInfo),
|
|
reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>(&modes)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT");
|
|
}
|
|
return modes;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
//=== VK_EXT_headless_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createHeadlessSurfaceEXT(VULKAN_HPP_NAMESPACE::HeadlessSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
//=== VK_KHR_buffer_device_address ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress
|
|
Device::getBufferAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetBufferDeviceAddressKHR &&
|
|
"Function <vkGetBufferDeviceAddressKHR> needs extension <VK_KHR_buffer_device_address> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>(
|
|
getDispatcher()->vkGetBufferDeviceAddressKHR(static_cast<VkDevice>(m_device), reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info)));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t
|
|
Device::getBufferOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR &&
|
|
"Function <vkGetBufferOpaqueCaptureAddressKHR> needs extension <VK_KHR_buffer_device_address> enabled!");
|
|
|
|
return getDispatcher()->vkGetBufferOpaqueCaptureAddressKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkBufferDeviceAddressInfo *>(&info));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t
|
|
Device::getMemoryOpaqueCaptureAddressKHR(const VULKAN_HPP_NAMESPACE::DeviceMemoryOpaqueCaptureAddressInfo &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR &&
|
|
"Function <vkGetDeviceMemoryOpaqueCaptureAddressKHR> needs extension <VK_KHR_buffer_device_address> enabled!");
|
|
|
|
return getDispatcher()->vkGetDeviceMemoryOpaqueCaptureAddressKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceMemoryOpaqueCaptureAddressInfo *>(&info));
|
|
}
|
|
|
|
//=== VK_EXT_line_rasterization ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setLineStippleEXT(uint32_t lineStippleFactor, uint16_t lineStipplePattern) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetLineStippleEXT && "Function <vkCmdSetLineStippleEXT> needs extension <VK_EXT_line_rasterization> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetLineStippleEXT(static_cast<VkCommandBuffer>(m_commandBuffer), lineStippleFactor, lineStipplePattern);
|
|
}
|
|
|
|
//=== VK_EXT_host_query_reset ===
|
|
|
|
VULKAN_HPP_INLINE void QueryPool::resetEXT(uint32_t firstQuery, uint32_t queryCount) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkResetQueryPoolEXT && "Function <vkResetQueryPoolEXT> needs extension <VK_EXT_host_query_reset> enabled!");
|
|
|
|
getDispatcher()->vkResetQueryPoolEXT(static_cast<VkDevice>(m_device), static_cast<VkQueryPool>(m_queryPool), firstQuery, queryCount);
|
|
}
|
|
|
|
//=== VK_EXT_extended_dynamic_state ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setCullModeEXT(VULKAN_HPP_NAMESPACE::CullModeFlags cullMode) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetCullModeEXT && "Function <vkCmdSetCullModeEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetCullModeEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkCullModeFlags>(cullMode));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setFrontFaceEXT(VULKAN_HPP_NAMESPACE::FrontFace frontFace) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetFrontFaceEXT && "Function <vkCmdSetFrontFaceEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetFrontFaceEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkFrontFace>(frontFace));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveTopologyEXT(VULKAN_HPP_NAMESPACE::PrimitiveTopology primitiveTopology) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetPrimitiveTopologyEXT &&
|
|
"Function <vkCmdSetPrimitiveTopologyEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetPrimitiveTopologyEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkPrimitiveTopology>(primitiveTopology));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setViewportWithCountEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Viewport> const &viewports) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetViewportWithCountEXT &&
|
|
"Function <vkCmdSetViewportWithCountEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetViewportWithCountEXT(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), viewports.size(), reinterpret_cast<const VkViewport *>(viewports.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setScissorWithCountEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Rect2D> const &scissors) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetScissorWithCountEXT &&
|
|
"Function <vkCmdSetScissorWithCountEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetScissorWithCountEXT(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), scissors.size(), reinterpret_cast<const VkRect2D *>(scissors.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindVertexBuffers2EXT(uint32_t firstBinding,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::Buffer> const &buffers,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &offsets,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &sizes,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const &strides) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBindVertexBuffers2EXT &&
|
|
"Function <vkCmdBindVertexBuffers2EXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
if(buffers.size() != offsets.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != offsets.size()");
|
|
}
|
|
if(!sizes.empty() && buffers.size() != sizes.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != sizes.size()");
|
|
}
|
|
if(!strides.empty() && buffers.size() != strides.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::bindVertexBuffers2EXT: buffers.size() != strides.size()");
|
|
}
|
|
getDispatcher()->vkCmdBindVertexBuffers2EXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
firstBinding,
|
|
buffers.size(),
|
|
reinterpret_cast<const VkBuffer *>(buffers.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(offsets.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(sizes.data()),
|
|
reinterpret_cast<const VkDeviceSize *>(strides.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthTestEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDepthTestEnableEXT &&
|
|
"Function <vkCmdSetDepthTestEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDepthTestEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthTestEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthWriteEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthWriteEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDepthWriteEnableEXT &&
|
|
"Function <vkCmdSetDepthWriteEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDepthWriteEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthWriteEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthCompareOpEXT(VULKAN_HPP_NAMESPACE::CompareOp depthCompareOp) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDepthCompareOpEXT &&
|
|
"Function <vkCmdSetDepthCompareOpEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDepthCompareOpEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkCompareOp>(depthCompareOp));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthBoundsTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBoundsTestEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDepthBoundsTestEnableEXT &&
|
|
"Function <vkCmdSetDepthBoundsTestEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDepthBoundsTestEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthBoundsTestEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilTestEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 stencilTestEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetStencilTestEnableEXT &&
|
|
"Function <vkCmdSetStencilTestEnableEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetStencilTestEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(stencilTestEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setStencilOpEXT(VULKAN_HPP_NAMESPACE::StencilFaceFlags faceMask,
|
|
VULKAN_HPP_NAMESPACE::StencilOp failOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp passOp,
|
|
VULKAN_HPP_NAMESPACE::StencilOp depthFailOp,
|
|
VULKAN_HPP_NAMESPACE::CompareOp compareOp) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetStencilOpEXT && "Function <vkCmdSetStencilOpEXT> needs extension <VK_EXT_extended_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetStencilOpEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkStencilFaceFlags>(faceMask),
|
|
static_cast<VkStencilOp>(failOp),
|
|
static_cast<VkStencilOp>(passOp),
|
|
static_cast<VkStencilOp>(depthFailOp),
|
|
static_cast<VkCompareOp>(compareOp));
|
|
}
|
|
|
|
//=== VK_KHR_deferred_host_operations ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR
|
|
Device::createDeferredOperationKHR(VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR(*this, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint32_t DeferredOperationKHR::getMaxConcurrency() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR &&
|
|
"Function <vkGetDeferredOperationMaxConcurrencyKHR> needs extension <VK_KHR_deferred_host_operations> enabled!");
|
|
|
|
return getDispatcher()->vkGetDeferredOperationMaxConcurrencyKHR(static_cast<VkDevice>(m_device), static_cast<VkDeferredOperationKHR>(m_operation));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result DeferredOperationKHR::getResult() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeferredOperationResultKHR &&
|
|
"Function <vkGetDeferredOperationResultKHR> needs extension <VK_KHR_deferred_host_operations> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetDeferredOperationResultKHR(static_cast<VkDevice>(m_device), static_cast<VkDeferredOperationKHR>(m_operation)));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result DeferredOperationKHR::join() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDeferredOperationJoinKHR &&
|
|
"Function <vkDeferredOperationJoinKHR> needs extension <VK_KHR_deferred_host_operations> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkDeferredOperationJoinKHR(static_cast<VkDevice>(m_device), static_cast<VkDeferredOperationKHR>(m_operation)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR) &&
|
|
(result != VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DeferredOperationKHR::join");
|
|
}
|
|
return result;
|
|
}
|
|
|
|
//=== VK_KHR_pipeline_executable_properties ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>
|
|
Device::getPipelineExecutablePropertiesKHR(const VULKAN_HPP_NAMESPACE::PipelineInfoKHR &pipelineInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPipelineExecutablePropertiesKHR &&
|
|
"Function <vkGetPipelineExecutablePropertiesKHR> needs extension <VK_KHR_pipeline_executable_properties> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR> properties;
|
|
uint32_t executableCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPipelineExecutablePropertiesKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkPipelineInfoKHR *>(&pipelineInfo), &executableCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && executableCount)
|
|
{
|
|
properties.resize(executableCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPipelineExecutablePropertiesKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkPipelineInfoKHR *>(&pipelineInfo),
|
|
&executableCount,
|
|
reinterpret_cast<VkPipelineExecutablePropertiesKHR *>(properties.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutablePropertiesKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(executableCount <= properties.size());
|
|
if(executableCount < properties.size())
|
|
{
|
|
properties.resize(executableCount);
|
|
}
|
|
}
|
|
return properties;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>
|
|
Device::getPipelineExecutableStatisticsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR &executableInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPipelineExecutableStatisticsKHR &&
|
|
"Function <vkGetPipelineExecutableStatisticsKHR> needs extension <VK_KHR_pipeline_executable_properties> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR> statistics;
|
|
uint32_t statisticCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPipelineExecutableStatisticsKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkPipelineExecutableInfoKHR *>(&executableInfo), &statisticCount, nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && statisticCount)
|
|
{
|
|
statistics.resize(statisticCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPipelineExecutableStatisticsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkPipelineExecutableInfoKHR *>(&executableInfo),
|
|
&statisticCount,
|
|
reinterpret_cast<VkPipelineExecutableStatisticKHR *>(statistics.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableStatisticsKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(statisticCount <= statistics.size());
|
|
if(statisticCount < statistics.size())
|
|
{
|
|
statistics.resize(statisticCount);
|
|
}
|
|
}
|
|
return statistics;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR>
|
|
Device::getPipelineExecutableInternalRepresentationsKHR(const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR &executableInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR &&
|
|
"Function <vkGetPipelineExecutableInternalRepresentationsKHR> needs extension <VK_KHR_pipeline_executable_properties> enabled!");
|
|
|
|
std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableInternalRepresentationKHR> internalRepresentations;
|
|
uint32_t internalRepresentationCount;
|
|
VULKAN_HPP_NAMESPACE::Result result;
|
|
do
|
|
{
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkPipelineExecutableInfoKHR *>(&executableInfo),
|
|
&internalRepresentationCount,
|
|
nullptr));
|
|
if((result == VULKAN_HPP_NAMESPACE::Result::eSuccess) && internalRepresentationCount)
|
|
{
|
|
internalRepresentations.resize(internalRepresentationCount);
|
|
result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetPipelineExecutableInternalRepresentationsKHR(
|
|
static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkPipelineExecutableInfoKHR *>(&executableInfo),
|
|
&internalRepresentationCount,
|
|
reinterpret_cast<VkPipelineExecutableInternalRepresentationKHR *>(internalRepresentations.data())));
|
|
}
|
|
} while(result == VULKAN_HPP_NAMESPACE::Result::eIncomplete);
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelineExecutableInternalRepresentationsKHR");
|
|
}
|
|
if(result == VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
VULKAN_HPP_ASSERT(internalRepresentationCount <= internalRepresentations.size());
|
|
if(internalRepresentationCount < internalRepresentations.size())
|
|
{
|
|
internalRepresentations.resize(internalRepresentationCount);
|
|
}
|
|
}
|
|
return internalRepresentations;
|
|
}
|
|
|
|
//=== VK_NV_device_generated_commands ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV &&
|
|
"Function <vkGetGeneratedCommandsMemoryRequirementsNV> needs extension <VK_NV_device_generated_commands> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getGeneratedCommandsMemoryRequirementsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsMemoryRequirementsInfoNV &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV &&
|
|
"Function <vkGetGeneratedCommandsMemoryRequirementsNV> needs extension <VK_NV_device_generated_commands> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetGeneratedCommandsMemoryRequirementsNV(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkGeneratedCommandsMemoryRequirementsInfoNV *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::preprocessGeneratedCommandsNV(const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV &generatedCommandsInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdPreprocessGeneratedCommandsNV &&
|
|
"Function <vkCmdPreprocessGeneratedCommandsNV> needs extension <VK_NV_device_generated_commands> enabled!");
|
|
|
|
getDispatcher()->vkCmdPreprocessGeneratedCommandsNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkGeneratedCommandsInfoNV *>(&generatedCommandsInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::executeGeneratedCommandsNV(VULKAN_HPP_NAMESPACE::Bool32 isPreprocessed,
|
|
const VULKAN_HPP_NAMESPACE::GeneratedCommandsInfoNV &generatedCommandsInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdExecuteGeneratedCommandsNV &&
|
|
"Function <vkCmdExecuteGeneratedCommandsNV> needs extension <VK_NV_device_generated_commands> enabled!");
|
|
|
|
getDispatcher()->vkCmdExecuteGeneratedCommandsNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkBool32>(isPreprocessed),
|
|
reinterpret_cast<const VkGeneratedCommandsInfoNV *>(&generatedCommandsInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindPipelineShaderGroupNV(VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
|
|
VULKAN_HPP_NAMESPACE::Pipeline pipeline,
|
|
uint32_t groupIndex) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBindPipelineShaderGroupNV &&
|
|
"Function <vkCmdBindPipelineShaderGroupNV> needs extension <VK_NV_device_generated_commands> enabled!");
|
|
|
|
getDispatcher()->vkCmdBindPipelineShaderGroupNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineBindPoint>(pipelineBindPoint),
|
|
static_cast<VkPipeline>(pipeline),
|
|
groupIndex);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV
|
|
Device::createIndirectCommandsLayoutNV(VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutCreateInfoNV const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::IndirectCommandsLayoutNV(*this, createInfo, allocator);
|
|
}
|
|
|
|
//=== VK_EXT_acquire_drm_display ===
|
|
|
|
VULKAN_HPP_INLINE void PhysicalDevice::acquireDrmDisplayEXT(int32_t drmFd, VULKAN_HPP_NAMESPACE::DisplayKHR display) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireDrmDisplayEXT && "Function <vkAcquireDrmDisplayEXT> needs extension <VK_EXT_acquire_drm_display> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkAcquireDrmDisplayEXT(static_cast<VkPhysicalDevice>(m_physicalDevice), drmFd, static_cast<VkDisplayKHR>(display)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::acquireDrmDisplayEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR PhysicalDevice::getDrmDisplayEXT(int32_t drmFd, uint32_t connectorId) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR(*this, drmFd, connectorId);
|
|
}
|
|
|
|
//=== VK_EXT_private_data ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot
|
|
Device::createPrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::PrivateDataSlotCreateInfo const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::PrivateDataSlot(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::destroyPrivateDataSlotEXT(VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
|
|
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkDestroyPrivateDataSlotEXT &&
|
|
"Function <vkDestroyPrivateDataSlotEXT> needs extension <VK_EXT_private_data> enabled!");
|
|
|
|
getDispatcher()->vkDestroyPrivateDataSlotEXT(
|
|
static_cast<VkDevice>(m_device),
|
|
static_cast<VkPrivateDataSlot>(privateDataSlot),
|
|
reinterpret_cast<const VkAllocationCallbacks *>(static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>(allocator)));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Device::setPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot,
|
|
uint64_t data) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetPrivateDataEXT && "Function <vkSetPrivateDataEXT> needs extension <VK_EXT_private_data> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkSetPrivateDataEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkObjectType>(objectType_), objectHandle, static_cast<VkPrivateDataSlot>(privateDataSlot), data));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::setPrivateDataEXT");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE uint64_t Device::getPrivateDataEXT(VULKAN_HPP_NAMESPACE::ObjectType objectType_,
|
|
uint64_t objectHandle,
|
|
VULKAN_HPP_NAMESPACE::PrivateDataSlot privateDataSlot) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPrivateDataEXT && "Function <vkGetPrivateDataEXT> needs extension <VK_EXT_private_data> enabled!");
|
|
|
|
uint64_t data;
|
|
getDispatcher()->vkGetPrivateDataEXT(
|
|
static_cast<VkDevice>(m_device), static_cast<VkObjectType>(objectType_), objectHandle, static_cast<VkPrivateDataSlot>(privateDataSlot), &data);
|
|
return data;
|
|
}
|
|
|
|
# if defined(VK_ENABLE_BETA_EXTENSIONS)
|
|
//=== VK_KHR_video_encode_queue ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::encodeVideoKHR(const VULKAN_HPP_NAMESPACE::VideoEncodeInfoKHR &encodeInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdEncodeVideoKHR && "Function <vkCmdEncodeVideoKHR> needs extension <VK_KHR_video_encode_queue> enabled!");
|
|
|
|
getDispatcher()->vkCmdEncodeVideoKHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkVideoEncodeInfoKHR *>(&encodeInfo));
|
|
}
|
|
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
|
|
|
//=== VK_KHR_synchronization2 ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
|
|
const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetEvent2KHR && "Function <vkCmdSetEvent2KHR> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetEvent2KHR(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkEvent>(event), reinterpret_cast<const VkDependencyInfo *>(&dependencyInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::resetEvent2KHR(VULKAN_HPP_NAMESPACE::Event event,
|
|
VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stageMask) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdResetEvent2KHR && "Function <vkCmdResetEvent2KHR> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
getDispatcher()->vkCmdResetEvent2KHR(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkEvent>(event), static_cast<VkPipelineStageFlags2>(stageMask));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::waitEvents2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::Event> const &events,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::DependencyInfo> const &dependencyInfos) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdWaitEvents2KHR && "Function <vkCmdWaitEvents2KHR> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
if(events.size() != dependencyInfos.size())
|
|
{
|
|
throw LogicError(VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::waitEvents2KHR: events.size() != dependencyInfos.size()");
|
|
}
|
|
getDispatcher()->vkCmdWaitEvents2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
events.size(),
|
|
reinterpret_cast<const VkEvent *>(events.data()),
|
|
reinterpret_cast<const VkDependencyInfo *>(dependencyInfos.data()));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::pipelineBarrier2KHR(const VULKAN_HPP_NAMESPACE::DependencyInfo &dependencyInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdPipelineBarrier2KHR &&
|
|
"Function <vkCmdPipelineBarrier2KHR> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
getDispatcher()->vkCmdPipelineBarrier2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkDependencyInfo *>(&dependencyInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::writeTimestamp2KHR(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
|
|
VULKAN_HPP_NAMESPACE::QueryPool queryPool,
|
|
uint32_t query) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdWriteTimestamp2KHR && "Function <vkCmdWriteTimestamp2KHR> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
getDispatcher()->vkCmdWriteTimestamp2KHR(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkPipelineStageFlags2>(stage), static_cast<VkQueryPool>(queryPool), query);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void Queue::submit2KHR(ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2> const &submits, VULKAN_HPP_NAMESPACE::Fence fence) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkQueueSubmit2KHR && "Function <vkQueueSubmit2KHR> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkQueueSubmit2KHR(
|
|
static_cast<VkQueue>(m_queue), submits.size(), reinterpret_cast<const VkSubmitInfo2 *>(submits.data()), static_cast<VkFence>(fence)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Queue::submit2KHR");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::writeBufferMarker2AMD(VULKAN_HPP_NAMESPACE::PipelineStageFlags2 stage,
|
|
VULKAN_HPP_NAMESPACE::Buffer dstBuffer,
|
|
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
|
|
uint32_t marker) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdWriteBufferMarker2AMD &&
|
|
"Function <vkCmdWriteBufferMarker2AMD> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
getDispatcher()->vkCmdWriteBufferMarker2AMD(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkPipelineStageFlags2>(stage),
|
|
static_cast<VkBuffer>(dstBuffer),
|
|
static_cast<VkDeviceSize>(dstOffset),
|
|
marker);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> Queue::getCheckpointData2NV() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetQueueCheckpointData2NV &&
|
|
"Function <vkGetQueueCheckpointData2NV> needs extension <VK_KHR_synchronization2> enabled!");
|
|
|
|
uint32_t checkpointDataCount;
|
|
getDispatcher()->vkGetQueueCheckpointData2NV(static_cast<VkQueue>(m_queue), &checkpointDataCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> checkpointData(checkpointDataCount);
|
|
getDispatcher()->vkGetQueueCheckpointData2NV(
|
|
static_cast<VkQueue>(m_queue), &checkpointDataCount, reinterpret_cast<VkCheckpointData2NV *>(checkpointData.data()));
|
|
VULKAN_HPP_ASSERT(checkpointDataCount == checkpointData.size());
|
|
return checkpointData;
|
|
}
|
|
|
|
//=== VK_NV_fragment_shading_rate_enums ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setFragmentShadingRateEnumNV(VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,
|
|
const VULKAN_HPP_NAMESPACE::FragmentShadingRateCombinerOpKHR combinerOps[2]) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetFragmentShadingRateEnumNV &&
|
|
"Function <vkCmdSetFragmentShadingRateEnumNV> needs extension <VK_NV_fragment_shading_rate_enums> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetFragmentShadingRateEnumNV(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
static_cast<VkFragmentShadingRateNV>(shadingRate),
|
|
reinterpret_cast<const VkFragmentShadingRateCombinerOpKHR *>(combinerOps));
|
|
}
|
|
|
|
//=== VK_KHR_copy_commands2 ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferInfo2 ©BufferInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyBuffer2KHR && "Function <vkCmdCopyBuffer2KHR> needs extension <VK_KHR_copy_commands2> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyBuffer2KHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkCopyBufferInfo2 *>(©BufferInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::copyImage2KHR(const VULKAN_HPP_NAMESPACE::CopyImageInfo2 ©ImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyImage2KHR && "Function <vkCmdCopyImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyImage2KHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkCopyImageInfo2 *>(©ImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::copyBufferToImage2KHR(const VULKAN_HPP_NAMESPACE::CopyBufferToImageInfo2 ©BufferToImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyBufferToImage2KHR &&
|
|
"Function <vkCmdCopyBufferToImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyBufferToImage2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyBufferToImageInfo2 *>(©BufferToImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::copyImageToBuffer2KHR(const VULKAN_HPP_NAMESPACE::CopyImageToBufferInfo2 ©ImageToBufferInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdCopyImageToBuffer2KHR &&
|
|
"Function <vkCmdCopyImageToBuffer2KHR> needs extension <VK_KHR_copy_commands2> enabled!");
|
|
|
|
getDispatcher()->vkCmdCopyImageToBuffer2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkCopyImageToBufferInfo2 *>(©ImageToBufferInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::blitImage2KHR(const VULKAN_HPP_NAMESPACE::BlitImageInfo2 &blitImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBlitImage2KHR && "Function <vkCmdBlitImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!");
|
|
|
|
getDispatcher()->vkCmdBlitImage2KHR(static_cast<VkCommandBuffer>(m_commandBuffer), reinterpret_cast<const VkBlitImageInfo2 *>(&blitImageInfo));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::resolveImage2KHR(const VULKAN_HPP_NAMESPACE::ResolveImageInfo2 &resolveImageInfo) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdResolveImage2KHR && "Function <vkCmdResolveImage2KHR> needs extension <VK_KHR_copy_commands2> enabled!");
|
|
|
|
getDispatcher()->vkCmdResolveImage2KHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkResolveImageInfo2 *>(&resolveImageInfo));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
//=== VK_NV_acquire_winrt_display ===
|
|
|
|
VULKAN_HPP_INLINE void DisplayKHR::acquireWinrtNV() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkAcquireWinrtDisplayNV &&
|
|
"Function <vkAcquireWinrtDisplayNV> needs extension <VK_NV_acquire_winrt_display> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkAcquireWinrtDisplayNV(static_cast<VkPhysicalDevice>(m_physicalDevice), static_cast<VkDisplayKHR>(m_display)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::DisplayKHR::acquireWinrtNV");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR PhysicalDevice::getWinrtDisplayNV(uint32_t deviceRelativeId) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR(*this, deviceRelativeId);
|
|
}
|
|
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
|
|
|
# if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
|
|
//=== VK_EXT_directfb_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createDirectFBSurfaceEXT(VULKAN_HPP_NAMESPACE::DirectFBSurfaceCreateInfoEXT const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
|
|
PhysicalDevice::getDirectFBPresentationSupportEXT(uint32_t queueFamilyIndex, IDirectFB &dfb) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT &&
|
|
"Function <vkGetPhysicalDeviceDirectFBPresentationSupportEXT> needs extension <VK_EXT_directfb_surface> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Bool32>(
|
|
getDispatcher()->vkGetPhysicalDeviceDirectFBPresentationSupportEXT(static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex, &dfb));
|
|
}
|
|
# endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
|
|
|
|
//=== VK_KHR_ray_tracing_pipeline ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::traceRaysKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &missShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &hitShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &callableShaderBindingTable,
|
|
uint32_t width,
|
|
uint32_t height,
|
|
uint32_t depth) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdTraceRaysKHR && "Function <vkCmdTraceRaysKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!");
|
|
|
|
getDispatcher()->vkCmdTraceRaysKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&raygenShaderBindingTable),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&missShaderBindingTable),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&hitShaderBindingTable),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&callableShaderBindingTable),
|
|
width,
|
|
height,
|
|
depth);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::Pipeline> Device::createRayTracingPipelinesKHR(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const &deferredOperation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::ArrayProxy<VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR> const &createInfos,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipelines(*this, deferredOperation, pipelineCache, createInfos, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Pipeline Device::createRayTracingPipelineKHR(
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeferredOperationKHR> const &deferredOperation,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::PipelineCache> const &pipelineCache,
|
|
VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::Pipeline(*this, deferredOperation, pipelineCache, createInfo, allocator);
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<DataType>
|
|
Pipeline::getRayTracingShaderGroupHandlesKHR(uint32_t firstGroup, uint32_t groupCount, size_t dataSize) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR &&
|
|
"Function <vkGetRayTracingShaderGroupHandlesKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!");
|
|
|
|
VULKAN_HPP_ASSERT(dataSize % sizeof(DataType) == 0);
|
|
std::vector<DataType> data(dataSize / sizeof(DataType));
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
firstGroup,
|
|
groupCount,
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<void *>(data.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandlesKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType Pipeline::getRayTracingShaderGroupHandleKHR(uint32_t firstGroup, uint32_t groupCount) const
|
|
{
|
|
DataType data;
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
firstGroup,
|
|
groupCount,
|
|
sizeof(DataType),
|
|
reinterpret_cast<void *>(&data)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingShaderGroupHandleKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<DataType>
|
|
Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR(uint32_t firstGroup, uint32_t groupCount, size_t dataSize) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR &&
|
|
"Function <vkGetRayTracingCaptureReplayShaderGroupHandlesKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!");
|
|
|
|
VULKAN_HPP_ASSERT(dataSize % sizeof(DataType) == 0);
|
|
std::vector<DataType> data(dataSize / sizeof(DataType));
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
firstGroup,
|
|
groupCount,
|
|
data.size() * sizeof(DataType),
|
|
reinterpret_cast<void *>(data.data())));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandlesKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
template<typename DataType>
|
|
VULKAN_HPP_NODISCARD DataType Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR(uint32_t firstGroup, uint32_t groupCount) const
|
|
{
|
|
DataType data;
|
|
Result result = static_cast<Result>(getDispatcher()->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(static_cast<VkDevice>(m_device),
|
|
static_cast<VkPipeline>(m_pipeline),
|
|
firstGroup,
|
|
groupCount,
|
|
sizeof(DataType),
|
|
reinterpret_cast<void *>(&data)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Pipeline::getRayTracingCaptureReplayShaderGroupHandleKHR");
|
|
}
|
|
return data;
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::traceRaysIndirectKHR(const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &raygenShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &missShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &hitShaderBindingTable,
|
|
const VULKAN_HPP_NAMESPACE::StridedDeviceAddressRegionKHR &callableShaderBindingTable,
|
|
VULKAN_HPP_NAMESPACE::DeviceAddress indirectDeviceAddress) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdTraceRaysIndirectKHR &&
|
|
"Function <vkCmdTraceRaysIndirectKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!");
|
|
|
|
getDispatcher()->vkCmdTraceRaysIndirectKHR(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&raygenShaderBindingTable),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&missShaderBindingTable),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&hitShaderBindingTable),
|
|
reinterpret_cast<const VkStridedDeviceAddressRegionKHR *>(&callableShaderBindingTable),
|
|
static_cast<VkDeviceAddress>(indirectDeviceAddress));
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize
|
|
Pipeline::getRayTracingShaderGroupStackSizeKHR(uint32_t group, VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR &&
|
|
"Function <vkGetRayTracingShaderGroupStackSizeKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::DeviceSize>(getDispatcher()->vkGetRayTracingShaderGroupStackSizeKHR(
|
|
static_cast<VkDevice>(m_device), static_cast<VkPipeline>(m_pipeline), group, static_cast<VkShaderGroupShaderKHR>(groupShader)));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setRayTracingPipelineStackSizeKHR(uint32_t pipelineStackSize) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetRayTracingPipelineStackSizeKHR &&
|
|
"Function <vkCmdSetRayTracingPipelineStackSizeKHR> needs extension <VK_KHR_ray_tracing_pipeline> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetRayTracingPipelineStackSizeKHR(static_cast<VkCommandBuffer>(m_commandBuffer), pipelineStackSize);
|
|
}
|
|
|
|
//=== VK_EXT_vertex_input_dynamic_state ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setVertexInputEXT(
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputBindingDescription2EXT> const &vertexBindingDescriptions,
|
|
ArrayProxy<const VULKAN_HPP_NAMESPACE::VertexInputAttributeDescription2EXT> const &vertexAttributeDescriptions) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetVertexInputEXT &&
|
|
"Function <vkCmdSetVertexInputEXT> needs extension <VK_EXT_vertex_input_dynamic_state> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetVertexInputEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
vertexBindingDescriptions.size(),
|
|
reinterpret_cast<const VkVertexInputBindingDescription2EXT *>(vertexBindingDescriptions.data()),
|
|
vertexAttributeDescriptions.size(),
|
|
reinterpret_cast<const VkVertexInputAttributeDescription2EXT *>(vertexAttributeDescriptions.data()));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_memory ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE zx_handle_t
|
|
Device::getMemoryZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA &getZirconHandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryZirconHandleFUCHSIA &&
|
|
"Function <vkGetMemoryZirconHandleFUCHSIA> needs extension <VK_FUCHSIA_external_memory> enabled!");
|
|
|
|
zx_handle_t zirconHandle;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetMemoryZirconHandleFUCHSIA(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>(&getZirconHandleInfo), &zirconHandle));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA");
|
|
}
|
|
return zirconHandle;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
|
|
Device::getMemoryZirconHandlePropertiesFUCHSIA(VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA &&
|
|
"Function <vkGetMemoryZirconHandlePropertiesFUCHSIA> needs extension <VK_FUCHSIA_external_memory> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA memoryZirconHandleProperties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetMemoryZirconHandlePropertiesFUCHSIA(
|
|
static_cast<VkDevice>(m_device),
|
|
static_cast<VkExternalMemoryHandleTypeFlagBits>(handleType),
|
|
zirconHandle,
|
|
reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>(&memoryZirconHandleProperties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA");
|
|
}
|
|
return memoryZirconHandleProperties;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_external_semaphore ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
Device::importSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::ImportSemaphoreZirconHandleInfoFUCHSIA &importSemaphoreZirconHandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA &&
|
|
"Function <vkImportSemaphoreZirconHandleFUCHSIA> needs extension <VK_FUCHSIA_external_semaphore> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkImportSemaphoreZirconHandleFUCHSIA(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkImportSemaphoreZirconHandleInfoFUCHSIA *>(&importSemaphoreZirconHandleInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::importSemaphoreZirconHandleFUCHSIA");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE zx_handle_t
|
|
Device::getSemaphoreZirconHandleFUCHSIA(const VULKAN_HPP_NAMESPACE::SemaphoreGetZirconHandleInfoFUCHSIA &getZirconHandleInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA &&
|
|
"Function <vkGetSemaphoreZirconHandleFUCHSIA> needs extension <VK_FUCHSIA_external_semaphore> enabled!");
|
|
|
|
zx_handle_t zirconHandle;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>(&getZirconHandleInfo), &zirconHandle));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA");
|
|
}
|
|
return zirconHandle;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
# if defined(VK_USE_PLATFORM_FUCHSIA)
|
|
//=== VK_FUCHSIA_buffer_collection ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA
|
|
Device::createBufferCollectionFUCHSIA(VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIA const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIA(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void BufferCollectionFUCHSIA::setImageConstraints(const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIA &imageConstraintsInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA &&
|
|
"Function <vkSetBufferCollectionImageConstraintsFUCHSIA> needs extension <VK_FUCHSIA_buffer_collection> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIA(static_cast<VkDevice>(m_device),
|
|
static_cast<VkBufferCollectionFUCHSIA>(m_collection),
|
|
reinterpret_cast<const VkImageConstraintsInfoFUCHSIA *>(&imageConstraintsInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setImageConstraints");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void
|
|
BufferCollectionFUCHSIA::setBufferConstraints(const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIA &bufferConstraintsInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA &&
|
|
"Function <vkSetBufferCollectionBufferConstraintsFUCHSIA> needs extension <VK_FUCHSIA_buffer_collection> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIA(static_cast<VkDevice>(m_device),
|
|
static_cast<VkBufferCollectionFUCHSIA>(m_collection),
|
|
reinterpret_cast<const VkBufferConstraintsInfoFUCHSIA *>(&bufferConstraintsInfo)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIA::setBufferConstraints");
|
|
}
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA BufferCollectionFUCHSIA::getProperties() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIA &&
|
|
"Function <vkGetBufferCollectionPropertiesFUCHSIA> needs extension <VK_FUCHSIA_buffer_collection> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIA properties;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIA(static_cast<VkDevice>(m_device),
|
|
static_cast<VkBufferCollectionFUCHSIA>(m_collection),
|
|
reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>(&properties)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIA::getProperties");
|
|
}
|
|
return properties;
|
|
}
|
|
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
|
|
|
//=== VK_HUAWEI_subpass_shading ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D>
|
|
RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI() const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI &&
|
|
"Function <vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI> needs extension <VK_HUAWEI_subpass_shading> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::Extent2D maxWorkgroupSize;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
|
|
static_cast<VkDevice>(m_device), static_cast<VkRenderPass>(m_renderPass), reinterpret_cast<VkExtent2D *>(&maxWorkgroupSize)));
|
|
if((result != VULKAN_HPP_NAMESPACE::Result::eSuccess) && (result != VULKAN_HPP_NAMESPACE::Result::eIncomplete))
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI");
|
|
}
|
|
return std::make_pair(result, maxWorkgroupSize);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSubpassShadingHUAWEI &&
|
|
"Function <vkCmdSubpassShadingHUAWEI> needs extension <VK_HUAWEI_subpass_shading> enabled!");
|
|
|
|
getDispatcher()->vkCmdSubpassShadingHUAWEI(static_cast<VkCommandBuffer>(m_commandBuffer));
|
|
}
|
|
|
|
//=== VK_HUAWEI_invocation_mask ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::bindInvocationMaskHUAWEI(VULKAN_HPP_NAMESPACE::ImageView imageView,
|
|
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdBindInvocationMaskHUAWEI &&
|
|
"Function <vkCmdBindInvocationMaskHUAWEI> needs extension <VK_HUAWEI_invocation_mask> enabled!");
|
|
|
|
getDispatcher()->vkCmdBindInvocationMaskHUAWEI(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkImageView>(imageView), static_cast<VkImageLayout>(imageLayout));
|
|
}
|
|
|
|
//=== VK_NV_external_memory_rdma ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::RemoteAddressNV
|
|
Device::getMemoryRemoteAddressNV(const VULKAN_HPP_NAMESPACE::MemoryGetRemoteAddressInfoNV &memoryGetRemoteAddressInfo) const
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetMemoryRemoteAddressNV &&
|
|
"Function <vkGetMemoryRemoteAddressNV> needs extension <VK_NV_external_memory_rdma> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::RemoteAddressNV address;
|
|
VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
|
|
getDispatcher()->vkGetMemoryRemoteAddressNV(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>(&memoryGetRemoteAddressInfo),
|
|
reinterpret_cast<VkRemoteAddressNV *>(&address)));
|
|
if(result != VULKAN_HPP_NAMESPACE::Result::eSuccess)
|
|
{
|
|
throwResultException(result, VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV");
|
|
}
|
|
return address;
|
|
}
|
|
|
|
//=== VK_EXT_extended_dynamic_state2 ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPatchControlPointsEXT(uint32_t patchControlPoints) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetPatchControlPointsEXT &&
|
|
"Function <vkCmdSetPatchControlPointsEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetPatchControlPointsEXT(static_cast<VkCommandBuffer>(m_commandBuffer), patchControlPoints);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setRasterizerDiscardEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 rasterizerDiscardEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetRasterizerDiscardEnableEXT &&
|
|
"Function <vkCmdSetRasterizerDiscardEnableEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetRasterizerDiscardEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(rasterizerDiscardEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setDepthBiasEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 depthBiasEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetDepthBiasEnableEXT &&
|
|
"Function <vkCmdSetDepthBiasEnableEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetDepthBiasEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(depthBiasEnable));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setLogicOpEXT(VULKAN_HPP_NAMESPACE::LogicOp logicOp) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetLogicOpEXT && "Function <vkCmdSetLogicOpEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetLogicOpEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkLogicOp>(logicOp));
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::setPrimitiveRestartEnableEXT(VULKAN_HPP_NAMESPACE::Bool32 primitiveRestartEnable) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetPrimitiveRestartEnableEXT &&
|
|
"Function <vkCmdSetPrimitiveRestartEnableEXT> needs extension <VK_EXT_extended_dynamic_state2> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetPrimitiveRestartEnableEXT(static_cast<VkCommandBuffer>(m_commandBuffer), static_cast<VkBool32>(primitiveRestartEnable));
|
|
}
|
|
|
|
# if defined(VK_USE_PLATFORM_SCREEN_QNX)
|
|
//=== VK_QNX_screen_surface ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR
|
|
Instance::createScreenSurfaceQNX(VULKAN_HPP_NAMESPACE::ScreenSurfaceCreateInfoQNX const &createInfo,
|
|
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator) const
|
|
{
|
|
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR(*this, createInfo, allocator);
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
|
|
PhysicalDevice::getScreenPresentationSupportQNX(uint32_t queueFamilyIndex, struct _screen_window &window) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX &&
|
|
"Function <vkGetPhysicalDeviceScreenPresentationSupportQNX> needs extension <VK_QNX_screen_surface> enabled!");
|
|
|
|
return static_cast<VULKAN_HPP_NAMESPACE::Bool32>(
|
|
getDispatcher()->vkGetPhysicalDeviceScreenPresentationSupportQNX(static_cast<VkPhysicalDevice>(m_physicalDevice), queueFamilyIndex, &window));
|
|
}
|
|
# endif /*VK_USE_PLATFORM_SCREEN_QNX*/
|
|
|
|
//=== VK_EXT_color_write_enable ===
|
|
|
|
VULKAN_HPP_INLINE void
|
|
CommandBuffer::setColorWriteEnableEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::Bool32> const &colorWriteEnables) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdSetColorWriteEnableEXT &&
|
|
"Function <vkCmdSetColorWriteEnableEXT> needs extension <VK_EXT_color_write_enable> enabled!");
|
|
|
|
getDispatcher()->vkCmdSetColorWriteEnableEXT(
|
|
static_cast<VkCommandBuffer>(m_commandBuffer), colorWriteEnables.size(), reinterpret_cast<const VkBool32 *>(colorWriteEnables.data()));
|
|
}
|
|
|
|
//=== VK_EXT_multi_draw ===
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawMultiEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawInfoEXT> const &vertexInfo,
|
|
uint32_t instanceCount,
|
|
uint32_t firstInstance,
|
|
uint32_t stride) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawMultiEXT && "Function <vkCmdDrawMultiEXT> needs extension <VK_EXT_multi_draw> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawMultiEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
vertexInfo.size(),
|
|
reinterpret_cast<const VkMultiDrawInfoEXT *>(vertexInfo.data()),
|
|
instanceCount,
|
|
firstInstance,
|
|
stride);
|
|
}
|
|
|
|
VULKAN_HPP_INLINE void CommandBuffer::drawMultiIndexedEXT(ArrayProxy<const VULKAN_HPP_NAMESPACE::MultiDrawIndexedInfoEXT> const &indexInfo,
|
|
uint32_t instanceCount,
|
|
uint32_t firstInstance,
|
|
uint32_t stride,
|
|
Optional<const int32_t> vertexOffset) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkCmdDrawMultiIndexedEXT && "Function <vkCmdDrawMultiIndexedEXT> needs extension <VK_EXT_multi_draw> enabled!");
|
|
|
|
getDispatcher()->vkCmdDrawMultiIndexedEXT(static_cast<VkCommandBuffer>(m_commandBuffer),
|
|
indexInfo.size(),
|
|
reinterpret_cast<const VkMultiDrawIndexedInfoEXT *>(indexInfo.data()),
|
|
instanceCount,
|
|
firstInstance,
|
|
stride,
|
|
static_cast<const int32_t *>(vertexOffset));
|
|
}
|
|
|
|
//=== VK_EXT_pageable_device_local_memory ===
|
|
|
|
VULKAN_HPP_INLINE void DeviceMemory::setPriorityEXT(float priority) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkSetDeviceMemoryPriorityEXT &&
|
|
"Function <vkSetDeviceMemoryPriorityEXT> needs extension <VK_EXT_pageable_device_local_memory> enabled!");
|
|
|
|
getDispatcher()->vkSetDeviceMemoryPriorityEXT(static_cast<VkDevice>(m_device), static_cast<VkDeviceMemory>(m_memory), priority);
|
|
}
|
|
|
|
//=== VK_KHR_maintenance4 ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR &&
|
|
"Function <vkGetDeviceBufferMemoryRequirementsKHR> needs extension <VK_KHR_maintenance4> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceBufferMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getBufferMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR &&
|
|
"Function <vkGetDeviceBufferMemoryRequirementsKHR> needs extension <VK_KHR_maintenance4> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetDeviceBufferMemoryRequirementsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceBufferMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
|
|
Device::getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR &&
|
|
"Function <vkGetDeviceImageMemoryRequirementsKHR> needs extension <VK_KHR_maintenance4> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
|
|
getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return memoryRequirements;
|
|
}
|
|
|
|
template<typename X, typename Y, typename... Z>
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
|
|
Device::getImageMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR &&
|
|
"Function <vkGetDeviceImageMemoryRequirementsKHR> needs extension <VK_KHR_maintenance4> enabled!");
|
|
|
|
StructureChain<X, Y, Z...> structureChain;
|
|
VULKAN_HPP_NAMESPACE::MemoryRequirements2 &memoryRequirements = structureChain.template get<VULKAN_HPP_NAMESPACE::MemoryRequirements2>();
|
|
getDispatcher()->vkGetDeviceImageMemoryRequirementsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info),
|
|
reinterpret_cast<VkMemoryRequirements2 *>(&memoryRequirements));
|
|
return structureChain;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
|
|
Device::getImageSparseMemoryRequirementsKHR(const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements &info) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR &&
|
|
"Function <vkGetDeviceImageSparseMemoryRequirementsKHR> needs extension <VK_KHR_maintenance4> enabled!");
|
|
|
|
uint32_t sparseMemoryRequirementCount;
|
|
getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR(
|
|
static_cast<VkDevice>(m_device), reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info), &sparseMemoryRequirementCount, nullptr);
|
|
std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements(sparseMemoryRequirementCount);
|
|
getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDeviceImageMemoryRequirements *>(&info),
|
|
&sparseMemoryRequirementCount,
|
|
reinterpret_cast<VkSparseImageMemoryRequirements2 *>(sparseMemoryRequirements.data()));
|
|
VULKAN_HPP_ASSERT(sparseMemoryRequirementCount == sparseMemoryRequirements.size());
|
|
return sparseMemoryRequirements;
|
|
}
|
|
|
|
//=== VK_VALVE_descriptor_set_host_mapping ===
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE Device::getDescriptorSetLayoutHostMappingInfoVALVE(
|
|
const VULKAN_HPP_NAMESPACE::DescriptorSetBindingReferenceVALVE &bindingReference) const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDescriptorSetLayoutHostMappingInfoVALVE &&
|
|
"Function <vkGetDescriptorSetLayoutHostMappingInfoVALVE> needs extension <VK_VALVE_descriptor_set_host_mapping> enabled!");
|
|
|
|
VULKAN_HPP_NAMESPACE::DescriptorSetLayoutHostMappingInfoVALVE hostMapping;
|
|
getDispatcher()->vkGetDescriptorSetLayoutHostMappingInfoVALVE(static_cast<VkDevice>(m_device),
|
|
reinterpret_cast<const VkDescriptorSetBindingReferenceVALVE *>(&bindingReference),
|
|
reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE *>(&hostMapping));
|
|
return hostMapping;
|
|
}
|
|
|
|
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void *DescriptorSet::getHostMappingVALVE() const VULKAN_HPP_NOEXCEPT
|
|
{
|
|
VULKAN_HPP_ASSERT(getDispatcher()->vkGetDescriptorSetHostMappingVALVE &&
|
|
"Function <vkGetDescriptorSetHostMappingVALVE> needs extension <VK_VALVE_descriptor_set_host_mapping> enabled!");
|
|
|
|
void *pData;
|
|
getDispatcher()->vkGetDescriptorSetHostMappingVALVE(static_cast<VkDevice>(m_device), static_cast<VkDescriptorSet>(m_descriptorSet), &pData);
|
|
return pData;
|
|
}
|
|
|
|
#endif
|
|
} // namespace VULKAN_HPP_RAII_NAMESPACE
|
|
} // namespace VULKAN_HPP_NAMESPACE
|
|
#endif
|