From 3db0c4838fe30fcee5beb8b31ca67d5cf7d77fb3 Mon Sep 17 00:00:00 2001
From: Haihao Xiang <haihao.xiang@intel.com>
Date: Fri, 7 Dec 2018 13:31:43 +0800
Subject: [PATCH 1/1] Check the interface from libva first

This fixes https://github.com/intel/intel-vaapi-driver/issues/419

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
[james.hilliard1@gmail.com: backport from upstream commit
f139dafa59172d40543f2ec469a035d3de9fdc6a]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 src/i965_output_wayland.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c
index 122db95..a637552 100644
--- a/src/i965_output_wayland.c
+++ b/src/i965_output_wayland.c
@@ -397,6 +397,7 @@ i965_output_wayland_init(VADriverContextP ctx)
     struct i965_driver_data * const i965 = i965_driver_data(ctx);
     struct dso_handle *dso_handle;
     struct wl_vtable *wl_vtable;
+    struct VADriverVTableWayland * const vtable = ctx->vtable_wayland;
 
     static const struct dso_symbol libegl_symbols[] = {
         {
@@ -465,25 +466,29 @@ i965_output_wayland_init(VADriverContextP ctx)
     if (!i965->wl_output)
         goto error;
 
-    i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
-    if (!i965->wl_output->libegl_handle) {
-        i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
-        if (!i965->wl_output->libegl_handle)
+    wl_vtable = &i965->wl_output->vtable;
+
+    if (vtable->wl_interface)
+        wl_vtable->drm_interface = vtable->wl_interface;
+    else {
+        i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME);
+        if (!i965->wl_output->libegl_handle) {
+            i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK);
+            if (!i965->wl_output->libegl_handle)
+                goto error;
+        }
+
+        dso_handle = i965->wl_output->libegl_handle;
+        if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
+                             libegl_symbols))
             goto error;
     }
 
-    dso_handle = i965->wl_output->libegl_handle;
-    wl_vtable  = &i965->wl_output->vtable;
-    if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
-                         libegl_symbols))
-        goto error;
-
     i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME);
     if (!i965->wl_output->libwl_client_handle)
         goto error;
 
     dso_handle = i965->wl_output->libwl_client_handle;
-    wl_vtable  = &i965->wl_output->vtable;
     if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable),
                          libwl_client_symbols))
         goto error;
-- 
2.7.4

