gallium/ddebug: regularly log the total number of draw calls
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Tue, 8 Dec 2015 22:56:23 +0000 (17:56 -0500)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Sat, 12 Dec 2015 20:23:50 +0000 (15:23 -0500)
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.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/ddebug/dd_draw.c

index 0778099d4fdaed9ef1f44db4169008d087a02c1f..0d7ee9a168602d2de686a04ca0bd5f51bb9f0de2 100644 (file)
@@ -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