diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-05-07 23:34:52 +0200 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-05-07 23:46:12 +0200 |
commit | 8014dd82594dbb40e13749203e67b21e8447733c (patch) | |
tree | b874061d30aa6a03fd3c92116df92ed6d3b91a19 /src/video_core/texture_cache | |
parent | Buffer Cache: disable reactive flushing in it. (diff) | |
download | yuzu-8014dd82594dbb40e13749203e67b21e8447733c.tar yuzu-8014dd82594dbb40e13749203e67b21e8447733c.tar.gz yuzu-8014dd82594dbb40e13749203e67b21e8447733c.tar.bz2 yuzu-8014dd82594dbb40e13749203e67b21e8447733c.tar.lz yuzu-8014dd82594dbb40e13749203e67b21e8447733c.tar.xz yuzu-8014dd82594dbb40e13749203e67b21e8447733c.tar.zst yuzu-8014dd82594dbb40e13749203e67b21e8447733c.zip |
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 4 | ||||
-rw-r--r-- | src/video_core/texture_cache/texture_cache_base.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index d49f3a7a0..e1198dcf8 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -811,7 +811,7 @@ void TextureCache<P>::PopAsyncFlushes() { } template <class P> -ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand) { +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) { @@ -822,7 +822,7 @@ ImageId TextureCache<P>::DmaImageId(const Tegra::DMA::ImageOperand& operand) { // No need to waste time on an image that's synced with guest return NULL_IMAGE_ID; } - if (!image.info.dma_downloaded) { + if (!is_upload && !image.info.dma_downloaded) { // Force a full sync. image.info.dma_downloaded = true; return NULL_IMAGE_ID; diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index 01f5ac588..0720494e5 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h @@ -207,7 +207,7 @@ public: /// Pop asynchronous downloads void PopAsyncFlushes(); - [[nodiscard]] ImageId DmaImageId(const Tegra::DMA::ImageOperand& operand); + [[nodiscard]] ImageId DmaImageId(const Tegra::DMA::ImageOperand& operand, bool is_upload); [[nodiscard]] std::pair<Image*, BufferImageCopy> DmaBufferImageCopy( const Tegra::DMA::ImageCopy& copy_info, const Tegra::DMA::BufferOperand& buffer_operand, |