On 03/20/2012 01:05 AM, Eric Anholt wrote:
On Sun, 18 Mar 2012 10:49:28 -0600, Brian Paul<bri...@vmware.com>  wrote:
-    * Do mipmap consistency checking
+    * Do mipmap consistency checking.
+    * Note: we don't care about the current texture sampler state here.
+    * To determine texture completeness we'll either look at _BaseComplete
+    * or _MipmapComplete depending on the current minification filter mode.
      */
-   if (t->Sampler.MinFilter != GL_NEAREST&&  t->Sampler.MinFilter != 
GL_LINEAR) {
-      /*
-       * Mipmapping: determine if we have a complete set of mipmaps
-       */
+   {
        GLint i;
        const GLint minLevel = baseLevel;
        const GLint maxLevel = t->_MaxLevel;
        GLuint width, height, depth, face, numFaces = 1;

        if (minLevel>  maxLevel) {
-         incomplete(t, "minLevel>  maxLevel");
+         incomplete(t, 0, "minLevel>  maxLevel");
           return;
        }

s/0/BASE/ here?

Yes.


diff --git a/src/mesa/state_tracker/st_cb_texture.c 
b/src/mesa/state_tracker/st_cb_texture.c
index ea59ccf..f9c190a 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1243,7 +1243,7 @@ st_finalize_texture(struct gl_context *ctx,
     enum pipe_format firstImageFormat;
     GLuint ptWidth, ptHeight, ptDepth, ptLayers;

-   if (stObj->base._Complete) {
+   if (_mesa_is_texture_complete(tObj,&tObj->Sampler)) {
        /* The texture is complete and we know exactly how many mipmap levels
         * are present/needed.  This is conditional because we may be called
         * from the st_generate_mipmap() function when the texture object is

Shouldn't this have conditionally used the sampler object from the unit,
like the other blocks?

It should. But this wasn't done properly before either. If you look a few more lines below, we're using the texture object's min/mag filter state instead of the sampler object. I've got a WIP patch that'll fix that and a few sampler object issues in the state tracker. I'll post that after I finish testing it.


Also, I think the change to the intel driver for _Complete replacement was 
missed.

Thanks for catching that.  I'll take a look.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to