From 992c18aabb8af8af2b73afb83151a8d19ec68d91 Mon Sep 17 00:00:00 2001 From: vladislavbelov Date: Sat, 12 Mar 2022 22:10:47 +0000 Subject: [PATCH] Enables ARB shaders only once since we should not mix different backends. This was SVN commit r26629. --- source/graphics/ShaderProgram.cpp | 4 ---- source/renderer/backend/gl/Device.cpp | 8 ++++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/source/graphics/ShaderProgram.cpp b/source/graphics/ShaderProgram.cpp index a537e6cbf9..e05ebac604 100644 --- a/source/graphics/ShaderProgram.cpp +++ b/source/graphics/ShaderProgram.cpp @@ -198,8 +198,6 @@ public: void Bind() override { - glEnable(GL_VERTEX_PROGRAM_ARB); - glEnable(GL_FRAGMENT_PROGRAM_ARB); glBindProgramARB(GL_VERTEX_PROGRAM_ARB, m_VertexProgram); glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, m_FragmentProgram); @@ -208,8 +206,6 @@ public: void Unbind() override { - glDisable(GL_VERTEX_PROGRAM_ARB); - glDisable(GL_FRAGMENT_PROGRAM_ARB); glBindProgramARB(GL_VERTEX_PROGRAM_ARB, 0); glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, 0); diff --git a/source/renderer/backend/gl/Device.cpp b/source/renderer/backend/gl/Device.cpp index f395dce746..2036c9f2cb 100644 --- a/source/renderer/backend/gl/Device.cpp +++ b/source/renderer/backend/gl/Device.cpp @@ -289,6 +289,14 @@ std::unique_ptr CDevice::Create(SDL_Window* window, const bool arb) glEnable(GL_TEXTURE_2D); + if (arb) + { +#if !CONFIG2_GLES + glEnable(GL_VERTEX_PROGRAM_ARB); + glEnable(GL_FRAGMENT_PROGRAM_ARB); +#endif + } + device->m_Backbuffer = CFramebuffer::CreateBackbuffer(device.get()); Capabilities& capabilities = device->m_Capabilities;