gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gfx demo/irregu3.py libcallgl/callgl.cxx


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/gfx demo/irregu3.py libcallgl/callgl.cxx
Date: Fri, 01 Nov 2002 10:42:34 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/01 10:42:34

Modified files:
        gfx/demo       : irregu3.py 
        gfx/libcallgl  : callgl.cxx 

Log message:
        Enhance GL program error messages and make irregu3 fragment program 
syntactically correct

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/irregu3.py.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libcallgl/callgl.cxx.diff?tr1=1.31&tr2=1.32&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/irregu3.py
diff -u gzz/gfx/demo/irregu3.py:1.37 gzz/gfx/demo/irregu3.py:1.38
--- gzz/gfx/demo/irregu3.py:1.37        Fri Nov  1 06:24:11 2002
+++ gzz/gfx/demo/irregu3.py     Fri Nov  1 10:42:34 2002
@@ -88,18 +88,18 @@
             ADD R3, R3, -f[TEX1];
             TEX R4, R2, TEX0, 2D;
             TEX R5, R3, TEX0, 2D;
-            MAX R4, R4, R5
+            MAX R4, R4, R5;
             """
 
             if dh[i]:
                 code += """
                 # Add dh[r] value multiplied by f[TEX1].z
-                MAD R4, %s, f[TEX1].z, R4
+                MAD R4, %s, f[TEX1].z, R4;
                 """  % dh[i]
 
             code += """
             # Store maximum found in R1
-            MAX R1, R1, R4
+            MAX R1, R1, R4;
             """
 
         code += """
Index: gzz/gfx/libcallgl/callgl.cxx
diff -u gzz/gfx/libcallgl/callgl.cxx:1.31 gzz/gfx/libcallgl/callgl.cxx:1.32
--- gzz/gfx/libcallgl/callgl.cxx:1.31   Fri Nov  1 08:05:01 2002
+++ gzz/gfx/libcallgl/callgl.cxx        Fri Nov  1 10:42:34 2002
@@ -689,49 +689,60 @@
        
        er = glGetError(); 
        if (er != GL_NO_ERROR) {
-         GLint errpos;
-         
-         cerr << "OPENGL ERROR " 
-              << gluErrorString(er)
-              << " when loading " 
-              << getTokenString(TARGET) 
-              << " program\n"; 
-
-         glGetIntegerv(GL_PROGRAM_ERROR_POSITION_NV, &errpos);
-         std::cerr << "Program error position: " << errpos << "\n";
-         return false;
+           GLint errpos;
+           
+           cerr << "OPENGL ERROR " 
+                << gluErrorString(er)
+                << " when loading " 
+                << getTokenString(TARGET) 
+                << " program\n"; 
+           
+           glGetIntegerv(GL_PROGRAM_ERROR_POSITION_NV, &errpos);
+           if (errpos >= 0 && (unsigned)errpos < source.length()) {
+               std::cerr << "Program error at position " << errpos << ":\n";
+               std::cerr << source.substr(0, errpos) 
+                         << "<ERROR HERE>" 
+                         << source.substr(errpos, source.length());
+           }
+           return false;
        }
 #endif
        return true;
     }
-
+    
     bool loadARBProg(GLuint TARGET, GLuint id, const string source) {
        int er = glGetError(); 
        if (er != GL_NO_ERROR)
-         cerr << "Warning: OPENGL ERROR " 
-              << gluErrorString(er)
-              << " before loading " 
-              << getTokenString(TARGET) 
-              << " program\n"; 
+           cerr << "Warning: OPENGL ERROR " 
+                << gluErrorString(er)
+                << " before loading " 
+                << getTokenString(TARGET) 
+                << " program\n"; 
 
-#ifdef PROGRAM_ERROR_STRING_ARB // XXX: how to test support?
+#ifdef GL_PROGRAM_ERROR_STRING_ARB // XXX: how to test support?
        glBindProgramARB(TARGET, id);
-       glProgramStringARB(TARGET, PROGRAM_FORMAT_ASCII_ARB, 
+       glProgramStringARB(TARGET, GL_PROGRAM_FORMAT_ASCII_ARB, 
                           source.length(), (GLubyte*)source.data());
        er = glGetError(); 
        if (er != GL_NO_ERROR) {
-         GLint errpos;
+           GLint errpos;
          
-         cerr << "OPENGL ERROR " 
-              << gluErrorString(er)
-              << " when loading " 
-              << getTokenString(TARGET) 
-              << " program\n"; 
+           cerr << "OPENGL ERROR " 
+                << gluErrorString(er)
+                << " when loading " 
+                << getTokenString(TARGET) 
+                << " program\n"; 
 
-         glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errpos);
-         std::cerr << "PRGORAM ERROR: " 
-                   << glGetString(GL_PROGRAM_ERROR_STRING_ARB)
-                   << " at position " << errpos << "\n";
+           glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errpos);
+           if (errpos >= 0 && (unsigned)errpos < source.length()) {
+               std::cerr << "PRGORAM ERROR: " 
+                         << glGetString(GL_PROGRAM_ERROR_STRING_ARB)
+                         << " at position " << errpos << ":\n";
+               std::cerr << "Program error at position " << errpos << ":\n";
+               std::cerr << source.substr(0, errpos) 
+                         << "<ERROR HERE>" 
+                         << source.substr(errpos, source.length());
+         }
          return false;
        }
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]