X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fr300%2Fr300_flush.c;h=2266b48c948511536dd34afb2a1e1989ac08b73e;hb=f903da7335433ae243cf7ff59662be1a03ee9a14;hp=ad06ef416a1615961673cdc7be46a902a3a1f95c;hpb=34f4bd81906d8385eb3e9af721d50e985cb9d7d4;p=mesa.git diff --git a/src/gallium/drivers/r300/r300_flush.c b/src/gallium/drivers/r300/r300_flush.c index ad06ef416a1..2266b48c948 100644 --- a/src/gallium/drivers/r300/r300_flush.c +++ b/src/gallium/drivers/r300/r300_flush.c @@ -59,6 +59,7 @@ static void r300_flush_and_cleanup(struct r300_context *r300, unsigned flags) if (!r300->screen->caps.has_tcl) { r300->vs_state.dirty = FALSE; r300->vs_constants.dirty = FALSE; + r300->clip_state.dirty = FALSE; } } @@ -72,6 +73,10 @@ void r300_flush(struct pipe_context *pipe, if (r300->draw && !r300->draw_vbo_locked) r300_draw_flush_vbuf(r300); + if (r300->screen->info.drm_minor >= 12) { + flags |= RADEON_FLUSH_KEEP_TILING_FLAGS; + } + if (rfence) { /* Create a fence, which is a dummy BO. */ *rfence = r300->rws->buffer_create(r300->rws, 1, 1, @@ -80,7 +85,7 @@ void r300_flush(struct pipe_context *pipe, /* Add the fence as a dummy relocation. */ r300->rws->cs_add_reloc(r300->cs, r300->rws->buffer_get_cs_handle(*rfence), - RADEON_DOMAIN_GTT, RADEON_DOMAIN_GTT); + RADEON_USAGE_READWRITE, RADEON_DOMAIN_GTT); } if (r300->dirty_hw) {