From 2237a6a04c11fa9253f68235fbe2bc060777cecd Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Sat, 2 Sep 2017 18:05:49 -0400
Subject: [PATCH] OGL/VertexManager: Make vertex and index buffer handles
 private

These are only ever read, but not written to outside of the VertexManager class.
---
 Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp |  4 ++--
 Source/Core/VideoBackends/OGL/Render.cpp             |  2 +-
 Source/Core/VideoBackends/OGL/VertexManager.cpp      | 10 ++++++++++
 Source/Core/VideoBackends/OGL/VertexManager.h        |  8 +++++---
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp b/Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp
index 816cdf3754..df24809ae0 100644
--- a/Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp
+++ b/Source/Core/VideoBackends/OGL/NativeVertexFormat.cpp
@@ -60,8 +60,8 @@ GLVertexFormat::GLVertexFormat(const PortableVertexDeclaration& _vtx_decl)
   ProgramShaderCache::BindVertexFormat(this);
 
   // the element buffer is bound directly to the vao, so we must it set for every vao
-  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vm->m_index_buffers);
-  glBindBuffer(GL_ARRAY_BUFFER, vm->m_vertex_buffers);
+  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vm->GetIndexBufferHandle());
+  glBindBuffer(GL_ARRAY_BUFFER, vm->GetVertexBufferHandle());
 
   SetPointer(SHADER_POSITION_ATTRIB, vertex_stride, _vtx_decl.position);
 
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index adc58dff28..7e36f0be22 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -1796,7 +1796,7 @@ void Renderer::RestoreAPIState()
 
   ProgramShaderCache::BindLastVertexFormat();
   const VertexManager* const vm = static_cast<VertexManager*>(g_vertex_manager.get());
-  glBindBuffer(GL_ARRAY_BUFFER, vm->m_vertex_buffers);
+  glBindBuffer(GL_ARRAY_BUFFER, vm->GetVertexBufferHandle());
 
   OGLTexture::SetStage();
 }
diff --git a/Source/Core/VideoBackends/OGL/VertexManager.cpp b/Source/Core/VideoBackends/OGL/VertexManager.cpp
index 9f8d87eceb..19b9734be2 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();
 }
 
+GLuint VertexManager::GetVertexBufferHandle() const
+{
+  return m_vertex_buffers;
+}
+
+GLuint VertexManager::GetIndexBufferHandle() const
+{
+  return m_index_buffers;
+}
+
 void VertexManager::PrepareDrawBuffers(u32 stride)
 {
   u32 vertex_data_size = IndexGenerator::GetNumVerts() * stride;
diff --git a/Source/Core/VideoBackends/OGL/VertexManager.h b/Source/Core/VideoBackends/OGL/VertexManager.h
index 6a4599d48e..de7cf08265 100644
--- a/Source/Core/VideoBackends/OGL/VertexManager.h
+++ b/Source/Core/VideoBackends/OGL/VertexManager.h
@@ -37,9 +37,8 @@ public:
   void CreateDeviceObjects() override;
   void DestroyDeviceObjects() override;
 
-  // NativeVertexFormat use this
-  GLuint m_vertex_buffers;
-  GLuint m_index_buffers;
+  GLuint GetVertexBufferHandle() const;
+  GLuint GetIndexBufferHandle() const;
 
 protected:
   void ResetBuffer(u32 stride) override;
@@ -49,6 +48,9 @@ private:
   void vFlush() override;
   void PrepareDrawBuffers(u32 stride);
 
+  GLuint m_vertex_buffers;
+  GLuint m_index_buffers;
+
   // Alternative buffers in CPU memory for primatives we are going to discard.
   std::vector<u8> m_cpu_v_buffer;
   std::vector<u16> m_cpu_i_buffer;