diff --git a/src/mesa/drivers/dri/i915/i830_texstate.c b/src/mesa/drivers/dri/i915/i830_texstate.c index 9c8508b5747..dc9aca80fa9 100644 --- a/src/mesa/drivers/dri/i915/i830_texstate.c +++ b/src/mesa/drivers/dri/i915/i830_texstate.c @@ -124,7 +124,7 @@ static GLboolean i830_update_tex_unit( struct intel_context *intel, struct i830_context *i830 = i830_context(ctx); struct gl_texture_object *tObj = ctx->Texture.Unit[unit]._Current; struct intel_texture_object *intelObj = intel_texture_object(tObj); - struct gl_texture_image *firstImage = tObj->Image[0][intelObj->firstLevel]; + struct gl_texture_image *firstImage; GLuint *state = i830->state.Tex[unit]; memset(state, 0, sizeof(state)); @@ -132,6 +132,11 @@ static GLboolean i830_update_tex_unit( struct intel_context *intel, if (!intel_finalize_mipmap_tree(intel, unit)) return GL_FALSE; + /* Get first image here, since intelObj->firstLevel will get set in + * the intel_finalize_mipmap_tree() call above. + */ + firstImage = tObj->Image[0][intelObj->firstLevel]; + i830->state.tex_buffer[unit] = intelObj->mt->region->buffer; i830->state.tex_offset[unit] = intel_miptree_image_offset(intelObj->mt, 0, intelObj->firstLevel); diff --git a/src/mesa/drivers/dri/i915/i915_texstate.c b/src/mesa/drivers/dri/i915/i915_texstate.c index 6460f87156f..19721190f4c 100644 --- a/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/src/mesa/drivers/dri/i915/i915_texstate.c @@ -118,7 +118,7 @@ static GLboolean i915_update_tex_unit( struct intel_context *intel, struct i915_context *i915 = i915_context(ctx); struct gl_texture_object *tObj = ctx->Texture.Unit[unit]._Current; struct intel_texture_object *intelObj = intel_texture_object(tObj); - struct gl_texture_image *firstImage = tObj->Image[0][intelObj->firstLevel]; + struct gl_texture_image *firstImage; GLuint *state = i915->state.Tex[unit]; memset(state, 0, sizeof(state)); @@ -128,6 +128,11 @@ static GLboolean i915_update_tex_unit( struct intel_context *intel, if (!intel_finalize_mipmap_tree(intel, unit)) return GL_FALSE; + /* Get first image here, since intelObj->firstLevel will get set in + * the intel_finalize_mipmap_tree() call above. + */ + firstImage = tObj->Image[0][intelObj->firstLevel]; + /* intel_region_reference(&i915->state.tex_region[unit], */ /* intelObj->mt->region); */