From 9058486b9b9833d0554d3e3f11a582859657b21f Mon Sep 17 00:00:00 2001 From: Ameer J <52414509+ameerj@users.noreply.github.com> Date: Sun, 6 Aug 2023 14:55:05 -0400 Subject: [PATCH] Revert "HACK: Avoid swizzling and reuploading ASTC image every frame" This reverts commit b18c1fb1bbbcc235e9a1cbbb2704fed2e5895e61. --- .../renderer_opengl/gl_texture_cache.cpp | 9 +-------- .../renderer_vulkan/vk_staging_buffer_pool.cpp | 1 - .../renderer_vulkan/vk_texture_cache.cpp | 10 +--------- src/video_core/texture_cache/texture_cache.h | 14 ++------------ src/video_core/textures/decoders.cpp | 9 --------- 5 files changed, 4 insertions(+), 39 deletions(-) diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index 9ca544ec9..9cafd2983 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp @@ -554,14 +554,7 @@ void TextureCacheRuntime::Finish() { } StagingBufferMap TextureCacheRuntime::UploadStagingBuffer(size_t size) { - static StagingBufferMap result; - static size_t last_size = 0; - if (size == last_size) { - return result; - } - last_size = size; - result = staging_buffer_pool.RequestUploadBuffer(size); - return result; + return staging_buffer_pool.RequestUploadBuffer(size); } StagingBufferMap TextureCacheRuntime::DownloadStagingBuffer(size_t size) { diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp index 27328dab2..ce92f66ab 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp @@ -214,7 +214,6 @@ StagingBufferPool::StagingBuffersCache& StagingBufferPool::GetCache(MemoryUsage } void StagingBufferPool::ReleaseCache(MemoryUsage usage) { - return; ReleaseLevel(GetCache(usage), current_delete_level); } diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 51be57b19..b3e17c332 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -846,15 +846,7 @@ void TextureCacheRuntime::Finish() { } StagingBufferRef TextureCacheRuntime::UploadStagingBuffer(size_t size) { - static StagingBufferRef result; - static size_t last_size = 0; - if (size == last_size) { - return result; - } - LOG_ERROR(Debug, "Called"); - last_size = size; - result = staging_buffer_pool.Request(size, MemoryUsage::Upload); - return result; + return staging_buffer_pool.Request(size, MemoryUsage::Upload); } StagingBufferRef TextureCacheRuntime::DownloadStagingBuffer(size_t size, bool deferred) { diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 6b87987de..4457b366f 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1021,18 +1021,8 @@ void TextureCache
::UploadImageContents(Image& image, StagingBuffer& staging)
const GPUVAddr gpu_addr = image.gpu_addr;
if (True(image.flags & ImageFlagBits::AcceleratedUpload)) {
- static u64 last_size = 0;
- bool has_run = false;
- if (last_size == image.unswizzled_size_bytes) {
- has_run = true;
- }
- last_size = image.unswizzled_size_bytes;
-
- if (!has_run) {
- LOG_ERROR(Debug, "Called");
- gpu_memory->ReadBlock(gpu_addr, mapped_span.data(), mapped_span.size_bytes(),
- VideoCommon::CacheType::NoTextureCache);
- }
+ gpu_memory->ReadBlock(gpu_addr, mapped_span.data(), mapped_span.size_bytes(),
+ VideoCommon::CacheType::NoTextureCache);
const auto uploads = FullUploadSwizzles(image.info);
runtime.AccelerateImageUpload(image, staging, uploads);
return;
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp
index dde4b0904..95bcdd37b 100644
--- a/src/video_core/textures/decoders.cpp
+++ b/src/video_core/textures/decoders.cpp
@@ -88,7 +88,6 @@ void SwizzleImpl(std::span