diff --git a/src/mesa/main/scissor.c b/src/mesa/main/scissor.c index b5abb64573f..b1e26962246 100644 --- a/src/mesa/main/scissor.c +++ b/src/mesa/main/scissor.c @@ -51,6 +51,12 @@ set_scissor_no_notify(struct gl_context *ctx, unsigned idx, height == ctx->Scissor.ScissorArray[idx].Height) return; + /* Flush bitmap cache if needed */ + struct st_context *st_ctx = st_context(ctx); + if (st_ctx && st_ctx->bitmap.cache.empty == GL_FALSE && idx == 0) { + st_flush_bitmap_cache(st_ctx); + } + FLUSH_VERTICES(ctx, 0, GL_SCISSOR_BIT); ST_SET_STATE(ctx->NewDriverState, ST_NEW_SCISSOR);