summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-06-08 16:39:55 -0400
committerGravatar GitHub2018-06-08 16:39:55 -0400
commita941a94148190f71912fface3405f87b2a894b83 (patch)
treebb8a51beb4026c47921802817a1ab2e03f9bfc44 /src
parentMerge pull request #478 from janisozaur/patch-1 (diff)
parentRasterizer: Flush the written region when writing shader uniform data before ... (diff)
downloadyuzu-a941a94148190f71912fface3405f87b2a894b83.tar.gz
yuzu-a941a94148190f71912fface3405f87b2a894b83.tar.xz
yuzu-a941a94148190f71912fface3405f87b2a894b83.zip
Merge pull request #546 from Subv/flush_ubo_buffer
Rasterizer: Flush the written region when writing shader uniform data before copying it to the uniform buffers.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 0bd235218..59761c6b1 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -218,6 +218,9 @@ void RasterizerOpenGL::SetupShaders(u8* buffer_ptr, GLintptr buffer_offset) {
218 ubo.SetFromRegs(gpu.state.shader_stages[stage]); 218 ubo.SetFromRegs(gpu.state.shader_stages[stage]);
219 std::memcpy(buffer_ptr, &ubo, sizeof(ubo)); 219 std::memcpy(buffer_ptr, &ubo, sizeof(ubo));
220 220
221 // Flush the buffer so that the GPU can see the data we just wrote.
222 glFlushMappedBufferRange(GL_ARRAY_BUFFER, buffer_offset, sizeof(ubo));
223
221 // Upload uniform data as one UBO per stage 224 // Upload uniform data as one UBO per stage
222 const GLintptr ubo_offset = buffer_offset; 225 const GLintptr ubo_offset = buffer_offset;
223 copy_buffer(uniform_buffers[stage].handle, ubo_offset, 226 copy_buffer(uniform_buffers[stage].handle, ubo_offset,