diff options
author | Fernando S <fsahmkow27@gmail.com> | 2023-11-26 18:33:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-26 18:33:05 +0100 |
commit | f21340f7aa60296c7b56e293b5f870b7efd3807d (patch) | |
tree | 9e2a8f9ba77be42bf7695b051f515e52481dd490 /src/video_core/renderer_opengl/gl_buffer_cache.h | |
parent | Merge pull request #12180 from german77/cabinetmii (diff) | |
parent | Vulkan: Add a final barrier to the upload command buffer (diff) | |
download | yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.tar yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.tar.gz yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.tar.bz2 yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.tar.lz yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.tar.xz yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.tar.zst yuzu-f21340f7aa60296c7b56e293b5f870b7efd3807d.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_buffer_cache.h')
-rw-r--r-- | src/video_core/renderer_opengl/gl_buffer_cache.h | 17 |
1 files changed, 13 insertions, 4 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..feccf06f9 100644 --- a/src/video_core/renderer_opengl/gl_buffer_cache.h +++ b/src/video_core/renderer_opengl/gl_buffer_cache.h @@ -30,6 +30,8 @@ public: void MakeResident(GLenum access) noexcept; + void MarkUsage(u64 offset, u64 size) {} + [[nodiscard]] GLuint View(u32 offset, u32 size, VideoCore::Surface::PixelFormat format); [[nodiscard]] GLuint64EXT HostGpuAddr() const noexcept { @@ -66,22 +68,29 @@ public: [[nodiscard]] StagingBufferMap DownloadStagingBuffer(size_t size); + bool CanReorderUpload(const Buffer&, std::span<const VideoCommon::BufferCopy>) { + return false; + } + void CopyBuffer(GLuint dst_buffer, GLuint src_buffer, - std::span<const VideoCommon::BufferCopy> copies, bool barrier = true); + std::span<const VideoCommon::BufferCopy> copies, bool barrier); void CopyBuffer(GLuint dst_buffer, Buffer& src_buffer, - std::span<const VideoCommon::BufferCopy> copies, bool barrier = true); + std::span<const VideoCommon::BufferCopy> copies, bool barrier); void CopyBuffer(Buffer& dst_buffer, GLuint src_buffer, - std::span<const VideoCommon::BufferCopy> copies, bool barrier = true); + std::span<const VideoCommon::BufferCopy> copies, bool barrier, + bool can_reorder_upload = false); void CopyBuffer(Buffer& dst_buffer, Buffer& src_buffer, - std::span<const VideoCommon::BufferCopy> copies); + std::span<const VideoCommon::BufferCopy> copies, bool); void PreCopyBarrier(); void PostCopyBarrier(); void Finish(); + void TickFrame(VideoCommon::SlotVector<Buffer>&) noexcept {} + void ClearBuffer(Buffer& dest_buffer, u32 offset, size_t size, u32 value); void BindIndexBuffer(Buffer& buffer, u32 offset, u32 size); |