X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fintel%2Fintel_tex.c;h=24f13dfee8993933345666fb0f0847223594978d;hb=bdf13dc8324c391b7d34f8bdaea72c4452ab7edb;hp=ee8db71372bcb32a28d6743b6a8607a9bfebdfaa;hpb=1842dd08b83269816fe8eb8f2dcc1252f606fe48;p=mesa.git diff --git a/src/mesa/drivers/dri/intel/intel_tex.c b/src/mesa/drivers/dri/intel/intel_tex.c index ee8db71372b..24f13dfee89 100644 --- a/src/mesa/drivers/dri/intel/intel_tex.c +++ b/src/mesa/drivers/dri/intel/intel_tex.c @@ -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); } /**