[PATCH] Changed print_glsl_info_log to fix messed up trace and fixme messages. Also simplified the function. Terminated the String correctly as well.

Chris Ahrendt celticht32 at aol.com
Thu Sep 4 07:52:56 CDT 2008


---
 dlls/wined3d/glsl_shader.c |   39 +++++++--------------------------------
 1 files changed, 7 insertions(+), 32 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index e89dbf3..26cb8ef 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -59,49 +59,24 @@ void print_glsl_info_log(WineD3D_GL_Info *gl_info, GLhandleARB obj) {
     int infologLength = 0;
     char *infoLog;
     int i;
-    BOOL is_spam;
-
-    const char *spam[] = {
-        "Vertex shader was successfully compiled to run on hardware.\n",    /* fglrx          */
-        "Fragment shader was successfully compiled to run on hardware.\n",  /* fglrx          */
-        "Fragment shader(s) linked, vertex shader(s) linked. \n ",          /* fglrx, with \n */
-        "Fragment shader(s) linked, vertex shader(s) linked.",              /* fglrx, no \n   */
-        "Vertex shader(s) linked, no fragment shader(s) defined. \n ",      /* fglrx, with \n */
-        "Vertex shader(s) linked, no fragment shader(s) defined.",          /* fglrx, no \n   */
-        "Fragment shader was successfully compiled to run on hardware.\nWARNING: 0:1: extension 'GL_ARB_draw_buffers' is not supported",
-        "Fragment shader(s) linked, no vertex shader(s) defined.",          /* fglrx, no \n   */
-        "Fragment shader(s) linked, no vertex shader(s) defined. \n ",      /* fglrx, with \n */
-        "WARNING: 0:2: extension 'GL_ARB_draw_buffers' is not supported\n"  /* MacOS ati      */
-    };
 
     GL_EXTCALL(glGetObjectParameterivARB(obj,
                GL_OBJECT_INFO_LOG_LENGTH_ARB,
                &infologLength));
 
-    /* A size of 1 is just a null-terminated string, so the log should be bigger than
-     * that if there are errors. */
-    if (infologLength > 1)
+    if (infologLength > 0)
     {
         /* Fglrx doesn't terminate the string properly, but it tells us the proper length.
          * So use HEAP_ZERO_MEMORY to avoid uninitialized bytes
          */
-        infoLog = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, infologLength);
-        GL_EXTCALL(glGetInfoLogARB(obj, infologLength, NULL, infoLog));
-        is_spam = FALSE;
+     infoLog = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, infologLength+1);
+     GL_EXTCALL(glGetInfoLogARB(obj, infologLength, NULL, infoLog));
 
-        for(i = 0; i < sizeof(spam) / sizeof(spam[0]); i++) {
-            if(strcmp(infoLog, spam[i]) == 0) {
-                is_spam = TRUE;
-                break;
-            }
-        }
-        if(is_spam) {
-            TRACE("Spam received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
-        } else {
-            FIXME("Error received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
-        }
-        HeapFree(GetProcessHeap(), 0, infoLog);
+     TRACE("Spam received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
+    } else {
+     FIXME("Error received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
     }
+    HeapFree(GetProcessHeap(), 0, infoLog);
 }
 
 /**
-- 
1.5.5.1


--------------050308060805090008000600--



More information about the wine-patches mailing list