summaryrefslogtreecommitdiff
path: root/src/i915_video.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-06-04 16:37:53 -0700
committerEric Anholt <eric@anholt.net>2007-06-12 10:04:39 -0700
commitceb6dd72443c094212b0281c42cbe92e9a29f682 (patch)
treea20d599276c0964cfd84c50d6d8b04adfbad54ba /src/i915_video.c
parentc2b130354aecffbeb2a2d23c7371461feaf5766a (diff)
Fix context switching between DRI and X.
Now, all 3D pipeline consumers in the driver just call IntelEmitInvariantState(), which handles basic state setup, the caching of that state setup, and notifying DRI clients. This also removes a mistaken idle wait in the Render code which was papering over the brokenness in the context switching.
Diffstat (limited to 'src/i915_video.c')
-rw-r--r--src/i915_video.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/i915_video.c b/src/i915_video.c
index e4e0f1a4..d02f770a 100644
--- a/src/i915_video.c
+++ b/src/i915_video.c
@@ -75,13 +75,8 @@ I915DisplayVideoTextured(ScrnInfoPtr pScrn, I830PortPrivPtr pPriv, int id,
break;
}
- /* Tell the rotation code that we have stomped its invariant state by
- * setting a high bit. We don't use any invariant 3D state for video, so we
- * don't have to worry about it ourselves.
- */
- *pI830->used3D |= 1 << 30;
-
- pI830->last_3d = LAST_3D_VIDEO;
+ IntelEmitInvarientState(pScrn);
+ *pI830->last_3d = LAST_3D_VIDEO;
BEGIN_LP_RING(20);