From 34c448bad405632484ac0129057319c1a37a0e84 Mon Sep 17 00:00:00 2001
From: Liam <byteslice@airmail.cc>
Date: Sat, 1 Jul 2023 23:37:50 -0400
Subject: [PATCH] Revert "texture_cache: Fix incorrect logic for AccelerateDMA"

This reverts commit 1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.
---
 src/video_core/texture_cache/texture_cache.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 8190f3ba1..79f158db4 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -865,11 +865,15 @@ void TextureCache<P>::PopAsyncFlushes() {
 template <class P>
 ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, bool is_upload) {
     const ImageInfo dst_info(operand);
-    const ImageId image_id = FindDMAImage(dst_info, operand.address);
-    if (!image_id) {
+    const ImageId dst_id = FindDMAImage(dst_info, operand.address);
+    if (!dst_id) {
+        return NULL_IMAGE_ID;
+    }
+    auto& image = slot_images[dst_id];
+    if (False(image.flags & ImageFlagBits::GpuModified)) {
+        // No need to waste time on an image that's synced with guest
         return NULL_IMAGE_ID;
     }
-    auto& image = slot_images[image_id];
     if (image.info.type == ImageType::e3D) {
         // Don't accelerate 3D images.
         return NULL_IMAGE_ID;
@@ -883,7 +887,7 @@ ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, boo
     if (!base) {
         return NULL_IMAGE_ID;
     }
-    return image_id;
+    return dst_id;
 }
 
 template <class P>