summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.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/Render.cpp
parent901bf9c257347c91101ca25e74037684dd519968 (diff)
OGL: Uber shader support
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 66edbf5d74..b8a14869d0 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -1472,6 +1472,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight,
// Clean out old stuff from caches. It's not worth it to clean out the shader caches.
g_texture_cache->Cleanup(frameCount);
+ ProgramShaderCache::RetrieveAsyncShaders();
// Render to the framebuffer.
FramebufferManager::SetFramebuffer(0);
@@ -1768,10 +1769,9 @@ void Renderer::RestoreAPIState()
SetBlendMode(true);
SetViewport();
+ ProgramShaderCache::BindLastVertexFormat();
const VertexManager* const vm = static_cast<VertexManager*>(g_vertex_manager.get());
glBindBuffer(GL_ARRAY_BUFFER, vm->m_vertex_buffers);
- if (vm->m_last_vao)
- glBindVertexArray(vm->m_last_vao);
OGLTexture::SetStage();
}