Mesa (master): meta: Actually initialize ImmutableLevels to 1.
Kenneth Graunke
kwg at kemper.freedesktop.org
Mon Jul 17 08:38:03 UTC 2017
Module: Mesa
Branch: master
Commit: 32c79cdaccec9aaa97528c6a51312bcc9078eb35
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=32c79cdaccec9aaa97528c6a51312bcc9078eb35
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Jul 13 20:43:57 2017 -0700
meta: Actually initialize ImmutableLevels to 1.
Otherwise, ImmutableLevels is 0, which is an illegal value. Later,
_mesa_meta_setup_sampler will use _mesa_texture_parameteriv to set
texObj->MaxLevel = CLAMP(params[0], texObj->BaseLevel,
texObj->ImmutableLevels - 1);
which turns into a completely bogus CLAMP(value, 0, -1)...where the
upper bound is smaller than the lower bound. This ends up being -1
today due to the way CLAMP is implemented, which is a bogus MaxLevel.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/drivers/common/meta_tex_subimage.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/common/meta_tex_subimage.c b/src/mesa/drivers/common/meta_tex_subimage.c
index b8c422bfb7..e0284a3f07 100644
--- a/src/mesa/drivers/common/meta_tex_subimage.c
+++ b/src/mesa/drivers/common/meta_tex_subimage.c
@@ -136,6 +136,7 @@ create_texture_for_pbo(struct gl_context *ctx,
_mesa_initialize_texture_object(ctx, tex_obj, *tmp_tex, GL_TEXTURE_2D);
/* This must be set after _mesa_initialize_texture_object, not before. */
tex_obj->Immutable = GL_TRUE;
+ tex_obj->ImmutableLevels = 1;
/* This is required for interactions with ARB_texture_view. */
tex_obj->NumLayers = 1;
More information about the mesa-commit
mailing list