[Mesa-dev] [PATCH] mesa: clamp MaxLevel for immutable textures at initialization
Nicolai Hähnle
nhaehnle at gmail.com
Thu Oct 22 04:54:03 PDT 2015
The same clamping already happens for glTexParameteri. This change
also fixes a bug in mipmap generation, see
https://bugs.freedesktop.org/show_bug.cgi?id=91993
piglit test cases have been submitted for review (as additions to
arb_texture_storage-texture-storage and arb_texture_view-max-level).
---
src/mesa/main/textureview.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/mesa/main/textureview.c b/src/mesa/main/textureview.c
index 04b7d73..b6eaa77 100644
--- a/src/mesa/main/textureview.c
+++ b/src/mesa/main/textureview.c
@@ -408,6 +408,8 @@ _mesa_set_texture_view_state(struct gl_context *ctx,
texObj->NumLayers = 6;
break;
}
+
+ texObj->MaxLevel = MIN2(texObj->MaxLevel, texObj->ImmutableLevels - 1);
}
/**
@@ -680,6 +682,7 @@ _mesa_TextureView(GLuint texture, GLenum target, GLuint origtexture,
texObj->NumLayers = newViewNumLayers;
texObj->Immutable = GL_TRUE;
texObj->ImmutableLevels = origTexObj->ImmutableLevels;
+ texObj->MaxLevel = MIN2(texObj->MaxLevel, texObj->ImmutableLevels - 1);
texObj->Target = target;
texObj->TargetIndex = _mesa_tex_target_to_index(ctx, target);
assert(texObj->TargetIndex < NUM_TEXTURE_TARGETS);
--
2.1.4
More information about the mesa-dev
mailing list