i965: Use a gl_color_union for sampler border color.
[mesa.git] / src / mesa / drivers / dri / i965 / intel_tex_validate.c
index d8497a681e305593207e0a4909758beddbba83d3..0bf0393803fc5867a6f5fadae33906c53c95f6fb 100644 (file)
@@ -98,15 +98,15 @@ intel_finalize_mipmap_tree(struct brw_context *brw, GLuint unit)
       return true;
    }
 
+   /* Immutable textures should not get this far -- they should have been
+    * created in a validated state, and nothing can invalidate them.
+    */
+   assert(!tObj->Immutable);
+
    firstImage = intel_texture_image(tObj->Image[0][tObj->BaseLevel]);
 
    /* Check tree can hold all active levels.  Check tree matches
     * target, imageFormat, etc.
-    *
-    * For pre-gen4, we have to match first_level == tObj->BaseLevel,
-    * because we don't have the control that gen4 does to make min/mag
-    * determination happen at a nonzero (hardware) baselevel.  Because
-    * of that, we just always relayout on baselevel change.
     */
    if (intelObj->mt &&
        (!intel_miptree_match_image(intelObj->mt, &firstImage->base.Base) ||
@@ -137,7 +137,8 @@ intel_finalize_mipmap_tree(struct brw_context *brw, GLuint unit)
                                           depth,
                                          true,
                                           0 /* num_samples */,
-                                          INTEL_MIPTREE_TILING_ANY);
+                                          INTEL_MIPTREE_TILING_ANY,
+                                          false);
       if (!intelObj->mt)
          return false;
    }
@@ -168,6 +169,7 @@ intel_finalize_mipmap_tree(struct brw_context *brw, GLuint unit)
 
    intelObj->validated_first_level = validate_first_level;
    intelObj->validated_last_level = validate_last_level;
+   intelObj->_Format = intelObj->mt->format;
    intelObj->needs_validate = false;
 
    return true;