From 3fd4142f361bd6af2c147faf48e1d1d62d170067 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 21 Jan 2018 00:59:10 +1000 Subject: OGL: Track state of last bound vertex array object This reduces the overhead of calling glBindVertexArray() every time RestoreAPIState() is called, even when it is redundant. --- Source/Core/VideoBackends/OGL/TextureCache.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp') diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp index e5afa1399f..65324c608b 100644 --- a/Source/Core/VideoBackends/OGL/TextureCache.cpp +++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp @@ -320,7 +320,7 @@ void TextureCache::ConvertTexture(TCacheEntry* destination, TCacheEntry* source, glBindTexture(GL_TEXTURE_BUFFER, m_palette_resolv_texture); g_sampler_cache->BindNearestSampler(10); - OpenGL_BindAttributelessVAO(); + ProgramShaderCache::BindVertexFormat(nullptr); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); FramebufferManager::SetFramebuffer(0); @@ -496,8 +496,6 @@ void TextureCache::CopyEFBToCacheEntry(TCacheEntry* entry, bool is_depth_copy, FramebufferManager::SetFramebuffer(destination_texture->GetFramebuffer()); - OpenGL_BindAttributelessVAO(); - glActiveTexture(GL_TEXTURE9); glBindTexture(GL_TEXTURE_2D_ARRAY, read_texture); if (scale_by_half) @@ -539,6 +537,7 @@ void TextureCache::CopyEFBToCacheEntry(TCacheEntry* entry, bool is_depth_copy, glUniform4f(shader.position_uniform, static_cast(R.left), static_cast(R.top), static_cast(R.right), static_cast(R.bottom)); + ProgramShaderCache::BindVertexFormat(nullptr); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); FramebufferManager::SetFramebuffer(0); -- cgit v1.2.3