summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/VertexManager.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2017-07-20 15:25:29 +1000
committerStenzek <stenzek@gmail.com>2017-07-30 17:43:59 +1000
commitcd502990fa63e63c727d99ebf0defb3cf40583f9 (patch)
tree0c22866328492d2e5fc34cedd495d71b032e679a /Source/Core/VideoBackends/OGL/VertexManager.cpp
parent901bf9c257347c91101ca25e74037684dd519968 (diff)
OGL: Uber shader support
Diffstat (limited to 'Source/Core/VideoBackends/OGL/VertexManager.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/VertexManager.cpp31
1 files changed, 1 insertions, 30 deletions
diff --git a/Source/Core/VideoBackends/OGL/VertexManager.cpp b/Source/Core/VideoBackends/OGL/VertexManager.cpp
index eb7ce04c92..9f8d87eceb 100644
--- a/Source/Core/VideoBackends/OGL/VertexManager.cpp
+++ b/Source/Core/VideoBackends/OGL/VertexManager.cpp
@@ -53,8 +53,6 @@ void VertexManager::CreateDeviceObjects()
s_indexBuffer = StreamBuffer::Create(GL_ELEMENT_ARRAY_BUFFER, MAX_IBUFFER_SIZE);
m_index_buffers = s_indexBuffer->m_buffer;
-
- m_last_vao = 0;
}
void VertexManager::DestroyDeviceObjects()
@@ -142,22 +140,13 @@ void VertexManager::vFlush()
GLVertexFormat* nativeVertexFmt = (GLVertexFormat*)VertexLoaderManager::GetCurrentVertexFormat();
u32 stride = nativeVertexFmt->GetVertexStride();
- if (m_last_vao != nativeVertexFmt->VAO)
- {
- glBindVertexArray(nativeVertexFmt->VAO);
- m_last_vao = nativeVertexFmt->VAO;
- }
+ ProgramShaderCache::SetShader(m_current_primitive_type, nativeVertexFmt);
PrepareDrawBuffers(stride);
- ProgramShaderCache::SetShader(m_current_primitive_type);
-
// upload global constants
ProgramShaderCache::UploadConstants();
- // setup the pointers
- nativeVertexFmt->SetupVertexPointers();
-
if (::BoundingBox::active && !g_Config.BBoxUseFragmentShaderImplementation())
{
glEnable(GL_STENCIL_TEST);
@@ -171,24 +160,6 @@ void VertexManager::vFlush()
glDisable(GL_STENCIL_TEST);
}
-#if defined(_DEBUG) || defined(DEBUGFAST)
- if (g_ActiveConfig.iLog & CONF_SAVESHADERS)
- {
- // save the shaders
- ProgramShaderCache::PCacheEntry prog = ProgramShaderCache::GetShaderProgram();
- std::string filename = StringFromFormat(
- "%sps%.3d.txt", File::GetUserPath(D_DUMPFRAMES_IDX).c_str(), g_ActiveConfig.iSaveTargetId);
- std::ofstream fps;
- File::OpenFStream(fps, filename, std::ios_base::out);
- fps << prog.shader.strpprog;
-
- filename = StringFromFormat("%svs%.3d.txt", File::GetUserPath(D_DUMPFRAMES_IDX).c_str(),
- g_ActiveConfig.iSaveTargetId);
- std::ofstream fvs;
- File::OpenFStream(fvs, filename, std::ios_base::out);
- fvs << prog.shader.strvprog;
- }
-#endif
g_Config.iSaveTargetId++;
ClearEFBCache();
}