summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-06-01 20:05:55 -0300
committerGravatar ReinUsesLisp2021-07-18 00:49:32 -0300
commitcb08e5bdd25a448cb44c9fd8f46ef89cfd28e7bc (patch)
tree94febf33c2cf97926a6357f8b939a146167e8def
parentMerge pull request #6647 from lat9nq/specify-system-path (diff)
downloadyuzu-cb08e5bdd25a448cb44c9fd8f46ef89cfd28e7bc.tar.gz
yuzu-cb08e5bdd25a448cb44c9fd8f46ef89cfd28e7bc.tar.xz
yuzu-cb08e5bdd25a448cb44c9fd8f46ef89cfd28e7bc.zip
texture_cache: Always prepare image views on render targets
Images used as render targets were not being "prepared", causing desynchronizations on the texture cache. Needs #6669 to avoid performance regressions on certain cooking titles. - Fixes black shadows on Age of Calamity.
Diffstat (limited to '')
-rw-r--r--src/video_core/texture_cache/texture_cache.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 01de2d498..85ce06d56 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -599,6 +599,12 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) {
599 using namespace VideoCommon::Dirty; 599 using namespace VideoCommon::Dirty;
600 auto& flags = maxwell3d.dirty.flags; 600 auto& flags = maxwell3d.dirty.flags;
601 if (!flags[Dirty::RenderTargets]) { 601 if (!flags[Dirty::RenderTargets]) {
602 for (size_t index = 0; index < NUM_RT; ++index) {
603 ImageViewId& color_buffer_id = render_targets.color_buffer_ids[index];
604 PrepareImageView(color_buffer_id, true, is_clear && IsFullClear(color_buffer_id));
605 }
606 const ImageViewId depth_buffer_id = render_targets.depth_buffer_id;
607 PrepareImageView(depth_buffer_id, true, is_clear && IsFullClear(depth_buffer_id));
602 return; 608 return;
603 } 609 }
604 flags[Dirty::RenderTargets] = false; 610 flags[Dirty::RenderTargets] = false;