summaryrefslogtreecommitdiff
path: root/src/i830_video.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-08-17 15:57:31 -0700
committerEric Anholt <anholt@FreeBSD.org>2006-08-17 15:58:29 -0700
commit43daaec63929c1f0e54a5125375d8147629da4b9 (patch)
treea120c039763ef1c6d94b63db657255fb7d1225df /src/i830_video.c
parentcdcc6f23e8cad797e6cfd57e2ff454ec8509b5ba (diff)
Bug #7905: Mark DRI state as dirty in 965 textured video, fixing hangs with 3d.
Diffstat (limited to 'src/i830_video.c')
-rw-r--r--src/i830_video.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/i830_video.c b/src/i830_video.c
index 693c703f..7f6eb80d 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -2288,6 +2288,15 @@ BroadwaterDisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id,
*/
*pI830->used3D |= 1 << 30;
+#ifdef XF86DRI
+ /* Tell the DRI that we're smashing its state. */
+ if (pI830->directRenderingEnabled) {
+ drmI830Sarea *pSAREAPriv = DRIGetSAREAPrivate(pScrn->pScreen);
+
+ pSAREAPriv->ctxOwner = DRIGetContext(pScrn->pScreen);
+ }
+#endif /* XF86DRI */
+
next_offset = 0;
/* Set up our layout of state in framebuffer. First the general state: */