diff options
author | Eric Anholt <eric@anholt.net> | 2006-10-26 15:47:49 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2006-10-26 15:47:49 -0700 |
commit | 25e6e497824a23eb231fc6fd6e483f601d612cee (patch) | |
tree | 85f317aff96c3ac817932fc70313c1c8ac01f4ce /src/i830_dri.c | |
parent | 0bdcce2e4541c6e441c44aad49254ad3093cedb2 (diff) |
Major cleanup of 3D invariant state, fixing hangs with rotation and render.exa
Now, the generic invariant state is always set while the X Server is active,
and happens automatically when the X Server grabs the DRI lock. More 3D state
is moved to the generic code.
Then, the 3D consumers (video, rotation, render) set last_3d to their enum
entry, and can update their own invariant state when another consumer was
active.
Diffstat (limited to 'src/i830_dri.c')
-rw-r--r-- | src/i830_dri.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/i830_dri.c b/src/i830_dri.c index 8a52750f..b844d334 100644 --- a/src/i830_dri.c +++ b/src/i830_dri.c @@ -1000,6 +1000,8 @@ I830DRISwapContext(ScreenPtr pScreen, DRISyncType syncType, if (I810_DEBUG & DEBUG_VERBOSE_DRI) ErrorF("i830DRISwapContext (in)\n"); + pI830->last_3d = LAST_3D_OTHER; + if (!pScrn->vtSema) return; pI830->LockHeld = 1; |