[Piglit] [PATCH] fbo-maxsize: Try to avoid allocating miplevels.
Kenneth Graunke
kenneth at whitecape.org
Sat Dec 10 19:32:16 UTC 2016
A 16384x16384 RGBA8888 buffer takes 1GB of RAM. If the driver allocates
mipmap levels, that increases our storage requirements to 1.5GB. The
test doesn't use mipmapping, so this seems like a waste.
Disabling mipmap filtering before allocating the texture provides a hint
to the driver, suggesting that it should only allocate space for the
base level. Most Mesa drivers (Gallium and i965) follow this practice.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
tests/fbo/fbo-maxsize.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/fbo/fbo-maxsize.c b/tests/fbo/fbo-maxsize.c
index 64dcd99..cec6716 100644
--- a/tests/fbo/fbo-maxsize.c
+++ b/tests/fbo/fbo-maxsize.c
@@ -107,6 +107,11 @@ static int create_fbo(void)
glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
+ /* Turn off mipmap filtering as a hint to the driver that we don't
+ * need multiple mipmap levels (as those can increase the memory
+ * requirements by 50%, and we don't need them in this test.
+ */
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, maxsize, maxsize,
0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
--
2.10.2
More information about the Piglit
mailing list