summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am11
-rw-r--r--configure.ac9
-rw-r--r--libva-x11.pc.in (renamed from libva_display.pc.in)2
-rw-r--r--src/Makefile.am2
-rw-r--r--src/va.c8
-rw-r--r--src/x11/va_nvctrl.c9
6 files changed, 16 insertions, 25 deletions
diff --git a/Makefile.am b/Makefile.am
index f2defab..07385e6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,17 +30,12 @@ if BUILD_I965_DRIVER
SUBDIRS += i965_drv_video
endif
-pcfiles = \
- libva.pc \
- libva-$(LIBVA_DISPLAY).pc
-
-# libva-<display>.pc - for display-specific dependencies
-libva-$(LIBVA_DISPLAY).pc: libva_display.pc
- @cp $< $@
+pcfiles = libva.pc
+pcfiles += libva-x11.pc
pkgconfigdir = @pkgconfigdir@
pkgconfig_DATA = $(pcfiles)
-EXTRA_DIST = libva.pc.in libva_display.pc.in
+EXTRA_DIST = libva.pc.in libva-x11.pc.in
CLEANFILES = $(pcfiles)
diff --git a/configure.ac b/configure.ac
index b37a438..c3aba90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,9 +28,6 @@ m4_define([libva_micro_version], [0])
m4_define([libva_version],
[libva_major_version.libva_minor_version.libva_micro_version])
-# increase this number for each API change
-m4_define([libva_sds_version], [2])
-
# if the library source code has changed, increment revision
m4_define([libva_lt_revision], [0])
# if any interface was added/removed/changed, then inc current, reset revision
@@ -55,9 +52,6 @@ AC_SUBST(LIBVA_MINOR_VERSION)
AC_SUBST(LIBVA_MICRO_VERSION)
AC_SUBST(LIBVA_VERSION)
-LIBVA_SDS_VERSION=libva_sds_version
-AC_SUBST(LIBVA_SDS_VERSION)
-
LIBVA_LT_CURRENT=libva_lt_current
LIBVA_LT_REV=libva_lt_revision
LIBVA_LT_AGE=libva_lt_age
@@ -119,7 +113,6 @@ libvacorelib=libva.la
libvabackendlib=libva-$LIBVA_DISPLAY.la
AC_SUBST([libvacorelib])
AC_SUBST([libvabackendlib])
-AC_SUBST(LIBVA_DISPLAY)
AC_OUTPUT([
Makefile
@@ -134,6 +127,6 @@ AC_OUTPUT([
i965_drv_video/shaders/render/Makefile
test/Makefile
libva.pc
- libva_display.pc
+ libva-x11.pc
])
diff --git a/libva_display.pc.in b/libva-x11.pc.in
index c9c5cd6..75e4f0b 100644
--- a/libva_display.pc.in
+++ b/libva-x11.pc.in
@@ -2,7 +2,7 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
-display=@LIBVA_DISPLAY@
+display=x11
Name: libva-${display}
Description: Userspace Video Acceleration (VA) ${display} interface
diff --git a/src/Makefile.am b/src/Makefile.am
index 3849e8f..2f4210a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -39,7 +39,7 @@ libva_la_LIBADD = $(LIBVA_LIBS) -ldl
libva_x11_la_SOURCES =
libva_x11_la_LIBADD = $(libvacorelib) x11/libva_x11.la $(LIBVA_LIBS) $(X11_LIBS) $(XEXT_LIBS) $(DRM_LIBS) $(XFIXES_LIBS)
libva_x11_la_LDFLAGS = $(LDADD)
-libva_x11_la_DEPENDENCIES = $(libvacorelib)
+libva_x11_la_DEPENDENCIES = $(libvacorelib) x11/libva_x11.la
SUBDIRS = x11
diff --git a/src/va.c b/src/va.c
index 9a34534..2eaa966 100644
--- a/src/va.c
+++ b/src/va.c
@@ -40,7 +40,6 @@
#define DRIVER_INIT_FUNC "__vaDriverInit_0_31"
-#define DRIVER_INIT_FUNC_SDS "__vaDriverInit_0_31_sds"
#define DRIVER_EXTENSION "_drv_video.so"
@@ -171,11 +170,6 @@ static VAStatus va_openDriver(VADisplay dpy, char *driver_name)
init_func = (VADriverInit) dlsym(handle, DRIVER_INIT_FUNC);
if (!init_func)
{
- /* Then try SDS extensions (VDPAU and XvBA backends) */
- init_func = (VADriverInit) dlsym(handle, DRIVER_INIT_FUNC_SDS);
- }
- if (!init_func)
- {
va_errorMessage("%s has no function %s\n", driver_path, DRIVER_INIT_FUNC);
dlclose(handle);
}
@@ -317,6 +311,8 @@ const char *vaErrorStr(VAStatus error_status)
return "invalid parameter";
case VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED:
return "resolution not supported";
+ case VA_STATUS_ERROR_UNIMPLEMENTED:
+ return "the requested function is not implemented";
case VA_STATUS_ERROR_UNKNOWN:
return "unknown libva error";
}
diff --git a/src/x11/va_nvctrl.c b/src/x11/va_nvctrl.c
index 46fcca5..b14db47 100644
--- a/src/x11/va_nvctrl.c
+++ b/src/x11/va_nvctrl.c
@@ -377,9 +377,16 @@ Bool VA_NVCTRLGetClientDriverName( Display *dpy, int screen,
*ddxDriverMajorVersion = v;
if (*(str = end) == '.') {
v = strtoul(str + 1, &end, 10);
- if (end && end != str && *end == '\0') {
+ if (end && end != str && (*end == '.' || *end == '\0')) {
if (ddxDriverMinorVersion)
*ddxDriverMinorVersion = v;
+ if (*(str = end) == '.') {
+ v = strtoul(str + 1, &end, 10);
+ if (end && end != str && *end == '\0') {
+ if (ddxDriverPatchVersion)
+ *ddxDriverPatchVersion = v;
+ }
+ }
}
}
}