[vlc-devel] [PATCH 03/10] opengl: move "dump shaders" flag to renderer
Romain Vimont
rom1v at videolabs.io
Thu Jun 4 11:52:11 CEST 2020
For now, only the renderer dumps its shaders depending on the verbose
level.
This simplifies vlc_gl_renderer_New(), and paves the way to convert the
renderer to an OpenGL filter.
---
modules/video_output/opengl/renderer.c | 8 ++++----
modules/video_output/opengl/renderer.h | 7 +++----
modules/video_output/opengl/vout_helper.c | 5 +----
3 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/modules/video_output/opengl/renderer.c b/modules/video_output/opengl/renderer.c
index 70e05338c7ea..c98d2f4b76d8 100644
--- a/modules/video_output/opengl/renderer.c
+++ b/modules/video_output/opengl/renderer.c
@@ -192,7 +192,7 @@ BuildVertexShader(const struct vlc_gl_renderer *renderer)
if (asprintf(&code, template, renderer->glsl_version) < 0)
return NULL;
- if (renderer->b_dump_shaders)
+ if (renderer->dump_shaders)
msg_Dbg(renderer->gl, "\n=== Vertex shader for fourcc: %4.4s ===\n%s\n",
(const char *) &renderer->sampler->fmt->i_chroma, code);
return code;
@@ -222,7 +222,7 @@ BuildFragmentShader(struct vlc_gl_renderer *renderer)
if (ret < 0)
return NULL;
- if (renderer->b_dump_shaders)
+ if (renderer->dump_shaders)
msg_Dbg(renderer->gl, "\n=== Fragment shader for fourcc: %4.4s, colorspace: %d ===\n%s\n",
(const char *) &sampler->fmt->i_chroma,
sampler->fmt->space, code);
@@ -318,7 +318,7 @@ static int SetupCoords(struct vlc_gl_renderer *renderer);
struct vlc_gl_renderer *
vlc_gl_renderer_New(vlc_gl_t *gl, const struct vlc_gl_api *api,
- struct vlc_gl_sampler *sampler, bool b_dump_shaders)
+ struct vlc_gl_sampler *sampler)
{
const opengl_vtable_t *vt = &api->vt;
const video_format_t *fmt = sampler->fmt;
@@ -332,7 +332,7 @@ vlc_gl_renderer_New(vlc_gl_t *gl, const struct vlc_gl_api *api,
renderer->gl = gl;
renderer->api = api;
renderer->vt = vt;
- renderer->b_dump_shaders = b_dump_shaders;
+ renderer->dump_shaders = var_InheritInteger(gl, "verbose") >= 4;
#if defined(USE_OPENGL_ES2)
renderer->glsl_version = 100;
renderer->glsl_precision_header = "precision highp float;\n";
diff --git a/modules/video_output/opengl/renderer.h b/modules/video_output/opengl/renderer.h
index 6e3f34b9de33..af2dbd538ff3 100644
--- a/modules/video_output/opengl/renderer.h
+++ b/modules/video_output/opengl/renderer.h
@@ -47,8 +47,8 @@ struct vlc_gl_renderer
const struct vlc_gl_api *api;
const opengl_vtable_t *vt; /* for convenience, same as &api->vt */
- /* True to dump shaders, set by the caller */
- bool b_dump_shaders;
+ /* True to dump shaders */
+ bool dump_shaders;
/* GLSL version, set by the caller. 100 for GLSL ES, 120 for desktop GLSL */
unsigned glsl_version;
@@ -103,11 +103,10 @@ struct vlc_gl_renderer
* \param gl the GL context
* \param api the OpenGL API
* \param sampler the OpenGL sampler
- * \param dump_shaders indicate if the shaders must be dumped in logs
*/
struct vlc_gl_renderer *
vlc_gl_renderer_New(vlc_gl_t *gl, const struct vlc_gl_api *api,
- struct vlc_gl_sampler *sampler, bool dump_shaders);
+ struct vlc_gl_sampler *sampler);
/**
* Delete a renderer
diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c
index 3cf479ae6668..806360e255c3 100644
--- a/modules/video_output/opengl/vout_helper.c
+++ b/modules/video_output/opengl/vout_helper.c
@@ -135,8 +135,6 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
(GLint)fmt->i_height > max_tex_size)
ResizeFormatToGLMaxTexSize(fmt, max_tex_size);
- bool b_dump_shaders = var_InheritInteger(gl, "verbose") >= 4;
-
vgl->interop = vlc_gl_interop_New(gl, &vgl->api, context, fmt, false);
if (!vgl->interop)
{
@@ -154,8 +152,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
return NULL;
}
- vgl->renderer =
- vlc_gl_renderer_New(gl, &vgl->api, vgl->sampler, b_dump_shaders);
+ vgl->renderer = vlc_gl_renderer_New(gl, &vgl->api, vgl->sampler);
if (!vgl->renderer)
{
msg_Warn(gl, "Could not create renderer for %4.4s",
--
2.27.0
More information about the vlc-devel
mailing list