iris: Emit single render target flush PIPE_CONTROL on format mismatch.
The big-hammer iris_flush_depth_and_render_caches() is largely redundant whenever a format mismatch is detected from iris_cache_flush_for_render(). There is no need to kick the depth, sampler nor constant caches in that case. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3875>
This commit is contained in:
committed by
Marge Bot
parent
b928188493
commit
46adb83a29
@@ -402,7 +402,10 @@ iris_cache_flush_for_render(struct iris_batch *batch,
|
||||
_mesa_hash_table_insert_pre_hashed(batch->cache.render, bo->hash, bo,
|
||||
format_aux_tuple(format, aux_usage));
|
||||
} else if (entry->data != format_aux_tuple(format, aux_usage)) {
|
||||
iris_flush_depth_and_render_caches(batch);
|
||||
iris_emit_pipe_control_flush(batch,
|
||||
"cache tracker: render format mismatch",
|
||||
PIPE_CONTROL_RENDER_TARGET_FLUSH |
|
||||
PIPE_CONTROL_CS_STALL);
|
||||
entry->data = format_aux_tuple(format, aux_usage);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user