diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 62206b906..3e024a098 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h | |||
| @@ -679,6 +679,12 @@ private: | |||
| 679 | if (new_surface->GetMipmapSize(base_mipmap) != surface->GetMipmapSize(0)) { | 679 | if (new_surface->GetMipmapSize(base_mipmap) != surface->GetMipmapSize(0)) { |
| 680 | continue; | 680 | continue; |
| 681 | } | 681 | } |
| 682 | ++passed_tests; | ||
| 683 | |||
| 684 | if (!surface->IsModified()) { | ||
| 685 | continue; | ||
| 686 | } | ||
| 687 | modified = true; | ||
| 682 | 688 | ||
| 683 | // Copy all mipmaps and layers | 689 | // Copy all mipmaps and layers |
| 684 | const u32 block_width = params.GetDefaultBlockWidth(); | 690 | const u32 block_width = params.GetDefaultBlockWidth(); |
| @@ -694,8 +700,6 @@ private: | |||
| 694 | src_params.depth); | 700 | src_params.depth); |
| 695 | ImageCopy(surface, new_surface, copy_params); | 701 | ImageCopy(surface, new_surface, copy_params); |
| 696 | } | 702 | } |
| 697 | ++passed_tests; | ||
| 698 | modified |= surface->IsModified(); | ||
| 699 | } | 703 | } |
| 700 | if (passed_tests == 0) { | 704 | if (passed_tests == 0) { |
| 701 | return std::nullopt; | 705 | return std::nullopt; |