diff options
author | Eric Anholt <eric@anholt.net> | 2009-01-15 09:31:55 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-01-15 09:31:55 -0800 |
commit | cab5b7a7b0e17414f98b2363b0961c87f32f9c05 (patch) | |
tree | 05b962ba642649a9a65f49d5fca343054a003d95 /src/i830_batchbuffer.c | |
parent | 9f306193c4b128ec72c5b4db16d07302cee50ab5 (diff) |
Fix invarient state emits for DRI2 (do it per batch, since there's no lock).
Diffstat (limited to 'src/i830_batchbuffer.c')
-rw-r--r-- | src/i830_batchbuffer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/i830_batchbuffer.c b/src/i830_batchbuffer.c index b1c8a8de..220dda76 100644 --- a/src/i830_batchbuffer.c +++ b/src/i830_batchbuffer.c @@ -117,6 +117,12 @@ intel_next_batch(ScrnInfoPtr pScrn) pI830->batch_used = 0; pI830->batch_ptr = pI830->batch_bo->virtual; + + /* If we are using DRI2, we don't know when another client has executed, + * so we have to reinitialize our 3D state per batch. + */ + if (pI830->directRenderingType == DRI2) + *pI830->last_3d = LAST_3D_OTHER; } void |