mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 05:20:09 +01:00
iris: Move depth/stencil flushes so they actually do something
Commit d6dd57d43c (iris: Add missing depth cache flushes) added the
depth/stencil flushes to the wrong place. I meant to add them to the
iris_upload_dirty_render_state code that emits the packets, but I
accidentally added them to the nearly identical looking code in
iris_restore_render_saved_bos. This meant we missed the actual flushing
at draw time, but instead did pointless flushing on the first draw in a
batch where things are already flushed anyway.
This commit moves them to iris_resolve.c, next to the depth prepares,
similar to what we do for color buffers. i965 does them elsewhere, but
I'm not sure why - this seems like the most consistent place.
This commit is contained in:
parent
076a7095bb
commit
9302414f8b
2 changed files with 5 additions and 4 deletions
|
|
@ -176,6 +176,11 @@ iris_predraw_resolve_framebuffer(struct iris_context *ice,
|
|||
if (z_res) {
|
||||
iris_resource_prepare_depth(ice, batch, z_res, zs_surf->u.tex.level,
|
||||
zs_surf->u.tex.first_layer, num_layers);
|
||||
iris_cache_flush_for_depth(batch, z_res->bo);
|
||||
}
|
||||
|
||||
if (s_res) {
|
||||
iris_cache_flush_for_depth(batch, s_res->bo);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4069,8 +4069,6 @@ iris_restore_render_saved_bos(struct iris_context *ice,
|
|||
iris_get_depth_stencil_resources(cso_fb->zsbuf->texture,
|
||||
&zres, &sres);
|
||||
if (zres) {
|
||||
iris_cache_flush_for_depth(batch, zres->bo);
|
||||
|
||||
iris_use_pinned_bo(batch, zres->bo,
|
||||
ice->state.depth_writes_enabled);
|
||||
if (zres->aux.bo) {
|
||||
|
|
@ -4080,8 +4078,6 @@ iris_restore_render_saved_bos(struct iris_context *ice,
|
|||
}
|
||||
|
||||
if (sres) {
|
||||
iris_cache_flush_for_depth(batch, sres->bo);
|
||||
|
||||
iris_use_pinned_bo(batch, sres->bo,
|
||||
ice->state.stencil_writes_enabled);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue