From: Marek Olšák Date: Sun, 11 Jul 2010 21:56:22 +0000 (+0200) Subject: r300g: ugly fix of a hardlock in the cubestorm xscreensaver X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9cdd481f8ef65f3a66c422c548add3682d108db0;p=mesa.git r300g: ugly fix of a hardlock in the cubestorm xscreensaver FDO bug #28563. --- diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 2408a953538..3cc054788bc 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -133,6 +133,10 @@ static void r300_clear(struct pipe_context* pipe, fb->nr_cbufs, buffers, rgba, depth, stencil); r300_blitter_end(r300); + + /* XXX this flush "fixes" a hardlock in the cubestorm xscreensaver */ + if (r300->flush_counter == 0) + pipe->flush(pipe, 0, NULL); } /* Clear a region of a color surface to a constant value. */ diff --git a/src/gallium/drivers/r300/r300_flush.c b/src/gallium/drivers/r300/r300_flush.c index ba840bfff81..2ebf1c814b4 100644 --- a/src/gallium/drivers/r300/r300_flush.c +++ b/src/gallium/drivers/r300/r300_flush.c @@ -50,9 +50,7 @@ static void r300_flush(struct pipe_context* pipe, if (r300->dirty_hw) { r300_emit_query_end(r300); - if (SCREEN_DBG_ON(r300->screen, DBG_STATS)) { - r300->flush_counter++; - } + r300->flush_counter++; r300->rws->flush_cs(r300->rws); r300->dirty_hw = 0;