Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ** error.h
- **
- ** Copyright (c) 2008 Max Rupp (feelgood@cs.pdx.edu) All rights reserved.
- */
- #ifndef __ERROR_H__
- #define __ERROR_H__
- #ifdef DEBUG
- #include <stdlib.h>
- #include <assert.h>
- #define eglError( Error )\
- {\
- printf( "\n%s\n\n", Error );\
- \
- assert( 0 );\
- }
- #define eglGetError( )\
- {\
- for ( GLenum Error = glGetError( ); ( GL_NO_ERROR != Error ); Error = glGetError( ) )\
- {\
- switch ( Error )\
- {\
- case GL_INVALID_ENUM: eglError( "GL_INVALID_ENUM" ); break;\
- case GL_INVALID_VALUE: eglError( "GL_INVALID_VALUE" ); break;\
- case GL_INVALID_OPERATION: eglError( "GL_INVALID_OPERATION" ); break;\
- case GL_STACK_OVERFLOW: eglError( "GL_STACK_OVERFLOW" ); break;\
- case GL_STACK_UNDERFLOW: eglError( "GL_STACK_UNDERFLOW" ); break;\
- case GL_OUT_OF_MEMORY: eglError( "GL_OUT_OF_MEMORY" ); break;\
- default: break;\
- }\
- }\
- }
- #define eglCheckFramebufferStatus( )\
- {\
- switch ( glCheckFramebufferStatusEXT( GL_FRAMEBUFFER_EXT ) )\
- {\
- case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT" ); break;\
- case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT" ); break;\
- case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT" ); break;\
- case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT" ); break;\
- case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT" ); break;\
- case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT" ); break;\
- case GL_FRAMEBUFFER_UNSUPPORTED_EXT: eglError( "GL_FRAMEBUFFER_UNSUPPORTED_EXT" ); break;\
- case GL_INVALID_FRAMEBUFFER_OPERATION_EXT: eglError( "GL_INVALID_FRAMEBUFFER_OPERATION_EXT" ); break;\
- default: break;\
- }\
- }
- #define eglGetShaderInfoLog( Shader, Source )\
- {\
- GLint Status, Count;\
- GLchar *Error;\
- \
- glGetShaderiv( Shader, GL_COMPILE_STATUS, &Status );\
- \
- if ( !Status )\
- {\
- glGetShaderiv( Shader, GL_INFO_LOG_LENGTH, &Count );\
- \
- if ( Count > 0 )\
- {\
- glGetShaderInfoLog( Shader, Count, NULL, ( Error = calloc( 1, Count ) ) );\
- \
- printf( "%s\n\n%s\n", Source, Error );\
- \
- free( Error );\
- \
- assert( 0 );\
- }\
- }\
- }
- #else
- #define eglError( Error )
- #define eglGetError( )
- #define eglCheckFramebufferStatus( )
- #define eglGetShaderInfoLog(Shader, Source)
- #endif /* DEBUG */
- #endif /* __ERROR_H__ */
Add Comment
Please, Sign In to add comment