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
PKG_CHECK_MODULES([X11], [x11])
PKG_CHECK_MODULES([XEXT], [xext])
PKG_CHECK_MODULES([Xfixes], [xfixes])
PKG_CHECK_MODULES([XDAMAGE], [xdamage])
PKG_CHECK_MODULES([DRM], [libdrm])
PKG_CHECK_MODULES(LIBDRM_DEPS, [libdrm])
......
......@@ -27,7 +27,7 @@ INCLUDES = \
libva_la_LTLIBRARIES = libva.la
libva_ladir = $(libdir)
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
......
......@@ -40,7 +40,8 @@
#include "va_dri2.h"
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 /* const */ XExtensionHooks va_dri2ExtensionHooks = {
NULL, /* create_gc */
......@@ -49,7 +50,7 @@ static /* const */ XExtensionHooks va_dri2ExtensionHooks = {
NULL, /* free_gc */
NULL, /* create_font */
NULL, /* free_font */
VA_DRI2CloseDisplay, /* close_display */
VA_DRI2CloseDisplay, /* close_display */
NULL, /* wire_to_event */
NULL, /* event_to_wire */
NULL, /* error */
......
......@@ -27,9 +27,14 @@
#include "va_backend.h"
#include "va_x11.h"
#include "va_dri.h"
#include "va_dri2.h"
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
static VADisplayContextP pDisplayContexts = NULL;
......@@ -97,7 +102,8 @@ static VAStatus va_DRI2GetDriverName (
{
VADriverContextP ctx = pDisplayContext->pDriverContext;
VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
char *driverName, *deviceName;
int eventBase, errorBase;
char *device_name;
int driver_major;
int driver_minor;
int driver_patch;
......@@ -114,7 +120,7 @@ static VAStatus va_DRI2GetDriverName (
}
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");
return VA_STATUS_ERROR_UNKNOWN;
}
......@@ -214,7 +220,7 @@ static VAStatus va_DisplayContextGetDriverName (
{
/* For easier debugging */
if (*driver_name)
Xfree(*driver_name);
XFree(*driver_name);
*driver_name = strdup(getenv("LIBVA_DRIVER_NAME"));
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