[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