OSDN Git Service

More update for DRI2 support
authorAustin Yuan <shengquan.yuan@intel.com>
Wed, 22 Apr 2009 19:54:26 +0000 (15:54 -0400)
committerAustin Yuan <shengquan.yuan@intel.com>
Wed, 22 Apr 2009 19:54:26 +0000 (15:54 -0400)
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
configure.ac
src/Makefile.am
src/X11/va_dri2.c
src/X11/va_x11.c

index 9ffc13d..57a2aed 100644 (file)
@@ -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])
 
index 06aeaff..68ce13e 100644 (file)
@@ -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
 
index 10340b2..4bd5b52 100644 (file)
@@ -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 */
index f050648..85b21d5 100644 (file)
 #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;