summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 8709f9fc2..a778dfc64 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -571,10 +571,11 @@ void RasterizerOpenGL::SetupConstBuffers(Maxwell::ShaderStage stage,
571 buffer_draw_state.bindpoint = bindpoint; 571 buffer_draw_state.bindpoint = bindpoint;
572 572
573 VAddr addr = gpu.memory_manager->PhysicalToVirtualAddress(buffer.address); 573 VAddr addr = gpu.memory_manager->PhysicalToVirtualAddress(buffer.address);
574 const u8* data = Memory::GetPointer(addr); 574 std::vector<u8> data(used_buffer.GetSize() * sizeof(float));
575 Memory::ReadBlock(addr, data.data(), data.size());
576
575 glBindBuffer(GL_SHADER_STORAGE_BUFFER, buffer_draw_state.ssbo); 577 glBindBuffer(GL_SHADER_STORAGE_BUFFER, buffer_draw_state.ssbo);
576 glBufferData(GL_SHADER_STORAGE_BUFFER, used_buffer.GetSize() * sizeof(float), data, 578 glBufferData(GL_SHADER_STORAGE_BUFFER, data.size(), data.data(), GL_DYNAMIC_DRAW);
577 GL_DYNAMIC_DRAW);
578 glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0); 579 glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
579 } 580 }
580 581