diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-05 18:31:24 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-04-05 19:10:46 -0300 |
| commit | 2d1f054c61f71656a72eedbd8bda7693e950ab94 (patch) | |
| tree | c3ed952b7ed595126cd50f3ad16e4a48b001f92e /src/video_core/renderer_opengl/utils.h | |
| parent | 66be5150d6d201e3f8ca6e5e09968f052df4beb1 (diff) | |
gl_rasterizer: Use ARB_multi_bind to update UBOs across stages
Diffstat (limited to 'src/video_core/renderer_opengl/utils.h')
| -rw-r--r-- | src/video_core/renderer_opengl/utils.h | 20 |
1 files changed, 20 insertions, 0 deletions
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 <string> +#include <vector> #include <glad/glad.h> #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<GLuint> buffers; + std::vector<GLintptr> offsets; + std::vector<GLsizeiptr> sizes; +}; + void LabelGLObject(GLenum identifier, GLuint handle, VAddr addr, std::string extra_info = ""); } // namespace OpenGL
\ No newline at end of file |
