[Mesa-dev] [PATCH] radv: Implement VK_KHR_get_surface_capabilities2

Jason Ekstrand jason at jlekstrand.net
Fri Nov 17 01:15:48 UTC 2017


The WSI core code does all the hard work.  Just add the wrappers and
turn it on.
---
 src/amd/vulkan/radv_extensions.py |  1 +
 src/amd/vulkan/radv_wsi.c         | 26 ++++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py
index eeb679d..edb132d 100644
--- a/src/amd/vulkan/radv_extensions.py
+++ b/src/amd/vulkan/radv_extensions.py
@@ -61,6 +61,7 @@ EXTENSIONS = [
     Extension('VK_KHR_external_semaphore_fd',             1, 'device->rad_info.has_syncobj'),
     Extension('VK_KHR_get_memory_requirements2',          1, True),
     Extension('VK_KHR_get_physical_device_properties2',   1, True),
+    Extension('VK_KHR_get_surface_capabilities2',         1, True),
     Extension('VK_KHR_image_format_list',                 1, True),
     Extension('VK_KHR_incremental_present',               1, True),
     Extension('VK_KHR_maintenance1',                      1, True),
diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c
index cb61eb6..51e8ec6 100644
--- a/src/amd/vulkan/radv_wsi.c
+++ b/src/amd/vulkan/radv_wsi.c
@@ -90,6 +90,18 @@ VkResult radv_GetPhysicalDeviceSurfaceCapabilitiesKHR(
 						   pSurfaceCapabilities);
 }
 
+VkResult radv_GetPhysicalDeviceSurfaceCapabilities2KHR(
+	VkPhysicalDevice                            physicalDevice,
+	const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,
+	VkSurfaceCapabilities2KHR*                  pSurfaceCapabilities)
+{
+	RADV_FROM_HANDLE(radv_physical_device, device, physicalDevice);
+
+	return wsi_common_get_surface_capabilities2(&device->wsi_device,
+						    pSurfaceInfo,
+						    pSurfaceCapabilities);
+}
+
 VkResult radv_GetPhysicalDeviceSurfaceFormatsKHR(
 	VkPhysicalDevice                            physicalDevice,
 	VkSurfaceKHR                                surface,
@@ -104,6 +116,20 @@ VkResult radv_GetPhysicalDeviceSurfaceFormatsKHR(
 					      pSurfaceFormats);
 }
 
+VkResult radv_GetPhysicalDeviceSurfaceFormats2KHR(
+	VkPhysicalDevice                            physicalDevice,
+	const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,
+	uint32_t*                                   pSurfaceFormatCount,
+	VkSurfaceFormat2KHR*                        pSurfaceFormats)
+{
+	RADV_FROM_HANDLE(radv_physical_device, device, physicalDevice);
+
+	return wsi_common_get_surface_formats2(&device->wsi_device,
+					       pSurfaceInfo,
+					       pSurfaceFormatCount,
+					       pSurfaceFormats);
+}
+
 VkResult radv_GetPhysicalDeviceSurfacePresentModesKHR(
 	VkPhysicalDevice                            physicalDevice,
 	VkSurfaceKHR                                surface,
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list