From 2d1f054c61f71656a72eedbd8bda7693e950ab94 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Fri, 5 Apr 2019 18:31:24 -0300 Subject: gl_rasterizer: Use ARB_multi_bind to update UBOs across stages --- src/video_core/renderer_opengl/utils.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/video_core/renderer_opengl/utils.h') diff --git a/src/video_core/renderer_opengl/utils.h b/src/video_core/renderer_opengl/utils.h index 1fcb6fc11..aef45c9dc 100644 --- a/src/video_core/renderer_opengl/utils.h +++ b/src/video_core/renderer_opengl/utils.h @@ -5,11 +5,31 @@ #pragma once #include +#include #include #include "common/common_types.h" namespace OpenGL { +class BindBuffersRangePushBuffer { +public: + BindBuffersRangePushBuffer(GLenum target); + ~BindBuffersRangePushBuffer(); + + void Setup(GLuint first_); + + void Push(GLuint buffer, GLintptr offset, GLsizeiptr size); + + void Bind() const; + +private: + GLenum target; + GLuint first; + std::vector buffers; + std::vector offsets; + std::vector sizes; +}; + void LabelGLObject(GLenum identifier, GLuint handle, VAddr addr, std::string extra_info = ""); } // namespace OpenGL \ No newline at end of file -- cgit v1.2.3