Felix Nawothnig : wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Mar 30 06:20:34 CDT 2007


Module: wine
Branch: master
Commit: 335f978e916ea4c872409ae2e97d92df17c6813b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=335f978e916ea4c872409ae2e97d92df17c6813b

Author: Felix Nawothnig <flexo at holycrap.org>
Date:   Wed Mar 28 19:17:51 2007 +0200

wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported.

---

 dlls/wined3d/context.c |   12 ++++++++----
 dlls/wined3d/state.c   |   24 ++++++++++++++++--------
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index b89207e..ab8e9ca 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -479,8 +479,10 @@ static inline void SetupForBlit(IWineD3DDeviceImpl *This, WineD3DContext *contex
             GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB + i));
             checkGLcall("glActiveTextureARB");
 
-            glDisable(GL_TEXTURE_CUBE_MAP_ARB);
-            checkGLcall("glDisable GL_TEXTURE_CUBE_MAP_ARB");
+            if(GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+                glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+                checkGLcall("glDisable GL_TEXTURE_CUBE_MAP_ARB");
+            }
             glDisable(GL_TEXTURE_3D);
             checkGLcall("glDisable GL_TEXTURE_3D");
             glDisable(GL_TEXTURE_2D);
@@ -497,8 +499,10 @@ static inline void SetupForBlit(IWineD3DDeviceImpl *This, WineD3DContext *contex
         GL_EXTCALL(glActiveTextureARB(GL_TEXTURE0_ARB));
         checkGLcall("glActiveTextureARB");
     }
-    glDisable(GL_TEXTURE_CUBE_MAP_ARB);
-    checkGLcall("glDisable GL_TEXTURE_CUBE_MAP_ARB");
+    if(GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+        glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+        checkGLcall("glDisable GL_TEXTURE_CUBE_MAP_ARB");
+    }
     glDisable(GL_TEXTURE_3D);
     checkGLcall("glDisable GL_TEXTURE_3D");
     glDisable(GL_TEXTURE_1D);
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 8e563fb..12ef928 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -1552,14 +1552,18 @@ static void activate_dimensions(DWORD stage, IWineD3DStateBlockImpl *stateblock)
             case GL_TEXTURE_2D:
                 glDisable(GL_TEXTURE_3D);
                 checkGLcall("glDisable(GL_TEXTURE_3D)");
-                glDisable(GL_TEXTURE_CUBE_MAP_ARB);
-                checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+                if(GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+                    glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+                    checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+                }
                 glEnable(GL_TEXTURE_2D);
                 checkGLcall("glEnable(GL_TEXTURE_2D)");
                 break;
             case GL_TEXTURE_3D:
-                glDisable(GL_TEXTURE_CUBE_MAP_ARB);
-                checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+                if(GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+                    glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+                    checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+                }
                 glDisable(GL_TEXTURE_2D);
                 checkGLcall("glDisable(GL_TEXTURE_2D)");
                 glEnable(GL_TEXTURE_3D);
@@ -1579,8 +1583,10 @@ static void activate_dimensions(DWORD stage, IWineD3DStateBlockImpl *stateblock)
         checkGLcall("glDisable(GL_TEXTURE_2D)");
         glDisable(GL_TEXTURE_3D);
         checkGLcall("glDisable(GL_TEXTURE_3D)");
-        glDisable(GL_TEXTURE_CUBE_MAP_ARB);
-        checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+        if(GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+            glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+            checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+        }
         glEnable(GL_TEXTURE_1D);
         checkGLcall("glEnable(GL_TEXTURE_1D)");
         /* Binding textures is done by samplers. A dummy texture will be bound */
@@ -1636,8 +1642,10 @@ static void tex_colorop(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3D
             checkGLcall("glDisable(GL_TEXTURE_2D)");
             glDisable(GL_TEXTURE_3D);
             checkGLcall("glDisable(GL_TEXTURE_3D)");
-            glDisable(GL_TEXTURE_CUBE_MAP_ARB);
-            checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+            if(GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
+                glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+                checkGLcall("glDisable(GL_TEXTURE_CUBE_MAP_ARB)");
+            }
         }
         /* All done */
         return;




More information about the wine-cvs mailing list