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

Reply via email to