mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-11 09:11:00 +00:00
Add support for extension VK_KHR_get_surface_capabilities2
This commit is contained in:
@@ -720,6 +720,10 @@ static const VkExtensionProperties supportedExtensions[] = {
|
||||
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
|
||||
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,
|
||||
VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_MAINTENANCE1_EXTENSION_NAME, VK_KHR_MAINTENANCE1_SPEC_VERSION,
|
||||
},
|
||||
|
||||
@@ -1809,4 +1809,15 @@ public:
|
||||
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, vkGetDeviceQueue2, VkDevice device,
|
||||
const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue);
|
||||
|
||||
// VK_KHR_get_surface_capabilities2
|
||||
|
||||
VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(
|
||||
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
|
||||
VkSurfaceCapabilities2KHR *pSurfaceCapabilities);
|
||||
|
||||
VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,
|
||||
const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
|
||||
uint32_t *pSurfaceFormatCount,
|
||||
VkSurfaceFormat2KHR *pSurfaceFormats);
|
||||
};
|
||||
|
||||
@@ -298,7 +298,8 @@
|
||||
CheckExt(KHR_external_fence_capabilities, VK11); \
|
||||
CheckExt(EXT_debug_utils, VKXX); \
|
||||
CheckExt(KHR_device_group_creation, VK11); \
|
||||
CheckExt(protected_memory, VK11);
|
||||
CheckExt(protected_memory, VK11); \
|
||||
CheckExt(KHR_get_surface_capabilities2, VKXX);
|
||||
|
||||
#define CheckDeviceExts() \
|
||||
CheckExt(EXT_debug_marker, VKXX); \
|
||||
@@ -379,6 +380,8 @@
|
||||
/* should always be present/not present together. Keying from the instance extension ensures */ \
|
||||
/* we'll load this function correctly when populating dispatch tables. */ \
|
||||
HookInitExtension(KHR_device_group_creation &&KHR_surface, GetPhysicalDevicePresentRectanglesKHR); \
|
||||
HookInitExtension(KHR_get_surface_capabilities2, GetPhysicalDeviceSurfaceFormats2KHR); \
|
||||
HookInitExtension(KHR_get_surface_capabilities2, GetPhysicalDeviceSurfaceCapabilities2KHR); \
|
||||
HookInitInstance_PlatformSpecific()
|
||||
|
||||
#define HookInitVulkanDeviceExts() \
|
||||
@@ -928,6 +931,12 @@
|
||||
const VkAcquireNextImageInfoKHR *, pAcquireInfo, uint32_t *, pImageIndex); \
|
||||
HookDefine3(void, vkGetDeviceQueue2, VkDevice, device, const VkDeviceQueueInfo2 *, pQueueInfo, \
|
||||
VkQueue *, pQueue); \
|
||||
HookDefine3(VkResult, vkGetPhysicalDeviceSurfaceCapabilities2KHR, VkPhysicalDevice, \
|
||||
physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *, pSurfaceInfo, \
|
||||
VkSurfaceCapabilities2KHR *, pSurfaceCapabilities); \
|
||||
HookDefine4(VkResult, vkGetPhysicalDeviceSurfaceFormats2KHR, VkPhysicalDevice, physicalDevice, \
|
||||
const VkPhysicalDeviceSurfaceInfo2KHR *, pSurfaceInfo, uint32_t *, \
|
||||
pSurfaceFormatCount, VkSurfaceFormat2KHR *, pSurfaceFormats); \
|
||||
HookDefine_PlatformSpecific()
|
||||
|
||||
struct VkLayerInstanceDispatchTableExtended : VkLayerInstanceDispatchTable
|
||||
|
||||
@@ -975,10 +975,34 @@ VkResult WrappedVulkan::vkAcquireNextImage2KHR(VkDevice device,
|
||||
return ObjDisp(device)->AcquireNextImage2KHR(Unwrap(device), &unwrapped, pImageIndex);
|
||||
}
|
||||
|
||||
VkResult WrappedVulkan::vkGetPhysicalDeviceSurfaceCapabilities2KHR(
|
||||
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
|
||||
VkSurfaceCapabilities2KHR *pSurfaceCapabilities)
|
||||
{
|
||||
VkPhysicalDeviceSurfaceInfo2KHR unwrapped = *pSurfaceInfo;
|
||||
unwrapped.surface = Unwrap(unwrapped.surface);
|
||||
|
||||
return ObjDisp(physicalDevice)
|
||||
->GetPhysicalDeviceSurfaceCapabilities2KHR(Unwrap(physicalDevice), &unwrapped,
|
||||
pSurfaceCapabilities);
|
||||
}
|
||||
|
||||
VkResult WrappedVulkan::vkGetPhysicalDeviceSurfaceFormats2KHR(
|
||||
VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo,
|
||||
uint32_t *pSurfaceFormatCount, VkSurfaceFormat2KHR *pSurfaceFormats)
|
||||
{
|
||||
VkPhysicalDeviceSurfaceInfo2KHR unwrapped = *pSurfaceInfo;
|
||||
unwrapped.surface = Unwrap(unwrapped.surface);
|
||||
|
||||
return ObjDisp(physicalDevice)
|
||||
->GetPhysicalDeviceSurfaceFormats2KHR(Unwrap(physicalDevice), &unwrapped, pSurfaceFormatCount,
|
||||
pSurfaceFormats);
|
||||
}
|
||||
|
||||
INSTANTIATE_FUNCTION_SERIALISED(VkResult, vkCreateSwapchainKHR, VkDevice device,
|
||||
const VkSwapchainCreateInfoKHR *pCreateInfo,
|
||||
const VkAllocationCallbacks *pAllocator, VkSwapchainKHR *pSwapchain);
|
||||
|
||||
INSTANTIATE_FUNCTION_SERIALISED(VkResult, vkGetSwapchainImagesKHR, VkDevice device,
|
||||
VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount,
|
||||
VkImage *pSwapchainImages);
|
||||
VkImage *pSwapchainImages);
|
||||
|
||||
Reference in New Issue
Block a user