From c448b3af2ffe06f036e06b610c87db8dab74b766 Mon Sep 17 00:00:00 2001 From: ameerj <52414509+ameerj@users.noreply.github.com> Date: Thu, 22 Dec 2022 16:52:53 -0500 Subject: texture_cache: Use pre-allocated buffer for texture uploads --- src/video_core/texture_cache/util.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/video_core/texture_cache/util.h') diff --git a/src/video_core/texture_cache/util.h b/src/video_core/texture_cache/util.h index 5e28f4ab3..ddf0b3b06 100644 --- a/src/video_core/texture_cache/util.h +++ b/src/video_core/texture_cache/util.h @@ -59,6 +59,7 @@ struct OverlapResult { [[nodiscard]] std::vector UnswizzleImage(Tegra::MemoryManager& gpu_memory, GPUVAddr gpu_addr, const ImageInfo& info, + std::span input, std::span output); [[nodiscard]] BufferCopy UploadBufferCopy(Tegra::MemoryManager& gpu_memory, GPUVAddr gpu_addr, -- cgit v1.2.3 From 1209d428f14ffc6f1c8b6049b0431c30b26138d6 Mon Sep 17 00:00:00 2001 From: ameerj <52414509+ameerj@users.noreply.github.com> Date: Thu, 22 Dec 2022 17:01:39 -0500 Subject: texture_cache: Use pre-allocated buffer for texture downloads --- src/video_core/texture_cache/util.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/video_core/texture_cache/util.h') diff --git a/src/video_core/texture_cache/util.h b/src/video_core/texture_cache/util.h index ddf0b3b06..2c991b4d2 100644 --- a/src/video_core/texture_cache/util.h +++ b/src/video_core/texture_cache/util.h @@ -77,7 +77,8 @@ void ConvertImage(std::span input, const ImageInfo& info, std::span FullUploadSwizzles(const ImageInfo& info); void SwizzleImage(Tegra::MemoryManager& gpu_memory, GPUVAddr gpu_addr, const ImageInfo& info, - std::span copies, std::span memory); + std::span copies, std::span memory, + std::vector& tmp_buffer); [[nodiscard]] bool IsBlockLinearSizeCompatible(const ImageInfo& new_info, const ImageInfo& overlap_info, u32 new_level, -- cgit v1.2.3 From 7584d36922669808b7c8a62667380453687b0ad9 Mon Sep 17 00:00:00 2001 From: ameerj <52414509+ameerj@users.noreply.github.com> Date: Sun, 25 Dec 2022 15:47:41 -0500 Subject: texture_cache: Use Common::ScratchBuffer for swizzle buffers --- src/video_core/texture_cache/util.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/video_core/texture_cache/util.h') diff --git a/src/video_core/texture_cache/util.h b/src/video_core/texture_cache/util.h index 2c991b4d2..d103db8ae 100644 --- a/src/video_core/texture_cache/util.h +++ b/src/video_core/texture_cache/util.h @@ -7,6 +7,7 @@ #include #include "common/common_types.h" +#include "common/scratch_buffer.h" #include "video_core/surface.h" #include "video_core/texture_cache/image_base.h" @@ -78,7 +79,7 @@ void ConvertImage(std::span input, const ImageInfo& info, std::span copies, std::span memory, - std::vector& tmp_buffer); + Common::ScratchBuffer& tmp_buffer); [[nodiscard]] bool IsBlockLinearSizeCompatible(const ImageInfo& new_info, const ImageInfo& overlap_info, u32 new_level, -- cgit v1.2.3