summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_texture.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2008-05-01 17:31:39 +0100
committerMichel Dänzer <michel@tungstengraphics.com>2008-05-01 17:39:33 +0100
commitde7277f81a0f4330f11ec429bf46e93d0a748dfe (patch)
tree2fa1d3b38cdb86fc4ef8428ef9b551425c7d5514 /src/mesa/state_tracker/st_cb_texture.c
parentf1f52a8be98efa26c7c9bc480a2483fc2106d654 (diff)
gallium: Set sampler->min_lod instead of always reallocating pipe_textures.
Diffstat (limited to 'src/mesa/state_tracker/st_cb_texture.c')
-rw-r--r--src/mesa/state_tracker/st_cb_texture.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index 981246221b..5fd192a8b8 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1342,8 +1342,6 @@ static void
calculate_first_last_level(struct st_texture_object *stObj)
{
struct gl_texture_object *tObj = &stObj->base;
- const struct gl_texture_image *const baseImage =
- tObj->Image[0][tObj->BaseLevel];
/* These must be signed values. MinLod and MaxLod can be negative numbers,
* and having firstLevel and lastLevel as signed prevents the need for
@@ -1366,7 +1364,7 @@ calculate_first_last_level(struct st_texture_object *stObj)
}
else {
firstLevel = 0;
- lastLevel = MIN2(tObj->MaxLevel - tObj->BaseLevel, baseImage->MaxLog2);
+ lastLevel = MIN2(tObj->MaxLevel, tObj->Image[0][0]->WidthLog2);
}
break;
case GL_TEXTURE_RECTANGLE_NV:
@@ -1489,10 +1487,7 @@ st_finalize_texture(GLcontext *ctx,
(stObj->pt->target != gl_target_to_pipe(stObj->base.Target) ||
stObj->pt->format !=
st_mesa_format_to_pipe_format(firstImage->base.TexFormat->MesaFormat) ||
- stObj->pt->last_level != stObj->lastLevel ||
- stObj->pt->width[0] != firstImage->base.Width2 ||
- stObj->pt->height[0] != firstImage->base.Height2 ||
- stObj->pt->depth[0] != firstImage->base.Depth2 ||
+ stObj->pt->last_level < stObj->lastLevel ||
stObj->pt->cpp != cpp ||
stObj->pt->compressed != firstImage->base.IsCompressed)) {
pipe_texture_release(&stObj->pt);