Will Dyson wrote:
On Fri, May 28, 2010 at 1:57 PM, Brian Paul <[email protected]> wrote:
@@ -2400,6 +2400,9 @@ _mesa_meta_GenerateMipmap(GLcontext *ctx, GLenum
target,
break;
}
+ /* Set MaxLevel large enough to hold the new level when we
allocate it */
+ _mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, dstLevel);
+
/* Create empty dest image */
if (target == GL_TEXTURE_1D) {
_mesa_TexImage1D(target, dstLevel, srcImage->InternalFormat,
I'm not sure I understand what's going on here. The dstLevel should already
be <= the texture max level. See the loop at line 2376. If you step into
the new _mesa_TexParameteri() call with gdb, are you seeing dstLevel >
texObj->MaxLevel?
Yes, I am. After the first time through the loop, texObj->MaxLevel
remains set to the srcLevel of the previous iteration.
Ah, right.
Still, the glTexImage() call should not be effected by the value of
GL_TEXTURE_MAX_LEVEL. I think there's a bug in the driver which this
patch is just working around.
I wouldn't be suprised to find a GL app which calls
glTexImage2D(level=X) when GL_TEXTURE_MAX_LEVEL < X. Can you look
into fixing the issue in the driver? Other drivers seem OK in this
regard.
-Brian
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev