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
1 changed files with 4 additions and 3 deletions

View File

@ -571,10 +571,11 @@ void RasterizerOpenGL::SetupConstBuffers(Maxwell::ShaderStage stage,
buffer_draw_state.bindpoint = bindpoint;
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);
glBufferData(GL_SHADER_STORAGE_BUFFER, used_buffer.GetSize() * sizeof(float), data,
GL_DYNAMIC_DRAW);
glBufferData(GL_SHADER_STORAGE_BUFFER, data.size(), data.data(), GL_DYNAMIC_DRAW);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
}