WINED3D: Fix a few FIXME's

H. Verbeet hverbeet at gmail.com
Mon Mar 6 17:29:03 CST 2006


The output of glGetString(GL_PROGRAM_ERROR_STRING_ARB) can get too
large for a normal FIXME. Use fprintf to stderr instead, this time
with debugstr_a.
This should fix Bug 3945 / 4746.

Changelog:
 - Use fprintf to stderr instead of FIXME for the output of
glGetString(GL_PROGRAM_ERROR_STRING_ARB)
-------------- next part --------------
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 4a7468b..e18b790 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -28,9 +28,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d_draw);
 WINE_DECLARE_DEBUG_CHANNEL(d3d_shader);
 #define GLINFO_LOCATION ((IWineD3DImpl *)(This->wineD3D))->gl_info
 
-#ifdef SHOW_FRAME_MAKEUP
 #include <stdio.h>
-#endif
 
 #if 0 /* TODO */
 extern IWineD3DVertexShaderImpl*            VertexShaders[64];
@@ -1820,7 +1818,10 @@ UINT numberOfvertices, UINT numberOfIndi
             /* check for any errors */
             glGetIntegerv( GL_PROGRAM_ERROR_POSITION_ARB, &errPos );
             if (errPos != -1) {
-                FIXME("HW VertexShader Error at position: %d\n%s\n", errPos, glGetString( GL_PROGRAM_ERROR_STRING_ARB) );
+                FIXME("HW VertexShader Error at position: %d\n", errPos);
+                if (FIXME_ON(d3d_draw)) {
+                    fprintf(stderr, "%s\n", debugstr_a(glGetString(GL_PROGRAM_ERROR_STRING_ARB)));
+                }
             }
 
             /* disable any attribs */
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 81b8bd3..9593bde 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -1512,7 +1512,10 @@ inline static VOID IWineD3DPixelShaderIm
         if (glGetError() == GL_INVALID_OPERATION) {
             GLint errPos;
             glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errPos);
-            FIXME("HW PixelShader Error at position: %d\n%s\n", errPos, glGetString(GL_PROGRAM_ERROR_STRING_ARB));
+            FIXME("HW PixelShader Error at position: %d\n", errPos);
+            if (FIXME_ON(d3d_shader)) {
+                fprintf(stderr, "%s\n", debugstr_a(glGetString(GL_PROGRAM_ERROR_STRING_ARB)));
+            }
             This->prgId = -1;
         }
     }
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index 32dd70f..5bc248d 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -1650,7 +1650,10 @@ inline static VOID IWineD3DVertexShaderI
       if (glGetError() == GL_INVALID_OPERATION) {
           GLint errPos;
           glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errPos);
-          FIXME("HW VertexShader Error at position: %d\n%s\n", errPos, glGetString(GL_PROGRAM_ERROR_STRING_ARB));
+          FIXME("HW VertexShader Error at position: %d\n", errPos);
+          if (FIXME_ON(d3d_shader)) {
+              fprintf(stderr, "%s\n", debugstr_a(glGetString(GL_PROGRAM_ERROR_STRING_ARB)));
+          }
           This->prgId = -1;
       }
   }



More information about the wine-patches mailing list