summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gbeauchesne@splitted-desktop.com>2009-07-08 07:51:21 +0000
committerAustin Yuan <shengquan.yuan@intel.com>2009-07-08 17:42:05 +0800
commitb88e0895f0c4657e2e24fcfd4aa0078c2cb222a4 (patch)
tree99f694749e61d655789883ffcc8488e7d0e3c7b3
parentc00a20b3c19b90f7f9fbd4007e02ba4ce20e975b (diff)
downloadlibva-b88e0895f0c4657e2e24fcfd4aa0078c2cb222a4.tar.gz
Fix driver name retrieval for dri1 and dri2.
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
-rw-r--r--src/va.c15
-rw-r--r--src/va_backend.h2
-rw-r--r--src/x11/va_x11.c84
3 files changed, 6 insertions, 95 deletions
diff --git a/src/va.c b/src/va.c
index ce6961a..cbba8f8 100644
--- a/src/va.c
+++ b/src/va.c
@@ -116,21 +116,8 @@ static Bool va_checkString(const char* value, char *variable)
static VAStatus va_getDriverName(VADisplay dpy, char **driver_name)
{
VADisplayContextP pDisplayContext = (VADisplayContextP)dpy;
- VADriverContextP ctx = CTX(dpy);
- VAStatus ret;
- ret = pDisplayContext->vaGetDriverName(pDisplayContext, driver_name);
- if (ret == VA_STATUS_SUCCESS)
- {
- if (isDRI2Connected(ctx, driver_name))
- {
- ret = VA_STATUS_SUCCESS;
- } else if (isDRI1Connected(ctx, driver_name))
- {
- ret = VA_STATUS_SUCCESS;
- }
- }
- return ret;
+ return pDisplayContext->vaGetDriverName(pDisplayContext, driver_name);
}
static VAStatus va_openDriver(VADisplay dpy, char *driver_name)
diff --git a/src/va_backend.h b/src/va_backend.h
index 7dc2302..c49376a 100644
--- a/src/va_backend.h
+++ b/src/va_backend.h
@@ -414,7 +414,7 @@ struct VADriverContext
Display *x11_dpy;
int x11_screen;
- int dri2;
+ int old_dri2; /* obsolete */
int version_major;
int version_minor;
int max_profiles;
diff --git a/src/x11/va_x11.c b/src/x11/va_x11.c
index cfb88be..5e69d6b 100644
--- a/src/x11/va_x11.c
+++ b/src/x11/va_x11.c
@@ -104,34 +104,10 @@ static VAStatus va_DRI2GetDriverName (
)
{
VADriverContextP ctx = pDisplayContext->pDriverContext;
- VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
- int eventBase, errorBase;
- char *device_name;
- int driver_major;
- int driver_minor;
- int driver_patch;
- Bool result = True;
- if (!VA_DRI2QueryExtension(ctx->x11_dpy, &eventBase, &errorBase)) {
- va_infoMessage("DRI2 extension isn't present\n");
+ if (!isDRI2Connected(ctx, driver_name))
return VA_STATUS_ERROR_UNKNOWN;
- }
- if (!VA_DRI2QueryVersion(ctx->x11_dpy, &driver_major, &driver_minor)) {
- va_errorMessage("VA_DRI2QueryVersion failed\n");
- return VA_STATUS_ERROR_UNKNOWN;
- }
-
- if (!VA_DRI2Connect(ctx->x11_dpy, RootWindow(ctx->x11_dpy, ctx->x11_screen),
- driver_name, &device_name)) {
- va_infoMessage("DRI2 isn't enabled, fallback to DRI1\n");
- return VA_STATUS_ERROR_UNKNOWN;
- }
-
- va_infoMessage("VA_DRI2Connect: %d.%d.%d %s (screen %d)\n",
- driver_major, driver_minor, driver_patch, *driver_name, ctx->x11_screen);
- ctx->dri2 = 1;
-
return VA_STATUS_SUCCESS;
}
@@ -141,57 +117,11 @@ static VAStatus va_DRIGetDriverName (
)
{
VADriverContextP ctx = pDisplayContext->pDriverContext;
- VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
- int eventBase, errorBase;
- int direct_capable;
- int driver_major;
- int driver_minor;
- int driver_patch;
- Bool result = True;
- char *x_driver_name = NULL;
- if (!VA_DRIQueryExtension(ctx->x11_dpy, &eventBase, &errorBase)) {
- va_errorMessage("VA_DRIQueryExtension failed\n");
+ if (!isDRI1Connected(ctx, driver_name))
return VA_STATUS_ERROR_UNKNOWN;
- }
-
- if (result)
- {
- result = VA_DRIQueryDirectRenderingCapable(ctx->x11_dpy, ctx->x11_screen, &direct_capable);
- if (!result)
- {
- va_errorMessage("VA_DRIQueryDirectRenderingCapable failed\n");
- }
- }
- if (result)
- {
- result = direct_capable;
- if (!result)
- {
- va_errorMessage("VA_DRIQueryDirectRenderingCapable returned false\n");
- }
- }
- if (result)
- {
- result = VA_DRIGetClientDriverName(ctx->x11_dpy, ctx->x11_screen, &driver_major, &driver_minor,
- &driver_patch, &x_driver_name);
- if (!result)
- {
- va_errorMessage("VA_DRIGetClientDriverName returned false\n");
- }
- }
- if (result)
- {
- vaStatus = VA_STATUS_SUCCESS;
- va_infoMessage("VA_DRIGetClientDriverName: %d.%d.%d %s (screen %d)\n",
- driver_major, driver_minor, driver_patch, x_driver_name, ctx->x11_screen);
- if (driver_name)
- *driver_name = strdup(x_driver_name);
- }
- if (x_driver_name)
- XFree(x_driver_name);
- return vaStatus;
+ return VA_STATUS_SUCCESS;
}
static VAStatus va_DisplayContextGetDriverName (
@@ -199,13 +129,7 @@ static VAStatus va_DisplayContextGetDriverName (
char **driver_name
)
{
- VADriverContextP ctx = pDisplayContext->pDriverContext;
- VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
- int direct_capable;
- int driver_major;
- int driver_minor;
- int driver_patch;
- Bool result = True;
+ VAStatus vaStatus;
char *driver_name_env;
if (driver_name)