summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWang Zhenyu <zhenyu.z.wang@intel.com>2007-01-19 15:15:19 +0800
committerWang Zhenyu <zhenyu.z.wang@intel.com>2007-01-19 15:15:19 +0800
commit7161e824e89a6a69f1277e510f2344ad31721f62 (patch)
tree952928e0ffcc48eb3ecb541be668cfe10bd855a2
parent3094100cdd04560af1b098bbe8024ae5270a10f4 (diff)
Fix DRI issue when EXA enabled
tell DRI we are smashing the context state.
-rw-r--r--src/i965_exa_render.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/i965_exa_render.c b/src/i965_exa_render.c
index dc3d7bfe..572efd65 100644
--- a/src/i965_exa_render.c
+++ b/src/i965_exa_render.c
@@ -369,6 +369,16 @@ I965EXAPrepareComposite(int op, PicturePtr pSrcPicture,
CARD32 mask_offset = 0, mask_pitch = 0;
CARD32 dst_format, dst_offset, dst_pitch;
+#ifdef XF86DRI
+ if (pI830->directRenderingEnabled) {
+ drmI830Sarea *pSAREAPriv = DRIGetSAREAPrivate(pScrn->pScreen);
+
+ pSAREAPriv->ctxOwner = DRIGetContext(pScrn->pScreen);
+ }
+#endif
+
+ pI830->last_3d = LAST_3D_RENDER;
+
src_offset = exaGetPixmapOffset(pSrc);
src_pitch = exaGetPixmapPitch(pSrc);
dst_offset = exaGetPixmapOffset(pDst);