summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2023-06-03 00:07:34 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2023-06-03 00:07:52 +0200
commit1fc47361a12afd91d8ea0b76378e0b3d4feb93a6 (patch)
treedb1cea6b9a106995436954c88ec8be87c7c69c08 /src/video_core/texture_cache
parentMerge pull request #10541 from zhaobot/tx-update-20230601030142 (diff)
downloadyuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.tar
yuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.tar.gz
yuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.tar.bz2
yuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.tar.lz
yuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.tar.xz
yuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.tar.zst
yuzu-1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.zip
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/texture_cache.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 2cf082c5d..c7f7448e9 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -850,15 +850,11 @@ 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 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
+ const ImageId image_id = FindDMAImage(dst_info, operand.address);
+ if (!image_id) {
return NULL_IMAGE_ID;
}
+ auto& image = slot_images[image_id];
if (!is_upload && !image.info.dma_downloaded) {
// Force a full sync.
image.info.dma_downloaded = true;
@@ -868,7 +864,7 @@ ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand, boo
if (!base) {
return NULL_IMAGE_ID;
}
- return dst_id;
+ return image_id;
}
template <class P>