libobs-opengl: Add error enum to string function

This commit is contained in:
Kurt Kartaltepe 2019-07-08 19:22:55 -07:00
parent 3b581a3727
commit 16752c4bb4

View File

@ -17,6 +17,50 @@
#pragma once
static char *gl_error_to_str(GLenum errorcode)
{
static void *err_to_str[][2] = {
{
GL_INVALID_ENUM,
"GL_INVALID_ENUM",
},
{
GL_INVALID_VALUE,
"GL_INVALID_VALUE",
},
{
GL_INVALID_OPERATION,
"GL_INVALID_OPERATION",
},
{
GL_INVALID_FRAMEBUFFER_OPERATION,
"GL_INVALID_FRAMEBUFFER_OPERATION",
},
{
GL_OUT_OF_MEMORY,
"GL_OUT_OF_MEMORY",
},
{
GL_STACK_UNDERFLOW,
"GL_STACK_UNDERFLOW",
},
{
GL_STACK_OVERFLOW,
"GL_STACK_OVERFLOW",
},
{
NULL,
"Unknown",
},
};
int i = 0;
while ((GLenum)err_to_str[i][0] != errorcode ||
err_to_str[i][0] == NULL) {
i += 2;
}
return err_to_str[i][1];
}
/*
* Okay, so GL error handling is.. unclean to work with. I don't want
* to have to keep typing out the same stuff over and over again do I'll just
@ -28,8 +72,9 @@ static inline bool gl_success(const char *funcname)
GLenum errorcode = glGetError();
if (errorcode != GL_NO_ERROR) {
do {
blog(LOG_ERROR, "%s failed, glGetError returned 0x%X",
funcname, errorcode);
blog(LOG_ERROR,
"%s failed, glGetError returned %s(0x%X)",
funcname, gl_error_to_str(errorcode), errorcode);
errorcode = glGetError();
} while (errorcode != GL_NO_ERROR);
return false;