vulkan/wsi: Add a wsi_device param to get_present_modes
authorJesse Natalie <jenatali@microsoft.com>
Thu, 26 Jan 2023 18:04:37 +0000 (10:04 -0800)
committerMarge Bot <emma+marge@anholt.net>
Thu, 2 Feb 2023 01:30:28 +0000 (01:30 +0000)
The Win32 WSI will want to query capabilities of the device to
determine what's available.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20945>

src/vulkan/wsi/wsi_common.c
src/vulkan/wsi/wsi_common_display.c
src/vulkan/wsi/wsi_common_private.h
src/vulkan/wsi/wsi_common_wayland.c
src/vulkan/wsi/wsi_common_win32.cpp
src/vulkan/wsi/wsi_common_x11.c

index cca6b40..f010972 100644 (file)
@@ -461,7 +461,7 @@ wsi_swapchain_is_present_mode_supported(struct wsi_device *wsi,
       bool supported = false;
       VkResult result;
 
-      result = iface->get_present_modes(surface, &present_mode_count, NULL);
+      result = iface->get_present_modes(surface, wsi, &present_mode_count, NULL);
       if (result != VK_SUCCESS)
          return supported;
 
@@ -469,7 +469,7 @@ wsi_swapchain_is_present_mode_supported(struct wsi_device *wsi,
       if (!present_modes)
          return supported;
 
-      result = iface->get_present_modes(surface, &present_mode_count,
+      result = iface->get_present_modes(surface, wsi, &present_mode_count,
                                         present_modes);
       if (result != VK_SUCCESS)
          goto fail;
@@ -875,7 +875,7 @@ wsi_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,
    struct wsi_device *wsi_device = device->wsi_device;
    struct wsi_interface *iface = wsi_device->wsi[surface->platform];
 
-   return iface->get_present_modes(surface, pPresentModeCount,
+   return iface->get_present_modes(surface, wsi_device, pPresentModeCount,
                                    pPresentModes);
 }
 
index cf2ac7b..83b0b38 100644 (file)
@@ -1052,6 +1052,7 @@ wsi_display_surface_get_formats2(VkIcdSurfaceBase *surface,
 
 static VkResult
 wsi_display_surface_get_present_modes(VkIcdSurfaceBase *surface,
+                                      struct wsi_device *wsi_device,
                                       uint32_t *present_mode_count,
                                       VkPresentModeKHR *present_modes)
 {
index 8df14f3..308fb57 100644 (file)
@@ -333,6 +333,7 @@ struct wsi_interface {
                             uint32_t* pSurfaceFormatCount,
                             VkSurfaceFormat2KHR* pSurfaceFormats);
    VkResult (*get_present_modes)(VkIcdSurfaceBase *surface,
+                                 struct wsi_device *wsi_device,
                                  uint32_t* pPresentModeCount,
                                  VkPresentModeKHR* pPresentModes);
    VkResult (*get_present_rectangles)(VkIcdSurfaceBase *surface,
index fdeebc5..7d42c81 100644 (file)
@@ -1112,6 +1112,7 @@ wsi_wl_surface_get_formats2(VkIcdSurfaceBase *icd_surface,
 
 static VkResult
 wsi_wl_surface_get_present_modes(VkIcdSurfaceBase *surface,
+                                 struct wsi_device *wsi_device,
                                  uint32_t* pPresentModeCount,
                                  VkPresentModeKHR* pPresentModes)
 {
index 7f8f442..e8f01b0 100644 (file)
@@ -326,8 +326,9 @@ static const VkPresentModeKHR present_modes[] = {
 
 static VkResult
 wsi_win32_surface_get_present_modes(VkIcdSurfaceBase *surface,
-                                 uint32_t* pPresentModeCount,
-                                 VkPresentModeKHR* pPresentModes)
+                                    struct wsi_device *wsi_device,
+                                    uint32_t* pPresentModeCount,
+                                    VkPresentModeKHR* pPresentModes)
 {
    if (pPresentModes == NULL) {
       *pPresentModeCount = ARRAY_SIZE(present_modes);
index 54ee193..60bc107 100644 (file)
@@ -849,6 +849,7 @@ x11_surface_get_formats2(VkIcdSurfaceBase *surface,
 
 static VkResult
 x11_surface_get_present_modes(VkIcdSurfaceBase *surface,
+                              struct wsi_device *wsi_device,
                               uint32_t *pPresentModeCount,
                               VkPresentModeKHR *pPresentModes)
 {