diff options
author | Eric Anholt <eric@anholt.net> | 2008-06-06 14:01:05 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-06-10 11:37:03 -0700 |
commit | 6e94affcc2240e668bcf1aa41f3c8b19929d144b (patch) | |
tree | 51f93bbd35ca472d11fc83242a4c1d71ab230150 /src/i830_batchbuffer.c | |
parent | b2216e7bc2f1a35f9fc1794bad83208cd5c583d1 (diff) |
Avoid needless flush emits in the blockhandler.
The EmitFlush in i830_dri.c was added as a pageflipping workaround, and was
noted to not even be sufficient then. There's no reason for it to be there,
so it's removed. After that, we just have to not emit an MI_FLUSH if we
already had, and cursor movement no longer bashes memory manager.
Diffstat (limited to 'src/i830_batchbuffer.c')
-rw-r--r-- | src/i830_batchbuffer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/i830_batchbuffer.c b/src/i830_batchbuffer.c index 19d642d5..82758a2d 100644 --- a/src/i830_batchbuffer.c +++ b/src/i830_batchbuffer.c @@ -32,10 +32,12 @@ #include <assert.h> #include <stdlib.h> +#include <errno.h> #include "xf86.h" #include "i830.h" #include "i830_ring.h" +#include "i915_drm.h" static void intel_next_batch(ScrnInfoPtr pScrn) @@ -116,4 +118,10 @@ intel_batch_flush(ScrnInfoPtr pScrn) dri_bo_unreference(pI830->batch_bo); intel_next_batch(pScrn); + + /* Mark that we need to flush whatever potential rendering we've done in the + * blockhandler. We could set this less often, but it's probably not worth + * the work. + */ + pI830->need_mi_flush = TRUE; } |