diff options
| author | Anthony <Helios747@users.noreply.github.com> | 2018-02-23 09:18:19 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-23 09:18:19 -0800 |
| commit | b66f96c617c87d0edbc4a9cb84c8c8e18ead915c (patch) | |
| tree | 11876004e4d5c0536a2382a9d7fd380488d47fbe /Source/Core/VideoBackends/OGL/VertexManager.cpp | |
| parent | a62343bd4fe2ea425b8543d60922bb3d54d39ab2 (diff) | |
| parent | fec6bb4d5676de8834c90d93127c1459f46f8dcb (diff) | |
Merge pull request #6042 from stenzek/videocommon-pipelines
VideoCommon pipelines ("Abstract Pipeline")
Diffstat (limited to 'Source/Core/VideoBackends/OGL/VertexManager.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/VertexManager.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/OGL/VertexManager.cpp b/Source/Core/VideoBackends/OGL/VertexManager.cpp index fd005e4860..f98c72b1ad 100644 --- a/Source/Core/VideoBackends/OGL/VertexManager.cpp +++ b/Source/Core/VideoBackends/OGL/VertexManager.cpp @@ -61,6 +61,16 @@ void VertexManager::DestroyDeviceObjects() s_indexBuffer.reset(); } +StreamBuffer* VertexManager::GetVertexBuffer() const +{ + return s_vertexBuffer.get(); +} + +OGL::StreamBuffer* VertexManager::GetIndexBuffer() const +{ + return s_indexBuffer.get(); +} + GLuint VertexManager::GetVertexBufferHandle() const { return m_vertex_buffers; @@ -95,6 +105,11 @@ void VertexManager::ResetBuffer(u32 stride) } else { + // The index buffer is part of the VAO state, therefore we need to bind it first. + const GLVertexFormat* vertex_format = + static_cast<GLVertexFormat*>(VertexLoaderManager::GetCurrentVertexFormat()); + ProgramShaderCache::BindVertexFormat(vertex_format); + auto buffer = s_vertexBuffer->Map(MAXVBUFFERSIZE, stride); m_cur_buffer_pointer = m_base_buffer_pointer = buffer.first; m_end_buffer_pointer = buffer.first + MAXVBUFFERSIZE; |
