summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaciej Cencora <[email protected]>2009-11-11 13:06:19 +0100
committerMaciej Cencora <[email protected]>2009-11-14 14:42:48 +0100
commit286bf89e5a1fc931dbf523ded861b809859485e2 (patch)
treeb3669ddd0012d11c04528f50de2c21a77acae385
parentf6d0993212fac0eb67827716be1ab4a292c8b4e5 (diff)
radeon/r300: no need to flush the cmdbuf when changing scissors state in KMM mode
-rw-r--r--src/mesa/drivers/dri/r300/r300_state.c3
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index ac20c08e201..1fd32d497b4 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -1741,7 +1741,8 @@ static void r300Enable(GLcontext * ctx, GLenum cap, GLboolean state)
r300SetPolygonOffsetState(ctx, state);
break;
case GL_SCISSOR_TEST:
- radeon_firevertices(&rmesa->radeon);
+ if (!rmesa->radeon.radeonScreen->kernel_mm)
+ radeon_firevertices(&rmesa->radeon);
rmesa->radeon.state.scissor.enabled = state;
radeonUpdateScissor( ctx );
break;
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 420dce4ac9f..cb344f1d21f 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -257,7 +257,9 @@ void radeonScissor(GLcontext* ctx, GLint x, GLint y, GLsizei w, GLsizei h)
radeonContextPtr radeon = RADEON_CONTEXT(ctx);
if (ctx->Scissor.Enabled) {
/* We don't pipeline cliprect changes */
- radeon_firevertices(radeon);
+ if (!radeon->radeonScreen->kernel_mm) {
+ radeon_firevertices(radeon);
+ }
radeonUpdateScissor(ctx);
}
}