From 9f0090772a84b30783a14c237ba347b90e8ce9a1 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sat, 11 May 2019 16:01:54 +0300 Subject: [PATCH] rsx: Fix write tagging when comments are transferred in by blit engine --- rpcs3/Emu/RSX/Common/surface_store.h | 4 ++-- rpcs3/Emu/RSX/Common/texture_cache.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/RSX/Common/surface_store.h b/rpcs3/Emu/RSX/Common/surface_store.h index 1380e109dd..a9aa8235f2 100644 --- a/rpcs3/Emu/RSX/Common/surface_store.h +++ b/rpcs3/Emu/RSX/Common/surface_store.h @@ -812,7 +812,7 @@ namespace rsx #ifndef INCOMPLETE_SURFACE_CACHE_IMPL // Check if old_surface is 'new' and avoid intersection - if (old_surface && old_surface->last_use_tag == write_tag) + if (old_surface && old_surface->last_use_tag >= write_tag) { new_surface->set_old_contents(old_surface); } @@ -943,7 +943,7 @@ namespace rsx #ifndef INCOMPLETE_SURFACE_CACHE_IMPL // Check if old_surface is 'new' and avoid intersection - if (old_surface && old_surface->last_use_tag == write_tag) + if (old_surface && old_surface->last_use_tag >= write_tag) { new_surface->set_old_contents(old_surface); } diff --git a/rpcs3/Emu/RSX/Common/texture_cache.h b/rpcs3/Emu/RSX/Common/texture_cache.h index 3db9be7fda..0af7d1dd9c 100644 --- a/rpcs3/Emu/RSX/Common/texture_cache.h +++ b/rpcs3/Emu/RSX/Common/texture_cache.h @@ -2939,7 +2939,8 @@ namespace rsx } else { - dst_subres.surface->on_write(); + dst_subres.surface->on_write(rsx::get_shared_tag()); + m_rtts.notify_memory_structure_changed(); } if (rsx::get_resolution_scale_percent() != 100)