Module: Mesa Branch: master Commit: ac6a5107e2c005a7f57249d1836c43d0e1f8f496 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac6a5107e2c005a7f57249d1836c43d0e1f8f496
Author: Keith Whitwell <[email protected]> Date: Tue Sep 22 11:01:53 2009 +0100 progs/perf: break up long runs of fullscreen quads Not all drivers cope gracefully with command-buffers with zillions of fullscreen quads. --- progs/perf/fill.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/progs/perf/fill.c b/progs/perf/fill.c index fb9fa24..279f2b5 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 _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
