This commit is contained in:
jp9000 2014-01-07 23:22:00 -07:00
commit aac09ca31a
3 changed files with 10 additions and 16 deletions

View File

@ -72,9 +72,10 @@ static void GLEW_TEMP_API gl_debug_proc(
static void gl_enable_debug()
{
/* Perhaps we should create GLEW contexts? */
if (GLEW_ARB_debug_output)
if (GLEW_VERSION_4_3)
glDebugMessageCallback(gl_debug_proc, NULL);
if (GLEW_ARB_debug_output)
glDebugMessageCallbackARB(gl_debug_proc, NULL);
else {
blog(LOG_DEBUG, "Failed to set GL debug callback as it is "
"not supported.");

View File

@ -237,6 +237,7 @@ static inline void required_extension_error(const char *extension)
static bool gl_init_extensions(device_t device)
{
glewExperimental = true;
GLenum errorcode = glewInit();
if (errorcode != GLEW_OK) {
blog(LOG_ERROR, "glewInit failed, %u", errorcode);

View File

@ -26,19 +26,7 @@ static const GLenum ctx_attribs[] = {
None,
};
static const char* __GLX_error_table[] = {
"Success",
"Bad Screen",
"Bad Attribute",
"No Extension",
"Bad Visual",
"Bad Content",
"Bad Value",
"Bad Enumeration"
};
#define GET_GLX_ERROR(x) \
__GLX_error_table[x]
#define ERROR_TEXT_LEN 1024
struct gl_windowinfo {
uint32_t id;
@ -52,7 +40,11 @@ struct gl_platform {
static int GLXErrorHandler(Display *disp, XErrorEvent *error)
{
blog(LOG_ERROR, "GLX error: %s\n", GET_GLX_ERROR(error->error_code));
char error_buf[ERROR_TEXT_LEN];
XGetErrorText(disp, error->error_code, error_buf, ERROR_TEXT_LEN);
blog(LOG_ERROR, "GLX error: %s\n", error_buf);
return 0;
}