Mesa (master): freedreno: use bypass if only clears
Rob Clark
robclark at kemper.freedesktop.org
Sat May 13 17:27:35 UTC 2017
Module: Mesa
Branch: master
Commit: 3ab072d3c8643c66d8e07e63df970b792728bac6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ab072d3c8643c66d8e07e63df970b792728bac6
Author: Rob Clark <robdclark at gmail.com>
Date: Fri May 12 14:24:33 2017 -0400
freedreno: use bypass if only clears
Some things trigger batches that only contain a clear (like glmark2
startup). No point to use GMEM for this.
Signed-off-by: Rob Clark <robdclark at gmail.com>
---
src/gallium/drivers/freedreno/freedreno_gmem.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.c b/src/gallium/drivers/freedreno/freedreno_gmem.c
index d4b2e8d92f..310a0266c9 100644
--- a/src/gallium/drivers/freedreno/freedreno_gmem.c
+++ b/src/gallium/drivers/freedreno/freedreno_gmem.c
@@ -390,7 +390,10 @@ fd_gmem_render_tiles(struct fd_batch *batch)
bool sysmem = false;
if (ctx->emit_sysmem_prep) {
- if (batch->cleared || batch->gmem_reason || (batch->num_draws > 5)) {
+ if (batch->num_draws == 0) {
+ sysmem = true;
+ } else if (batch->cleared || batch->gmem_reason || (batch->num_draws > 5)) {
+ // TODO maybe consider # of draws w/ blend enabled, etc?
DBG("GMEM: cleared=%x, gmem_reason=%x, num_draws=%u",
batch->cleared, batch->gmem_reason, batch->num_draws);
} else if (!(fd_mesa_debug & FD_DBG_NOBYPASS)) {
More information about the mesa-commit
mailing list