diff options
author | Brian Paul <[email protected]> | 2012-10-18 18:00:50 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2012-10-18 18:00:50 -0600 |
commit | 6551c4ea3cc21169696920c5f3d3fb0bb8d6e939 (patch) | |
tree | bd84d99fa20c24e72d36051bac304d8fcd8f9547 /src/mesa/state_tracker | |
parent | e5a9bf55231aa14f6ae831a5c47d7176cb6c230b (diff) |
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.
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 2 |
1 files changed, 2 insertions, 0 deletions
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 && |