summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli Nieminen <suokkos@gmail.com>2010-03-21 22:55:13 +0200
committerPauli Nieminen <suokkos@gmail.com>2010-03-21 23:30:23 +0200
commit7e24ce2d9b0aa3ca19449b9ace56e89c25bc0f76 (patch)
tree411a5add440ddb5c847a583a6974ef4243ae4cf1
parent2ae754b7b97c56709a7f12f017bf846a9e1456aa (diff)
downloadmesa-7e24ce2d9b0aa3ca19449b9ace56e89c25bc0f76.tar.gz
r200: Don't flush when closing elts in KMS.
Flush in middle of rendering in KMS is not allowed because buffers are discarded in flush. Fixes crash when emiting split indices with RADEON_DEBUG=all.
-rw-r--r--src/mesa/drivers/dri/r200/r200_cmdbuf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_cmdbuf.c b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
index d5453634e9f..39748a22887 100644
--- a/src/mesa/drivers/dri/r200/r200_cmdbuf.c
+++ b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
@@ -193,7 +193,8 @@ void r200FlushElts(GLcontext *ctx)
if (R200_ELT_BUF_SZ > elt_used)
radeonReturnDmaRegion(&rmesa->radeon, R200_ELT_BUF_SZ - elt_used);
- if (radeon_is_debug_enabled(RADEON_SYNC, RADEON_CRITICAL)) {
+ if (radeon_is_debug_enabled(RADEON_SYNC, RADEON_CRITICAL)
+ && !rmesa->radeon.radeonScreen->kernel_mm) {
radeon_print(RADEON_SYNC, RADEON_NORMAL, "%s: Syncing\n", __FUNCTION__);
radeonFinish( rmesa->radeon.glCtx );
}