GlError.cpp
Go to the documentation of this file.
1 #include "GlError.hpp"
2 
3 #include "gl.h"
5 #include <ivorium_config.hpp>
6 
7 namespace iv
8 {
9 
10 void GlError_Check( Context const * logger, SrcInfo const & src_info )
11 {
12  GLenum err = glGetError();
13  if( err != GL_NO_ERROR )
14  {
15  char const * str = nullptr;
16  switch( err )
17  {
18  case GL_INVALID_ENUM: str = "GL_INVALID_ENUM"; break;
19  case GL_INVALID_VALUE: str = "GL_INVALID_VALUE"; break;
20  case GL_INVALID_OPERATION: str = "GL_INVALID_OPERATION"; break;
21  case GL_OUT_OF_MEMORY: str = "GL_OUT_OF_MEMORY"; break;
22  case GL_INVALID_FRAMEBUFFER_OPERATION: str = "GL_INVALID_FRAMEBUFFER_OPERATION"; break;
23  /*
24 #if IV_GLPLATFORM_GLFM
25  case GL_STACK_OVERFLOW: str = "GL_STACK_OVERFLOW"; break;
26  case GL_STACK_UNDERFLOW: str = "GL_STACK_UNDERFLOW"; break;
27  case GL_CONTEXT_LOST: str = "GL_CONTEXT_LOST"; break;
28 #endif*/
29  }
30 
31  if( str )
32  logger->log( src_info, iv::Defs::Log::Warning, "OpenGL error: ", str, "." );
33  else
34  logger->log( src_info, iv::Defs::Log::Warning, "Unknown OpenGL error: ", err, "." );
35  }
36 }
37 
38 }