diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/va.c | 8 | ||||
-rw-r--r-- | src/x11/va_nvctrl.c | 9 |
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 @@ -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; + } + } } } } |