summaryrefslogtreecommitdiff
path: root/src/i830_exa_render.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2006-10-26 15:47:49 -0700
committerEric Anholt <eric@anholt.net>2006-10-26 15:47:49 -0700
commit25e6e497824a23eb231fc6fd6e483f601d612cee (patch)
tree85f317aff96c3ac817932fc70313c1c8ac01f4ce /src/i830_exa_render.c
parent0bdcce2e4541c6e441c44aad49254ad3093cedb2 (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_exa_render.c')
-rw-r--r--src/i830_exa_render.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/i830_exa_render.c b/src/i830_exa_render.c
index 86e11d21..f63313f3 100644
--- a/src/i830_exa_render.c
+++ b/src/i830_exa_render.c
@@ -404,6 +404,8 @@ I830EXAPrepareComposite(int op, PicturePtr pSrcPicture,
dst_offset = exaGetPixmapOffset(pDst);
dst_pitch = exaGetPixmapPitch(pDst);
+ pI830->last_3d = LAST_3D_RENDER;
+
if (!I830TextureSetup(pSrcPicture, pSrc, 0))
I830FALLBACK("fail to setup src texture\n");
if (pMask != NULL) {