diff options
author | Markus Wick <markus@selfnet.de> | 2018-08-10 10:29:37 +0200 |
---|---|---|
committer | Markus Wick <markus@selfnet.de> | 2018-08-12 16:10:26 +0200 |
commit | 6ff7906ddc89d8f970702d320f29317831de7975 (patch) | |
tree | 97c15d6b51b71a1a2904dc1c148ff7b9c66e0477 /src/video_core/renderer_opengl/gl_state.cpp | |
parent | gl_rasterizer: Use the streaming buffer itself for the constant buffer. (diff) | |
download | yuzu-6ff7906ddc89d8f970702d320f29317831de7975.tar yuzu-6ff7906ddc89d8f970702d320f29317831de7975.tar.gz yuzu-6ff7906ddc89d8f970702d320f29317831de7975.tar.bz2 yuzu-6ff7906ddc89d8f970702d320f29317831de7975.tar.lz yuzu-6ff7906ddc89d8f970702d320f29317831de7975.tar.xz yuzu-6ff7906ddc89d8f970702d320f29317831de7975.tar.zst yuzu-6ff7906ddc89d8f970702d320f29317831de7975.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_state.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp index 68bacd4c5..212c87e0c 100644 --- a/src/video_core/renderer_opengl/gl_state.cpp +++ b/src/video_core/renderer_opengl/gl_state.cpp @@ -209,10 +209,13 @@ void OpenGLState::Apply() const { const auto& current = cur_state.draw.const_buffers[stage][buffer_id]; const auto& new_state = draw.const_buffers[stage][buffer_id]; - if (current.enabled != new_state.enabled || current.bindpoint != new_state.bindpoint || - current.ssbo != new_state.ssbo) { + if (std::tie(current.enabled, current.bindpoint, current.ssbo, current.size, + current.offset) != std::tie(new_state.enabled, new_state.bindpoint, + new_state.ssbo, new_state.size, + new_state.offset)) { if (new_state.enabled) { - glBindBufferBase(GL_UNIFORM_BUFFER, new_state.bindpoint, new_state.ssbo); + glBindBufferRange(GL_UNIFORM_BUFFER, new_state.bindpoint, new_state.ssbo, + new_state.offset, new_state.size); } } } |