Commit 91455761 authored by Austin Yuan's avatar Austin Yuan

More update for DRI2 support

Signed-off-by: default avatarAustin Yuan <shengquan.yuan@intel.com>
parent 997d59cf
...@@ -36,8 +36,6 @@ AC_SYS_LARGEFILE ...@@ -36,8 +36,6 @@ AC_SYS_LARGEFILE
PKG_CHECK_MODULES([X11], [x11]) PKG_CHECK_MODULES([X11], [x11])
PKG_CHECK_MODULES([XEXT], [xext]) PKG_CHECK_MODULES([XEXT], [xext])
PKG_CHECK_MODULES([Xfixes], [xfixes])
PKG_CHECK_MODULES([XDAMAGE], [xdamage])
PKG_CHECK_MODULES([DRM], [libdrm]) PKG_CHECK_MODULES([DRM], [libdrm])
PKG_CHECK_MODULES(LIBDRM_DEPS, [libdrm]) PKG_CHECK_MODULES(LIBDRM_DEPS, [libdrm])
......
...@@ -27,7 +27,7 @@ INCLUDES = \ ...@@ -27,7 +27,7 @@ INCLUDES = \
libva_la_LTLIBRARIES = libva.la libva_la_LTLIBRARIES = libva.la
libva_ladir = $(libdir) libva_ladir = $(libdir)
libva_la_LDFLAGS = -version-number 0:30:0 -no-undefined libva_la_LDFLAGS = -version-number 0:30:0 -no-undefined
libva_la_LIBADD = $(LIBVA_LIBS) -ldl -lX11 -lXext -lXfixes -lXdamage -lXv -lXrandr X11/libva_X11.la libva_la_LIBADD = $(LIBVA_LIBS) -ldl -ldrm -lX11 -lXext X11/libva_X11.la
SUBDIRS = X11 SUBDIRS = X11
......
...@@ -40,7 +40,8 @@ ...@@ -40,7 +40,8 @@
#include "va_dri2.h" #include "va_dri2.h"
static char va_dri2ExtensionName[] = DRI2_NAME; static char va_dri2ExtensionName[] = DRI2_NAME;
static XExtensionInfo *va_dri2Info; static XExtensionInfo _va_dri2_info_data;
static XExtensionInfo *va_dri2Info = &_va_dri2_info_data;
static XEXT_GENERATE_CLOSE_DISPLAY (VA_DRI2CloseDisplay, va_dri2Info) static XEXT_GENERATE_CLOSE_DISPLAY (VA_DRI2CloseDisplay, va_dri2Info)
static /* const */ XExtensionHooks va_dri2ExtensionHooks = { static /* const */ XExtensionHooks va_dri2ExtensionHooks = {
NULL, /* create_gc */ NULL, /* create_gc */
...@@ -49,7 +50,7 @@ static /* const */ XExtensionHooks va_dri2ExtensionHooks = { ...@@ -49,7 +50,7 @@ static /* const */ XExtensionHooks va_dri2ExtensionHooks = {
NULL, /* free_gc */ NULL, /* free_gc */
NULL, /* create_font */ NULL, /* create_font */
NULL, /* free_font */ NULL, /* free_font */
VA_DRI2CloseDisplay, /* close_display */ VA_DRI2CloseDisplay, /* close_display */
NULL, /* wire_to_event */ NULL, /* wire_to_event */
NULL, /* event_to_wire */ NULL, /* event_to_wire */
NULL, /* error */ NULL, /* error */
......
...@@ -27,9 +27,14 @@ ...@@ -27,9 +27,14 @@
#include "va_backend.h" #include "va_backend.h"
#include "va_x11.h" #include "va_x11.h"
#include "va_dri.h" #include "va_dri.h"
#include "va_dri2.h"
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
#include <string.h> #include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
static VADisplayContextP pDisplayContexts = NULL; static VADisplayContextP pDisplayContexts = NULL;
...@@ -97,7 +102,8 @@ static VAStatus va_DRI2GetDriverName ( ...@@ -97,7 +102,8 @@ static VAStatus va_DRI2GetDriverName (
{ {
VADriverContextP ctx = pDisplayContext->pDriverContext; VADriverContextP ctx = pDisplayContext->pDriverContext;
VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN; VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
char *driverName, *deviceName; int eventBase, errorBase;
char *device_name;
int driver_major; int driver_major;
int driver_minor; int driver_minor;
int driver_patch; int driver_patch;
...@@ -114,7 +120,7 @@ static VAStatus va_DRI2GetDriverName ( ...@@ -114,7 +120,7 @@ static VAStatus va_DRI2GetDriverName (
} }
if (!VA_DRI2Connect(ctx->x11_dpy, RootWindow(ctx->x11_dpy, ctx->x11_screen), if (!VA_DRI2Connect(ctx->x11_dpy, RootWindow(ctx->x11_dpy, ctx->x11_screen),
&driver_name, &device_name)) { driver_name, &device_name)) {
va_infoMessage("DRI2 isn't enabled, fallback to DRI1\n"); va_infoMessage("DRI2 isn't enabled, fallback to DRI1\n");
return VA_STATUS_ERROR_UNKNOWN; return VA_STATUS_ERROR_UNKNOWN;
} }
...@@ -214,7 +220,7 @@ static VAStatus va_DisplayContextGetDriverName ( ...@@ -214,7 +220,7 @@ static VAStatus va_DisplayContextGetDriverName (
{ {
/* For easier debugging */ /* For easier debugging */
if (*driver_name) if (*driver_name)
Xfree(*driver_name); XFree(*driver_name);
*driver_name = strdup(getenv("LIBVA_DRIVER_NAME")); *driver_name = strdup(getenv("LIBVA_DRIVER_NAME"));
return VA_STATUS_SUCCESS; return VA_STATUS_SUCCESS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment