From: Keith Whitwell Date: Tue, 22 Sep 2009 10:01:53 +0000 (+0100) Subject: progs/perf: break up long runs of fullscreen quads X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ac6a5107e2c005a7f57249d1836c43d0e1f8f496;p=mesa.git progs/perf: break up long runs of fullscreen quads Not all drivers cope gracefully with command-buffers with zillions of fullscreen quads. --- diff --git a/progs/perf/fill.c b/progs/perf/fill.c index fb9fa2453f6..279f2b5f189 100644 --- a/progs/perf/fill.c +++ b/progs/perf/fill.c @@ -169,14 +169,31 @@ static void DrawQuad(unsigned count) { unsigned i; + glClear(GL_COLOR_BUFFER_BIT); + for (i = 0; i < count; i++) { glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + + /* Avoid sending command buffers with huge numbers of fullscreen + * quads. Graphics schedulers don't always cope well with + * this... + */ + if (i % 128 == 0) { + PerfSwapBuffers(); + glClear(GL_COLOR_BUFFER_BIT); + } } + glFinish(); - if (0) + + if (1) PerfSwapBuffers(); } +void +PerfNextRound(void) +{ +} /** Called from test harness/main */ void