From 88f746ab0e7a10d33f67b36744dfb6d8b8281748 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Sat, 15 Dec 2007 11:43:51 +0100
Subject: [PATCH] wined3d: Filter out some shader compilation spam.

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

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0c4f6e5fa32..42454c36c65 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);
     }
 }
-- 
GitLab