GPU: Don't use GetPointer when uploading the constbuffer data to the GPU.

This commit is contained in:
Subv 2018-04-15 11:18:09 -05:00
parent 7da47da66e
commit e128e90350

View File

@ -571,10 +571,11 @@ void RasterizerOpenGL::SetupConstBuffers(Maxwell::ShaderStage stage,
buffer_draw_state.bindpoint = bindpoint; buffer_draw_state.bindpoint = bindpoint;
VAddr addr = gpu.memory_manager->PhysicalToVirtualAddress(buffer.address); VAddr addr = gpu.memory_manager->PhysicalToVirtualAddress(buffer.address);
const u8* data = Memory::GetPointer(addr); std::vector<u8> data(used_buffer.GetSize() * sizeof(float));
Memory::ReadBlock(addr, data.data(), data.size());
glBindBuffer(GL_SHADER_STORAGE_BUFFER, buffer_draw_state.ssbo); glBindBuffer(GL_SHADER_STORAGE_BUFFER, buffer_draw_state.ssbo);
glBufferData(GL_SHADER_STORAGE_BUFFER, used_buffer.GetSize() * sizeof(float), data, glBufferData(GL_SHADER_STORAGE_BUFFER, data.size(), data.data(), GL_DYNAMIC_DRAW);
GL_DYNAMIC_DRAW);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0); glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
} }