Просмотр исходного кода

gl_shader_manager: Unbind GLSL program when binding a host pipeline

Fixes regression in Link's Awakening caused by 420cc13248350ef5c2d19e0b961cb4185cd16a8a
ReinUsesLisp 6 лет назад
Родитель
Сommit
c13e2f1b75
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      src/video_core/renderer_opengl/gl_shader_manager.cpp

+ 4 - 0
src/video_core/renderer_opengl/gl_shader_manager.cpp

@@ -47,6 +47,10 @@ void ProgramManager::BindHostPipeline(GLuint pipeline) {
             old_state.geometry = 0;
             old_state.geometry = 0;
             glDisable(GL_GEOMETRY_PROGRAM_NV);
             glDisable(GL_GEOMETRY_PROGRAM_NV);
         }
         }
+    } else {
+        if (!is_graphics_bound) {
+            glUseProgram(0);
+        }
     }
     }
     glBindProgramPipeline(pipeline);
     glBindProgramPipeline(pipeline);
 }
 }