فهرست منبع

Merge pull request #977 from yuriks/glenable-tex2d

GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
bunnei 11 سال پیش
والد
کامیت
cea45af64d
1فایلهای تغییر یافته به همراه5 افزوده شده و 8 حذف شده
  1. 5 8
      src/video_core/renderer_opengl/gl_state.cpp

+ 5 - 8
src/video_core/renderer_opengl/gl_state.cpp

@@ -147,20 +147,17 @@ void OpenGLState::Apply() {
 
 
     // Textures
     // Textures
     for (unsigned texture_index = 0; texture_index < ARRAY_SIZE(texture_units); ++texture_index) {
     for (unsigned texture_index = 0; texture_index < ARRAY_SIZE(texture_units); ++texture_index) {
-        if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d) {
+        if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d ||
+            texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) {
+
             glActiveTexture(GL_TEXTURE0 + texture_index);
             glActiveTexture(GL_TEXTURE0 + texture_index);
 
 
             if (texture_units[texture_index].enabled_2d) {
             if (texture_units[texture_index].enabled_2d) {
-                glEnable(GL_TEXTURE_2D);
+                glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d);
             } else {
             } else {
-                glDisable(GL_TEXTURE_2D);
+                glBindTexture(GL_TEXTURE_2D, 0);
             }
             }
         }
         }
-
-        if (texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) {
-            glActiveTexture(GL_TEXTURE0 + texture_index);
-            glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d);
-        }
     }
     }
 
 
     // Framebuffer
     // Framebuffer