xf86-video-intel: Branch 'xvmc' - 2 commits - src/i830_hwmc.c src/i830_hwmc.h src/xvmc/i915_xvmc.c src/xvmc/intel_xvmc.c src/xvmc/xf86dri.c
Zhenyu Wang
zhen at kemper.freedesktop.org
Tue Jan 1 22:17:08 PST 2008
src/i830_hwmc.c | 5 +++++
src/i830_hwmc.h | 5 +++++
src/xvmc/i915_xvmc.c | 2 +-
src/xvmc/intel_xvmc.c | 4 +++-
src/xvmc/xf86dri.c | 17 ++++++++++-------
5 files changed, 24 insertions(+), 9 deletions(-)
New commits:
commit a03aca101d4d51ed2279a99d1137ce3b7ef364e2
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date: Wed Jan 2 14:11:31 2008 +0800
xvmc: setup driver info for XvMCGetDRInfo request
User don't need to have XvMCConfig file then, if ld.so can
find libIntelXvMC.so in ld path.
diff --git a/src/i830_hwmc.c b/src/i830_hwmc.c
index acb89e6..7586ff7 100644
--- a/src/i830_hwmc.c
+++ b/src/i830_hwmc.c
@@ -96,6 +96,7 @@ Bool intel_xvmc_screen_init(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
I830Ptr pI830 = I830PTR(pScrn);
+ DRIInfoPtr pDRIInfo = pI830->pDRIInfo;
if (!xvmc_driver)
return FALSE;
@@ -111,6 +112,10 @@ Bool intel_xvmc_screen_init(ScreenPtr pScreen)
"[XvMC] Failed to initialize XvMC.\n");
return FALSE;
}
+
+ xf86XvMCRegisterDRInfo(pScreen, INTEL_XVMC_LIBNAME,
+ pDRIInfo->busIdString,
+ INTEL_XVMC_MAJOR, INTEL_XVMC_MINOR, INTEL_XVMC_PATCHLEVEL);
return TRUE;
}
diff --git a/src/i830_hwmc.h b/src/i830_hwmc.h
index 3464d01..6920e01 100644
--- a/src/i830_hwmc.h
+++ b/src/i830_hwmc.h
@@ -27,6 +27,11 @@
#ifndef I830_HWMC_H
#define I830_HWMC_H
+#define INTEL_XVMC_LIBNAME "IntelXvMC"
+#define INTEL_XVMC_MAJOR 0
+#define INTEL_XVMC_MINOR 1
+#define INTEL_XVMC_PATCHLEVEL 0
+
#define FOURCC_XVMC (('C' << 24) + ('M' << 16) + ('V' << 8) + 'X')
/*
commit 0fd769b5882058e5ebf17ee1c1e35b4a3d46e6b0
Author: Zhenyu Wang <zhenyu.z.wang at intel.com>
Date: Wed Jan 2 13:57:23 2008 +0800
xvmc: add context id info in debug/trace
diff --git a/src/xvmc/i915_xvmc.c b/src/xvmc/i915_xvmc.c
index 10b60ce..d27384d 100644
--- a/src/xvmc/i915_xvmc.c
+++ b/src/xvmc/i915_xvmc.c
@@ -1629,7 +1629,7 @@ static Status i915_xvmc_mc_create_context(Display *display, XvMCContext *context
int isCapable;
int screen = DefaultScreen(display);
- XVMC_DBG("i915_xvmc_mc_create_context\n");
+ XVMC_DBG("%s\n", __FUNCTION__);
if (priv_count != (sizeof(I915XvMCCreateContextRec) >> 2)) {
XVMC_ERR("_xvmc_create_context() returned incorrect data size!");
diff --git a/src/xvmc/intel_xvmc.c b/src/xvmc/intel_xvmc.c
index b4a34fc..91a050f 100644
--- a/src/xvmc/intel_xvmc.c
+++ b/src/xvmc/intel_xvmc.c
@@ -250,6 +250,7 @@ Status XvMCCreateContext(Display *display, XvPortID port,
XVMC_ERR("Unable to create XvMC Context.");
return ret;
}
+ XVMC_DBG("new context %d created\n", context->context_id);
comm = (struct _intel_xvmc_common *)priv_data;
@@ -339,7 +340,8 @@ Status XvMCCreateContext(Display *display, XvPortID port,
if (!uniDRICreateContext(display, screen, NULL,
context->context_id,
&intel_ctx->hw_context)) {
- XVMC_ERR("Could not create DRI context.");
+ XVMC_ERR("Could not create DRI context for xvmc ctx %d.",
+ context->context_id);
XFree(priv_data);
context->privData = NULL;
drmUnmap(xvmc_driver->sarea_address, xvmc_driver->sarea_size);
diff --git a/src/xvmc/xf86dri.c b/src/xvmc/xf86dri.c
index 2b60348..97022e4 100644
--- a/src/xvmc/xf86dri.c
+++ b/src/xvmc/xf86dri.c
@@ -84,9 +84,9 @@ XEXT_GENERATE_FIND_DISPLAY(find_display, xf86dri_info,
*****************************************************************************/
#if 0
#include <stdio.h>
-#define TRACE(msg) fprintf(stderr,"uniDRI%s\n", msg);
+#define TRACE(msg, arg...) fprintf(stderr,"uniDRI" msg "\n", ##arg);
#else
-#define TRACE(msg)
+#define TRACE(msg, arg...)
#endif
Bool uniDRIQueryExtension(dpy, event_basep, error_basep)
Display *dpy;
@@ -135,7 +135,8 @@ uniDRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion)
*patchVersion = rep.patchVersion;
UnlockDisplay(dpy);
SyncHandle();
- TRACE("QueryVersion... return True");
+ TRACE("QueryVersion... %d.%d.%d return True", rep.majorVersion,
+ rep.minorVersion, rep.patchVersion);
return True;
}
@@ -166,7 +167,8 @@ uniDRIQueryDirectRenderingCapable(dpy, screen, isCapable)
*isCapable = rep.isCapable;
UnlockDisplay(dpy);
SyncHandle();
- TRACE("QueryDirectRenderingCapable... return True");
+ TRACE("QueryDirectRenderingCapable... %s return True",
+ rep.isCapable ? "true" : "false");
return True;
}
@@ -216,7 +218,8 @@ uniDRIOpenConnection(dpy, screen, hSAREA, busIdString)
}
UnlockDisplay(dpy);
SyncHandle();
- TRACE("OpenConnection... return True");
+ TRACE("OpenConnection... busid %s return True",
+ *busIdString ? *busIdString : "null");
return True;
}
@@ -339,7 +342,7 @@ uniDRICreateContextWithConfig(dpy, screen, configID, context, hHWContext)
xXF86DRICreateContextReply rep;
xXF86DRICreateContextReq *req;
- TRACE("CreateContext...");
+ TRACE("CreateContext... id %d", context);
uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
@@ -382,7 +385,7 @@ uniDRIDestroyContext(Display * ndpy, int screen, XID context)
XExtDisplayInfo *info = find_display(dpy);
xXF86DRIDestroyContextReq *req;
- TRACE("DestroyContext...");
+ TRACE("DestroyContext... id %d", context);
uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
More information about the xorg-commit
mailing list