From: Jason Ekstrand Date: Fri, 26 May 2017 17:57:33 +0000 (-0700) Subject: i965: Finalize miptrees before prepare_texture X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=708664159e18487b6676fd5b4c33f52003f81d9e;p=mesa.git i965: Finalize miptrees before prepare_texture In order to do resolves for texture views with different formats, we need intel_texture_object::_Format to be valid. Calling intel_finalize_mipmap_tree can safely be done multiple times in a row and should be a fairly cheap operation. Reviewed-by: Topi Pohjolainen --- diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 9878cae9d4b..0a5120d32dc 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -253,6 +253,10 @@ intel_update_state(struct gl_context * ctx, GLuint new_state) tex_obj = intel_texture_object(ctx->Texture.Unit[i]._Current); if (!tex_obj || !tex_obj->mt) continue; + + /* We need inte_texture_object::_Format to be valid */ + intel_finalize_mipmap_tree(brw, i); + if (intel_miptree_sample_with_hiz(brw, tex_obj->mt)) intel_miptree_all_slices_resolve_hiz(brw, tex_obj->mt); else