Stefan Dösinger : wined3d: Filter out some shader compilation spam.

Alexandre Julliard julliard at winehq.org
Tue Dec 18 07:34:51 CST 2007


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Sat Dec 15 11:43:51 2007 +0100

wined3d: Filter out some shader compilation spam.

---

 dlls/wined3d/glsl_shader.c |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0c4f6e5..42454c3 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -56,6 +56,14 @@ 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."               /* fglrx, no \n */
+    };
 
     GL_EXTCALL(glGetObjectParameterivARB(obj,
                GL_OBJECT_INFO_LOG_LENGTH_ARB,
@@ -67,7 +75,19 @@ void print_glsl_info_log(WineD3D_GL_Info *gl_info, GLhandleARB obj) {
     {
         infoLog = HeapAlloc(GetProcessHeap(), 0, infologLength);
         GL_EXTCALL(glGetInfoLogARB(obj, infologLength, NULL, infoLog));
-        FIXME("Error received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
+        is_spam = FALSE;
+
+        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);
     }
 }




More information about the wine-cvs mailing list