summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am2
-rw-r--r--src/va.c8
-rw-r--r--src/x11/va_nvctrl.c9
3 files changed, 11 insertions, 8 deletions
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;
+ }
+ }
}
}
}