summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_texture_cache.h
diff options
context:
space:
mode:
authorAmeer J <52414509+ameerj@users.noreply.github.com>2023-08-14 05:17:28 +0200
committerAmeer J <52414509+ameerj@users.noreply.github.com>2023-08-14 06:17:59 +0200
commitd1c878fb41324614b4f09026ebb3336432fbb559 (patch)
tree42345e00adfddf6b42810ced27a32dec89e9ac20 /src/video_core/renderer_opengl/gl_texture_cache.h
parentgl_buffer_cache: Enable async downloads (diff)
downloadyuzu-d1c878fb41324614b4f09026ebb3336432fbb559.tar
yuzu-d1c878fb41324614b4f09026ebb3336432fbb559.tar.gz
yuzu-d1c878fb41324614b4f09026ebb3336432fbb559.tar.bz2
yuzu-d1c878fb41324614b4f09026ebb3336432fbb559.tar.lz
yuzu-d1c878fb41324614b4f09026ebb3336432fbb559.tar.xz
yuzu-d1c878fb41324614b4f09026ebb3336432fbb559.tar.zst
yuzu-d1c878fb41324614b4f09026ebb3336432fbb559.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_texture_cache.h')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.h b/src/video_core/renderer_opengl/gl_texture_cache.h
index e71b87e99..34870c81f 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.h
+++ b/src/video_core/renderer_opengl/gl_texture_cache.h
@@ -74,7 +74,9 @@ public:
StagingBufferMap UploadStagingBuffer(size_t size);
- StagingBufferMap DownloadStagingBuffer(size_t size);
+ StagingBufferMap DownloadStagingBuffer(size_t size, bool deferred = false);
+
+ void FreeDeferredStagingBuffer(StagingBufferMap& buffer);
u64 GetDeviceLocalMemory() const {
return device_access_memory;
@@ -359,7 +361,7 @@ struct TextureCacheParams {
static constexpr bool FRAMEBUFFER_BLITS = true;
static constexpr bool HAS_EMULATED_COPIES = true;
static constexpr bool HAS_DEVICE_MEMORY_INFO = true;
- static constexpr bool IMPLEMENTS_ASYNC_DOWNLOADS = false;
+ static constexpr bool IMPLEMENTS_ASYNC_DOWNLOADS = true;
using Runtime = OpenGL::TextureCacheRuntime;
using Image = OpenGL::Image;
@@ -367,7 +369,7 @@ struct TextureCacheParams {
using ImageView = OpenGL::ImageView;
using Sampler = OpenGL::Sampler;
using Framebuffer = OpenGL::Framebuffer;
- using AsyncBuffer = u32;
+ using AsyncBuffer = OpenGL::StagingBufferMap;
using BufferType = GLuint;
};