[Mesa-dev] [PATCH 2/2] gallium/ddebug: regularly log the total number of draw calls

Nicolai Hähnle nhaehnle at gmail.com
Wed Dec 9 17:11:08 PST 2015


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

This helps in the use of GALLIUM_DDEBUG_SKIP: first run a target application
with skip set to a very large number and note how many draw calls happen
before the bug. Then re-run, skipping the corresponding number of calls.
Despite the additional run, this can still be much faster than not skipping
anything.
---
 src/gallium/drivers/ddebug/dd_draw.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/drivers/ddebug/dd_draw.c b/src/gallium/drivers/ddebug/dd_draw.c
index 0778099..0d7ee9a 100644
--- a/src/gallium/drivers/ddebug/dd_draw.c
+++ b/src/gallium/drivers/ddebug/dd_draw.c
@@ -623,6 +623,9 @@ dd_after_draw(struct dd_context *dctx, struct dd_call *call)
    }
 
    ++dctx->num_draw_calls;
+   if (dscreen->skip_count && dctx->num_draw_calls % 10000 == 0)
+      fprintf(stderr, "Gallium debugger reached %u draw calls.\n",
+              dctx->num_draw_calls);
 }
 
 static void
-- 
2.5.0



More information about the mesa-dev mailing list