]> gitweb.factorcode.org Git - factor.git/commitdiff
report opengl function name in gl-errors
authorJoe Groff <arcata@gmail.com>
Wed, 15 Jul 2009 18:53:57 +0000 (13:53 -0500)
committerJoe Groff <arcata@gmail.com>
Wed, 15 Jul 2009 18:53:57 +0000 (13:53 -0500)
basis/opengl/opengl.factor [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 7884890..196293a
@@ -30,7 +30,7 @@ IN: opengl
         { HEX: 0506 "Invalid framebuffer operation" }
     } at "Unknown error" or ;
 
-TUPLE: gl-error code string ;
+TUPLE: gl-error function code string ;
 
 TUPLE: gl-error-log
     { function word initial: t }
@@ -39,17 +39,20 @@ TUPLE: gl-error-log
 
 gl-error-log [ V{ } clone ] initialize
 
-: <gl-error> ( code -- gl-error )
+: <gl-error> ( function code -- gl-error )
     dup error>string \ gl-error boa ; inline
 
 : <gl-error-log> ( function code -- gl-error-log )
-    <gl-error> now gl-error-log boa ;
+    [ dup ] dip <gl-error> now gl-error-log boa ;
 
 : gl-error-code ( -- code/f )
     glGetError dup 0 = [ drop f ] when ; inline
 
+: (gl-error) ( function -- )
+    gl-error-code [ <gl-error> throw ] [ drop ] if* ;
+
 : gl-error ( -- )
-    gl-error-code [ <gl-error> throw ] [ ] if* ;
+    f (gl-error) ; inline
 
 : log-gl-error ( function -- )
     gl-error-code [ <gl-error-log> gl-error-log get push ] [ drop ] if* ;
@@ -72,7 +75,7 @@ gl-error-log [ V{ } clone ] initialize
     V{ } clone gl-error-log set ;
 
 : throw-gl-errors ( -- )
-    [ drop '[ @ gl-error ] ] annotate-gl-functions ;
+    [ '[ @ _ (gl-error) ] ] annotate-gl-functions ;
 
 : log-gl-errors ( -- )
     [ '[ @ _ log-gl-error ] ] annotate-gl-functions ;