33 lines
752 B
C++
33 lines
752 B
C++
|
|
#include <stdio.h>
|
|
|
|
#include "checkGLError.h"
|
|
|
|
#define checkGLErrorCase(e) \
|
|
case (e): sprintf(msg, #e); break
|
|
|
|
GLenum _checkGLError(const char *fname, int lineno)
|
|
{
|
|
char msg[40];
|
|
GLenum e;
|
|
|
|
sprintf(msg, "Unknown");
|
|
e = glGetError();
|
|
switch (e)
|
|
{
|
|
checkGLErrorCase(GL_NO_ERROR);
|
|
checkGLErrorCase(GL_INVALID_ENUM);
|
|
checkGLErrorCase(GL_INVALID_VALUE);
|
|
checkGLErrorCase(GL_INVALID_OPERATION);
|
|
checkGLErrorCase(GL_STACK_OVERFLOW);
|
|
checkGLErrorCase(GL_STACK_UNDERFLOW);
|
|
checkGLErrorCase(GL_OUT_OF_MEMORY);
|
|
checkGLErrorCase(GL_TABLE_TOO_LARGE);
|
|
}
|
|
|
|
if (e != GL_NO_ERROR)
|
|
fprintf(stderr, "GL error %s at %s:%d\n", msg, fname, lineno);
|
|
|
|
return e;
|
|
}
|