[Piglit] [PATCH] fbo-maxsize: Try to avoid allocating miplevels.
mark.a.janes at intel.com
Sun Dec 11 01:07:56 UTC 2016
This patch allows the test to complete on a Braswell system with 1.5GB
memory. Without it, the OOM killer is dispatched.
Tested-by: Mark Janes <mark.a.janes at intel.com>
Kenneth Graunke <kenneth at whitecape.org> writes:
> 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);
More information about the Piglit