r600g,radeonsi: Consolidate logic for short-circuiting flushes
authorMichel Dänzer <michel.daenzer@amd.com>
Thu, 13 Feb 2014 02:51:09 +0000 (11:51 +0900)
committerMichel Daenzer <michel@daenzer.net>
Tue, 18 Feb 2014 01:46:23 +0000 (10:46 +0900)
commitcf0172d46ab940a691da6516057c81f28961482f
treead7d1487d75730537f9d8fdf8a085f076a9e77cb
parentadad8fb2e947e3ea9e9d84cb3722e46de91346e4
r600g,radeonsi: Consolidate logic for short-circuiting flushes

Fixes radeonsi emitting command streams to the kernel even when there
have been no draw calls before a flush, potentially powering up the GPU
needlessly.

Incidentally, this also cuts the runtime of piglit gpu.py in about half
on my Kaveri system, probably because an X11 client going away no longer
always results in a command stream being submitted to the kernel via
glamor.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65761
Cc: "10.1" mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/radeon/r600_buffer_common.c
src/gallium/drivers/radeon/r600_pipe_common.h
src/gallium/drivers/radeonsi/si_hw_context.c