summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-10-13 05:25:33 +0100
committerDave Airlie <airlied@redhat.com>2016-10-19 10:15:42 +1000
commitb8e7460563e9a92f81158c4b02771aa2636ac373 (patch)
treec22ecc4695f95595788b593a87c2dc080d2ee9b3
parent36e6be2e0d1ae8e6b56fe04bdfafa33db50049ac (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 <jason@jlekstrand.net>
-rw-r--r--src/intel/vulkan/anv_wsi_x11.c33
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*