diff options
author | wm4 <wm4@nowhere> | 2015-01-29 15:50:21 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-29 16:21:02 +0100 |
commit | 0bd147bd14e077389535234599b1c2b3b42cbf1c (patch) | |
tree | 787d689b195b07d7a00889d3f9c06eecedf39850 /video/out/gl_utils.c | |
parent | 1e67ce74d8a72d5a02b6e770fe2f7ab734c32dab (diff) | |
download | mpv-0bd147bd14e077389535234599b1c2b3b42cbf1c.tar.bz2 mpv-0bd147bd14e077389535234599b1c2b3b42cbf1c.tar.xz |
vo_opengl: some minor cleanups
default_tex_params() and texture_size() are each called only once, so
move inline/reimplement them at the caller.
image_dw/dh were unused. texture_w/h, image_format, and component_bits
were rarely used, and can be replaced. Regroup some other fields.
Rename surface_num to surface_idx, because the former sounded like a
count, and not an index. Move fbosurface_next() closer to its callers
too.
Move the DebugMessageCallback() code to gl_utils.c (also simplify it
by always setting the callback, instead of only when it changes).
Diffstat (limited to 'video/out/gl_utils.c')
-rw-r--r-- | video/out/gl_utils.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/video/out/gl_utils.c b/video/out/gl_utils.c index 09949f2440..10708451b9 100644 --- a/video/out/gl_utils.c +++ b/video/out/gl_utils.c @@ -374,3 +374,30 @@ void gl_matrix_ortho2d(float m[3][3], float x0, float x1, float y0, float y1) m[2][1] = -(y1 + y0) / (y1 - y0); m[2][2] = 1.0f; } + +static void GLAPIENTRY gl_debug_cb(GLenum source, GLenum type, GLuint id, + GLenum severity, GLsizei length, + const GLchar *message, const void *userParam) +{ + // keep in mind that the debug callback can be asynchronous + struct mp_log *log = (void *)userParam; + int level = MSGL_ERR; + switch (severity) { + case GL_DEBUG_SEVERITY_NOTIFICATION:level = MSGL_V; break; + case GL_DEBUG_SEVERITY_LOW: level = MSGL_INFO; break; + case GL_DEBUG_SEVERITY_MEDIUM: level = MSGL_WARN; break; + case GL_DEBUG_SEVERITY_HIGH: level = MSGL_ERR; break; + } + mp_msg(log, level, "GL: %s\n", message); +} + +void gl_set_debug_logger(GL *gl, struct mp_log *log) +{ + if (gl->DebugMessageCallback) { + if (log) { + gl->DebugMessageCallback(gl_debug_cb, log); + } else { + gl->DebugMessageCallback(NULL, NULL); + } + } +} |