diff options
author | Jason Ekstrand <[email protected]> | 2017-05-26 10:57:33 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-06-05 09:26:22 -0700 |
commit | 708664159e18487b6676fd5b4c33f52003f81d9e (patch) | |
tree | 0cf1ec711f6e50e5c7d9f327d602a1c0213da1c9 | |
parent | 9275b2233ffb185b791840c9a3289c477c47b726 (diff) |
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 <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 4 |
1 files changed, 4 insertions, 0 deletions
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 |