summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-05-26 10:57:33 -0700
committerJason Ekstrand <[email protected]>2017-06-05 09:26:22 -0700
commit708664159e18487b6676fd5b4c33f52003f81d9e (patch)
tree0cf1ec711f6e50e5c7d9f327d602a1c0213da1c9 /src/mesa
parent9275b2233ffb185b791840c9a3289c477c47b726 (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]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.c4
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