From 6551c4ea3cc21169696920c5f3d3fb0bb8d6e939 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 18 Oct 2012 18:00:50 -0600 Subject: [PATCH] st/mesa: improve the guess_and_alloc_texture() heuristic If GL_BASE_LEVEL==0 and GL_MAX_LEVEL==0 that's a pretty good hint that there'll be a single mipmap level in the texture. Google Earth sets the texture's state this way before the first glTexImage call. This saves a bit of texture memory. --- src/mesa/state_tracker/st_cb_texture.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 5bf3dc699b7..218c8d1e375 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -375,6 +375,8 @@ guess_and_alloc_texture(struct st_context *st, */ if ((stObj->base.Sampler.MinFilter == GL_NEAREST || stObj->base.Sampler.MinFilter == GL_LINEAR || + (stObj->base.BaseLevel == 0 && + stObj->base.MaxLevel == 0) || stImage->base._BaseFormat == GL_DEPTH_COMPONENT || stImage->base._BaseFormat == GL_DEPTH_STENCIL_EXT) && !stObj->base.GenerateMipmap && -- 2.30.2