diff options
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_state.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp index 77b2816cb..c44497fc3 100644 --- a/src/video_core/renderer_opengl/gl_state.cpp +++ b/src/video_core/renderer_opengl/gl_state.cpp @@ -180,6 +180,11 @@ void OpenGLState::Apply() { glBindBuffer(GL_ARRAY_BUFFER, draw.vertex_buffer); } + // Uniform buffer + if (draw.uniform_buffer != cur_state.draw.uniform_buffer) { + glBindBuffer(GL_UNIFORM_BUFFER, draw.uniform_buffer); + } + // Shader program if (draw.shader_program != cur_state.draw.shader_program) { glUseProgram(draw.shader_program); @@ -214,6 +219,9 @@ void OpenGLState::ResetBuffer(GLuint id) { if (cur_state.draw.vertex_buffer == id) { cur_state.draw.vertex_buffer = 0; } + if (cur_state.draw.uniform_buffer == id) { + cur_state.draw.uniform_buffer = 0; + } } void OpenGLState::ResetVertexArray(GLuint id) { |