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 <kenn...@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 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit