aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorAmeer J <52414509+ameerj@users.noreply.github.com>2023-08-06 14:49:34 -0400
committerAmeer J <52414509+ameerj@users.noreply.github.com>2023-08-06 14:54:58 -0400
commitb18c1fb1bbbcc235e9a1cbbb2704fed2e5895e61 (patch)
treeeab3d5b675ddac021b1c2c31c6f3d2cea41ef569 /src/video_core/renderer_opengl
parent913803bf653989d2d08ddd39caf2216b55275dfc (diff)
HACK: Avoid swizzling and reuploading ASTC image every frame
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp
index 9cafd2983..9ca544ec9 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp
@@ -554,7 +554,14 @@ void TextureCacheRuntime::Finish() {
}
StagingBufferMap TextureCacheRuntime::UploadStagingBuffer(size_t size) {
- return staging_buffer_pool.RequestUploadBuffer(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;
}
StagingBufferMap TextureCacheRuntime::DownloadStagingBuffer(size_t size) {