summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 2e90ebcf4..0bd235218 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -214,13 +214,14 @@ void RasterizerOpenGL::SetupShaders(u8* buffer_ptr, GLintptr buffer_offset) {
214 continue; 214 continue;
215 } 215 }
216 216
217 GLShader::MaxwellUniformData ubo{};
218 ubo.SetFromRegs(gpu.state.shader_stages[stage]);
219 std::memcpy(buffer_ptr, &ubo, sizeof(ubo));
220
217 // Upload uniform data as one UBO per stage 221 // Upload uniform data as one UBO per stage
218 const GLintptr ubo_offset = buffer_offset; 222 const GLintptr ubo_offset = buffer_offset;
219 copy_buffer(uniform_buffers[stage].handle, ubo_offset, 223 copy_buffer(uniform_buffers[stage].handle, ubo_offset,
220 sizeof(GLShader::MaxwellUniformData)); 224 sizeof(GLShader::MaxwellUniformData));
221 GLShader::MaxwellUniformData* ub_ptr =
222 reinterpret_cast<GLShader::MaxwellUniformData*>(buffer_ptr);
223 ub_ptr->SetFromRegs(gpu.state.shader_stages[stage]);
224 225
225 buffer_ptr += sizeof(GLShader::MaxwellUniformData); 226 buffer_ptr += sizeof(GLShader::MaxwellUniformData);
226 buffer_offset += sizeof(GLShader::MaxwellUniformData); 227 buffer_offset += sizeof(GLShader::MaxwellUniformData);