i965: Stop passing num_samples to intel_miptree_alloc_hiz().
[mesa.git] / src / mesa / drivers / dri / intel / intel_tex.c
index ee8db71372bcb32a28d6743b6a8607a9bfebdfaa..24f13dfee8993933345666fb0f0847223594978d 100644 (file)
@@ -64,7 +64,6 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx,
    struct intel_texture_image *intel_image = intel_texture_image(image);
    struct gl_texture_object *texobj = image->TexObject;
    struct intel_texture_object *intel_texobj = intel_texture_object(texobj);
-   GLuint slices;
 
    assert(image->Border == 0);
 
@@ -81,23 +80,8 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx,
     */
    ctx->Driver.FreeTextureImageBuffer(ctx, image);
 
-   /* Allocate the swrast_texture_image::ImageOffsets array now */
-   switch (texobj->Target) {
-   case GL_TEXTURE_3D:
-   case GL_TEXTURE_2D_ARRAY:
-   case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
-      slices = image->Depth;
-      break;
-   case GL_TEXTURE_1D_ARRAY:
-      slices = image->Height;
-      break;
-   default:
-      slices = 1;
-   }
-   assert(!intel_image->base.ImageOffsets);
-   intel_image->base.ImageOffsets = malloc(slices * sizeof(GLuint));
-
-   _swrast_init_texture_image(image);
+   if (!_swrast_init_texture_image(image))
+      return false;
 
    if (intel_texobj->mt &&
        intel_miptree_match_image(intel_texobj->mt, image)) {
@@ -137,13 +121,7 @@ intel_free_texture_image_buffer(struct gl_context * ctx,
 
    intel_miptree_release(&intelImage->mt);
 
-   if (intelImage->base.Buffer) {
-      _mesa_align_free(intelImage->base.Buffer);
-      intelImage->base.Buffer = NULL;
-   }
-
-   free(intelImage->base.ImageOffsets);
-   intelImage->base.ImageOffsets = NULL;
+   _swrast_free_texture_image_buffer(ctx, texImage);
 }
 
 /**