summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_buffer_cache.h
diff options
context:
space:
mode:
authorAmeer J <52414509+ameerj@users.noreply.github.com>2023-08-14 03:39:50 +0200
committerAmeer J <52414509+ameerj@users.noreply.github.com>2023-08-14 06:17:54 +0200
commit9b112107e25ad9c348b1759283774299b97b464a (patch)
treeab39950d3e27202f62810000b5e7b6a3a2f26896 /src/video_core/renderer_opengl/gl_buffer_cache.h
parentgl_staging_buffer_pool: Refactor allocation variables into a struct (diff)
downloadyuzu-9b112107e25ad9c348b1759283774299b97b464a.tar
yuzu-9b112107e25ad9c348b1759283774299b97b464a.tar.gz
yuzu-9b112107e25ad9c348b1759283774299b97b464a.tar.bz2
yuzu-9b112107e25ad9c348b1759283774299b97b464a.tar.lz
yuzu-9b112107e25ad9c348b1759283774299b97b464a.tar.xz
yuzu-9b112107e25ad9c348b1759283774299b97b464a.tar.zst
yuzu-9b112107e25ad9c348b1759283774299b97b464a.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_buffer_cache.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_buffer_cache.h b/src/video_core/renderer_opengl/gl_buffer_cache.h
index 41b746f3b..1b87954d7 100644
--- a/src/video_core/renderer_opengl/gl_buffer_cache.h
+++ b/src/video_core/renderer_opengl/gl_buffer_cache.h
@@ -64,7 +64,9 @@ public:
[[nodiscard]] StagingBufferMap UploadStagingBuffer(size_t size);
- [[nodiscard]] StagingBufferMap DownloadStagingBuffer(size_t size);
+ [[nodiscard]] StagingBufferMap DownloadStagingBuffer(size_t size, bool deferred = false);
+
+ void FreeDeferredStagingBuffer(StagingBufferMap& buffer);
void CopyBuffer(GLuint dst_buffer, GLuint src_buffer,
std::span<const VideoCommon::BufferCopy> copies, bool barrier = true);
@@ -233,7 +235,7 @@ struct BufferCacheParams {
static constexpr bool NEEDS_BIND_STORAGE_INDEX = true;
static constexpr bool USE_MEMORY_MAPS = true;
static constexpr bool SEPARATE_IMAGE_BUFFER_BINDINGS = true;
- static constexpr bool IMPLEMENTS_ASYNC_DOWNLOADS = false;
+ static constexpr bool IMPLEMENTS_ASYNC_DOWNLOADS = true;
// TODO: Investigate why OpenGL seems to perform worse with persistently mapped buffer uploads
static constexpr bool USE_MEMORY_MAPS_FOR_UPLOADS = false;