aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/texture_cache.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2023-03-12 21:43:31 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2023-04-29 00:18:21 +0200
commite2bfd9e8c45ff1b87592cc5538a52ea59e9ad5b1 (patch)
tree3910e8dad8f813ec61643f4d6c30097b548e60a1 /src/video_core/texture_cache/texture_cache.h
parentf430449ddb5cc43f081663aafbb830f0d6a5a311 (diff)
TextureCache: refactor DMA downloads to allow multiple buffers.
Diffstat (limited to 'src/video_core/texture_cache/texture_cache.h')
-rw-r--r--src/video_core/texture_cache/texture_cache.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index ed5c768d8f..2cd5aa31e5 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2021 yuzu Emulator Project
+// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
@@ -834,6 +834,16 @@ std::pair<typename TextureCache<P>::Image*, BufferImageCopy> TextureCache<P>::Dm
}
template <class P>
+void TextureCache<P>::DownloadImageIntoBuffer(
+ typename TextureCache<P>::Image* image, typename TextureCache<P>::BufferType buffer,
+ size_t buffer_offset, std::span<const VideoCommon::BufferImageCopy> copies) {
+ std::array buffers{
+ buffer,
+ };
+ image->DownloadMemory(buffers, buffer_offset, copies);
+}
+
+template <class P>
void TextureCache<P>::RefreshContents(Image& image, ImageId image_id) {
if (False(image.flags & ImageFlagBits::CpuModified)) {
// Only upload modified images