summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-10-01 13:34:49 -0600
committerBrian Paul <brianp@vmware.com>2009-10-01 13:34:49 -0600
commit495628bc5c3879ee759f9a1bc7e2abc720df75a9 (patch)
tree89fbf6d4ccc75b525101ea3c9ef43b4bc59513df
parent18883cdf2334511005973155fc517eb678dc0043 (diff)
st/mesa: fix non-mipmap lastLevel calculation.
reviewed by Brian Paul. (cherry picked from master, commit ae2daacbac7242938cffe0e2409071e030e00863)
-rw-r--r--src/mesa/state_tracker/st_cb_texture.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index b13e3774c8..50675b5896 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1775,7 +1775,11 @@ st_finalize_texture(GLcontext *ctx,
* incomplete. In that case, we'll have set stObj->lastLevel before
* we get here.
*/
- stObj->lastLevel = stObj->base._MaxLevel - stObj->base.BaseLevel;
+ if (stObj->base.MinFilter == GL_LINEAR ||
+ stObj->base.MinFilter == GL_NEAREST)
+ stObj->lastLevel = stObj->base.BaseLevel;
+ else
+ stObj->lastLevel = stObj->base._MaxLevel - stObj->base.BaseLevel;
}
firstImage = st_texture_image(stObj->base.Image[0][stObj->base.BaseLevel]);