diff options
author | Dave Airlie <[email protected]> | 2016-10-13 05:25:33 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2016-10-19 10:15:42 +1000 |
commit | b8e7460563e9a92f81158c4b02771aa2636ac373 (patch) | |
tree | c22ecc4695f95595788b593a87c2dc080d2ee9b3 | |
parent | 36e6be2e0d1ae8e6b56fe04bdfafa33db50049ac (diff) |
anv/wsi/x11: abstract WSI interface from internals.
This allows the API and the internals to be split, and the
internals shared.
Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r-- | src/intel/vulkan/anv_wsi_x11.c | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/src/intel/vulkan/anv_wsi_x11.c b/src/intel/vulkan/anv_wsi_x11.c index ccaabea160e..6eb06c31eaa 100644 --- a/src/intel/vulkan/anv_wsi_x11.c +++ b/src/intel/vulkan/anv_wsi_x11.c @@ -233,16 +233,15 @@ visual_has_alpha(xcb_visualtype_t *visual, unsigned depth) return (all_mask & ~rgb_mask) != 0; } -VkBool32 anv_GetPhysicalDeviceXcbPresentationSupportKHR( - VkPhysicalDevice physicalDevice, +static VkBool32 anv_get_physical_device_xcb_presentation_support( + struct anv_wsi_device *wsi_device, + VkAllocationCallbacks *alloc, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) { - ANV_FROM_HANDLE(anv_physical_device, device, physicalDevice); - struct wsi_x11_connection *wsi_conn = - wsi_x11_get_connection(&device->wsi_device, &device->instance->alloc, connection); + wsi_x11_get_connection(wsi_device, alloc, connection); if (!wsi_conn->has_dri3) { fprintf(stderr, "vulkan: No DRI3 support\n"); @@ -259,16 +258,32 @@ VkBool32 anv_GetPhysicalDeviceXcbPresentationSupportKHR( return true; } +VkBool32 anv_GetPhysicalDeviceXcbPresentationSupportKHR( + VkPhysicalDevice physicalDevice, + uint32_t queueFamilyIndex, + xcb_connection_t* connection, + xcb_visualid_t visual_id) +{ + ANV_FROM_HANDLE(anv_physical_device, device, physicalDevice); + + return anv_get_physical_device_xcb_presentation_support( + &device->wsi_device, + &device->instance->alloc, + queueFamilyIndex, connection, visual_id); +} + VkBool32 anv_GetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) { - return anv_GetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, - queueFamilyIndex, - XGetXCBConnection(dpy), - visualID); + ANV_FROM_HANDLE(anv_physical_device, device, physicalDevice); + + return anv_get_physical_device_xcb_presentation_support( + &device->wsi_device, + &device->instance->alloc, + queueFamilyIndex, XGetXCBConnection(dpy), visualID); } static xcb_connection_t* |