mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-05 04:08:13 +02:00
gl: Pretty print the error GLenum.
This commit is contained in:
parent
7ef1bd22de
commit
2325d755b0
2 changed files with 21 additions and 1 deletions
|
|
@ -204,10 +204,11 @@ typedef struct _cairo_gl_composite {
|
|||
|
||||
cairo_private extern const cairo_surface_backend_t _cairo_gl_surface_backend;
|
||||
|
||||
cairo_private const char *_cairo_gl_error_to_string (GLenum err);
|
||||
#define _cairo_gl_check_error() do { \
|
||||
GLenum err; \
|
||||
while ((err = glGetError ())) \
|
||||
fprintf (stderr, "%s:%d: GL error 0x%08x\n", __FILE__,__LINE__, (int) err); \
|
||||
fprintf (stderr, "%s:%d: GL error 0x%04x: %s\n", __FILE__,__LINE__, (int) err, _cairo_gl_error_to_string (err)); \
|
||||
} while (0)
|
||||
|
||||
static inline cairo_device_t *
|
||||
|
|
|
|||
|
|
@ -58,6 +58,25 @@ static cairo_bool_t _cairo_surface_is_gl (cairo_surface_t *surface)
|
|||
return surface->backend == &_cairo_gl_surface_backend;
|
||||
}
|
||||
|
||||
const char *_cairo_gl_error_to_string (GLenum err)
|
||||
{
|
||||
switch ((int) err) {
|
||||
case GL_NO_ERROR:
|
||||
ASSERT_NOT_REACHED;
|
||||
return "success";
|
||||
|
||||
case GL_INVALID_ENUM: return "invalid enum";
|
||||
case GL_INVALID_VALUE: return "invalid value";
|
||||
case GL_INVALID_OPERATION: return "invalid operation";
|
||||
case GL_STACK_OVERFLOW: return "stack overflow";
|
||||
case GL_STACK_UNDERFLOW: return "stack underflow";
|
||||
case GL_OUT_OF_MEMORY: return "out of memory";
|
||||
|
||||
default:
|
||||
return "unknown error";
|
||||
}
|
||||
}
|
||||
|
||||
cairo_bool_t
|
||||
_cairo_gl_get_image_format_and_type (pixman_format_code_t pixman_format,
|
||||
GLenum *internal_format, GLenum *format,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue