From: Zou Nan hai Date: Mon, 25 Feb 2008 07:27:47 +0000 (+0800) Subject: [intel] fix random ut2004 crash on some machine, for cubemap textures, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1d14da9a89e8d7f49b754ca1f24cb062a261a7e7;p=mesa.git [intel] fix random ut2004 crash on some machine, for cubemap textures, image offset is already considered when map, add it again in StoreImage may lead to wrong result and crash. --- diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index d446b2b392a..941f7a697c3 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -375,9 +375,13 @@ intel_miptree_image_map(struct intel_context * intel, if (row_stride) *row_stride = mt->pitch * mt->cpp; - if (image_offsets) - memcpy(image_offsets, mt->level[level].image_offset, - mt->level[level].depth * sizeof(GLuint)); + if (image_offsets) { + if (mt->target == GL_TEXTURE_CUBE_MAP_ARB) + memset(image_offsets, 0, mt->level[level].depth * sizeof(GLuint)); + else + memcpy(image_offsets, mt->level[level].image_offset, + mt->level[level].depth * sizeof(GLuint)); + } return (intel_region_map(intel, mt->region) + intel_miptree_image_offset(mt, face, level));