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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev