diff options
author | Keith Whitwell <[email protected]> | 2009-09-22 12:35:56 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2009-09-22 12:35:56 +0100 |
commit | 6a09c9d2d891a7118bc7c07d03900d69154116ba (patch) | |
tree | d0967cbb111487e5fdedef36e296365ae2b8f08b /progs/perf | |
parent | 89f2799daca94ffb46d7b305df92d0c1876ad83d (diff) |
progs/perf: make teximage results easier to read, more reproducible
Always run the same tests on different drivers, give zero results
where test image is too big for driver.
Add a newline between groups of tests.
Diffstat (limited to 'progs/perf')
-rw-r--r-- | progs/perf/teximage.c | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/progs/perf/teximage.c b/progs/perf/teximage.c index 9e032ad0c9b..462117615a8 100644 --- a/progs/perf/teximage.c +++ b/progs/perf/teximage.c @@ -181,34 +181,44 @@ PerfDraw(void) /* loop over glTexImage, glTexSubImage */ for (subImage = 0; subImage < 2; subImage++) { - /* loop over texture sizes */ - for (TexSize = 16; TexSize <= maxSize; TexSize *= 4) { - GLint bytesPerImage; + /* loop over a defined range of texture sizes, test only the + * ones which are legal for this driver. + */ + for (TexSize = 16; TexSize <= 4096; TexSize *= 4) { double mbPerSec; - bytesPerImage = TexSize * TexSize * 4; - TexImage = malloc(bytesPerImage); - - if (subImage) { - /* create initial, empty texture */ - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, - TexSize, TexSize, 0, - TexSrcFormat, TexSrcType, NULL); - rate = PerfMeasureRate(UploadTexSubImage2D); + if (TexSize <= maxSize) { + GLint bytesPerImage; + + bytesPerImage = TexSize * TexSize * 4; + TexImage = malloc(bytesPerImage); + + if (subImage) { + /* create initial, empty texture */ + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, + TexSize, TexSize, 0, + TexSrcFormat, TexSrcType, NULL); + rate = PerfMeasureRate(UploadTexSubImage2D); + } + else { + rate = PerfMeasureRate(UploadTexImage2D); + } + + mbPerSec = rate * bytesPerImage / (1024.0 * 1024.0); + free(TexImage); } else { - rate = PerfMeasureRate(UploadTexImage2D); + rate = 0; + mbPerSec = 0; } - mbPerSec = rate * bytesPerImage / (1024.0 * 1024.0); - perf_printf(" glTex%sImage2D(%s %d x %d): " "%.1f images/sec, %.1f MB/sec\n", (subImage ? "Sub" : ""), SrcFormats[fmt].name, TexSize, TexSize, rate, mbPerSec); - - free(TexImage); } + + perf_printf("\n"); } } |