diff options
author | Maciej Cencora <[email protected]> | 2009-11-11 13:06:19 +0100 |
---|---|---|
committer | Maciej Cencora <[email protected]> | 2009-11-14 14:42:48 +0100 |
commit | 286bf89e5a1fc931dbf523ded861b809859485e2 (patch) | |
tree | b3669ddd0012d11c04528f50de2c21a77acae385 | |
parent | f6d0993212fac0eb67827716be1ab4a292c8b4e5 (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.c | 3 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_common.c | 4 |
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); } } |