Guest User

Untitled

a guest
Jun 21st, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. /*
  2. ** error.h
  3. **
  4. ** Copyright (c) 2008 Max Rupp (feelgood@cs.pdx.edu) All rights reserved.
  5. */
  6.  
  7. #ifndef __ERROR_H__
  8. #define __ERROR_H__
  9.  
  10. #ifdef DEBUG
  11.  
  12. #include <stdlib.h>
  13. #include <assert.h>
  14.  
  15. #define eglError( Error )\
  16. {\
  17. printf( "\n%s\n\n", Error );\
  18. \
  19. assert( 0 );\
  20. }
  21.  
  22. #define eglGetError( )\
  23. {\
  24. for ( GLenum Error = glGetError( ); ( GL_NO_ERROR != Error ); Error = glGetError( ) )\
  25. {\
  26. switch ( Error )\
  27. {\
  28. case GL_INVALID_ENUM: eglError( "GL_INVALID_ENUM" ); break;\
  29. case GL_INVALID_VALUE: eglError( "GL_INVALID_VALUE" ); break;\
  30. case GL_INVALID_OPERATION: eglError( "GL_INVALID_OPERATION" ); break;\
  31. case GL_STACK_OVERFLOW: eglError( "GL_STACK_OVERFLOW" ); break;\
  32. case GL_STACK_UNDERFLOW: eglError( "GL_STACK_UNDERFLOW" ); break;\
  33. case GL_OUT_OF_MEMORY: eglError( "GL_OUT_OF_MEMORY" ); break;\
  34. default: break;\
  35. }\
  36. }\
  37. }
  38.  
  39. #define eglCheckFramebufferStatus( )\
  40. {\
  41. switch ( glCheckFramebufferStatusEXT( GL_FRAMEBUFFER_EXT ) )\
  42. {\
  43. case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT" ); break;\
  44. case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT" ); break;\
  45. case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT" ); break;\
  46. case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT" ); break;\
  47. case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT" ); break;\
  48. case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: eglError( "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT" ); break;\
  49. case GL_FRAMEBUFFER_UNSUPPORTED_EXT: eglError( "GL_FRAMEBUFFER_UNSUPPORTED_EXT" ); break;\
  50. case GL_INVALID_FRAMEBUFFER_OPERATION_EXT: eglError( "GL_INVALID_FRAMEBUFFER_OPERATION_EXT" ); break;\
  51. default: break;\
  52. }\
  53. }
  54.  
  55. #define eglGetShaderInfoLog( Shader, Source )\
  56. {\
  57. GLint Status, Count;\
  58. GLchar *Error;\
  59. \
  60. glGetShaderiv( Shader, GL_COMPILE_STATUS, &Status );\
  61. \
  62. if ( !Status )\
  63. {\
  64. glGetShaderiv( Shader, GL_INFO_LOG_LENGTH, &Count );\
  65. \
  66. if ( Count > 0 )\
  67. {\
  68. glGetShaderInfoLog( Shader, Count, NULL, ( Error = calloc( 1, Count ) ) );\
  69. \
  70. printf( "%s\n\n%s\n", Source, Error );\
  71. \
  72. free( Error );\
  73. \
  74. assert( 0 );\
  75. }\
  76. }\
  77. }
  78.  
  79. #else
  80.  
  81. #define eglError( Error )
  82.  
  83. #define eglGetError( )
  84.  
  85. #define eglCheckFramebufferStatus( )
  86.  
  87. #define eglGetShaderInfoLog(Shader, Source)
  88.  
  89. #endif /* DEBUG */
  90. #endif /* __ERROR_H__ */
Add Comment
Please, Sign In to add comment