summaryrefslogtreecommitdiffstats
path: root/video/out/gl_utils.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-29 15:50:21 +0100
committerwm4 <wm4@nowhere>2015-01-29 16:21:02 +0100
commit0bd147bd14e077389535234599b1c2b3b42cbf1c (patch)
tree787d689b195b07d7a00889d3f9c06eecedf39850 /video/out/gl_utils.c
parent1e67ce74d8a72d5a02b6e770fe2f7ab734c32dab (diff)
downloadmpv-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.c27
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);
+ }
+ }
+}