X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fi965%2Fintel_tex_image.c;h=beed1609bdfdc1200d809c7b3ed3567ce270e16d;hb=8c47ccb13a198f4d38c772df1de457de34dde23e;hp=e165cf60bb5af942cb1d916db1fa167845148cad;hpb=b95caac539c4b0cc98ab613e33b5405080cdeab8;p=mesa.git diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index e165cf60bb5..beed1609bdf 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -62,16 +62,12 @@ intel_miptree_create_for_teximage(struct brw_context *brw, intel_get_image_dims(&intelImage->base.Base, &width, &height, &depth); - if (old_mt && old_mt->surf.size > 0) { + if (old_mt) { old_width = old_mt->surf.logical_level0_px.width; old_height = old_mt->surf.logical_level0_px.height; old_depth = old_mt->surf.dim == ISL_SURF_DIM_3D ? old_mt->surf.logical_level0_px.depth : old_mt->surf.logical_level0_px.array_len; - } else if (old_mt) { - old_width = old_mt->logical_width0; - old_height = old_mt->logical_height0; - old_depth = old_mt->logical_depth0; } DBG("%s\n", __func__); @@ -199,8 +195,9 @@ intel_set_texture_image_mt(struct brw_context *brw, struct intel_texture_image *intel_image = intel_texture_image(image); _mesa_init_teximage_fields(&brw->ctx, image, - mt->logical_width0, mt->logical_height0, 1, - 0, internal_format, mt->format); + mt->surf.logical_level0_px.width, + mt->surf.logical_level0_px.height, 1, + 0, internal_format, mt->format); brw->ctx.Driver.FreeTextureImageBuffer(&brw->ctx, image); @@ -455,7 +452,9 @@ intel_gettexsubimage_tiled_memcpy(struct gl_context *ctx, /* Since we are going to write raw data to the miptree, we need to resolve * any pending fast color clears before we start. */ - assert(image->mt->logical_depth0 == 1); + assert(image->mt->surf.logical_level0_px.depth == 1); + assert(image->mt->surf.logical_level0_px.array_len == 1); + intel_miptree_access_raw(brw, image->mt, level, 0, true); bo = image->mt->bo;