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])
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
#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 */
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 */
#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;
{
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;
}
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;
}
{
/* For easier debugging */
if (*driver_name)
- Xfree(*driver_name);
+ XFree(*driver_name);
*driver_name = strdup(getenv("LIBVA_DRIVER_NAME"));
return VA_STATUS_SUCCESS;