summaryrefslogtreecommitdiff
path: root/src
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:39:53 +0200
commit0900544fb54cbc2127b8729393c9c1308cd218f9 (patch)
tree80c4c4e8cba5f2fb3e2b91890d341235a28b3274 /src
parent1968d8f31d0ac83557c9366dea39b15e92bb1516 (diff)
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.
Diffstat (limited to 'src')
-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 2f2b8d94dc..382ae0daa4 100644
--- a/src/mesa/drivers/dri/r200/r200_cmdbuf.c
+++ b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
@@ -189,7 +189,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 );
}