[vlc-commits] opengl: remove interop reference from renderer

Romain Vimont git at videolan.org
Wed May 20 14:55:54 CEST 2020


vlc | branch: master | Romain Vimont <rom1v at videolabs.io> | Mon Feb  3 17:00:15 2020 +0100| [ac74fcc4fd8f196c5367132cc1866b1635c7f116] | committer: Alexandre Janniaux

opengl: remove interop reference from renderer

Remove the (weak) reference to the interop from the renderer structure.

The interop is still accessed explicitly from the renderer via the
sampler structure for now.

Signed-off-by: Alexandre Janniaux <ajanni at videolabs.io>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ac74fcc4fd8f196c5367132cc1866b1635c7f116
---

 modules/video_output/opengl/fragment_shaders.c |  4 ++--
 modules/video_output/opengl/renderer.c         | 10 +++++-----
 modules/video_output/opengl/renderer.h         |  1 -
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c
index 68b12ae4e7..6c6b4ceaf6 100644
--- a/modules/video_output/opengl/fragment_shaders.c
+++ b/modules/video_output/opengl/fragment_shaders.c
@@ -503,8 +503,8 @@ char *
 opengl_fragment_shader_init(struct vlc_gl_renderer *renderer, GLenum tex_target,
                             vlc_fourcc_t chroma, video_color_space_t yuv_space)
 {
-    struct vlc_gl_interop *interop = renderer->interop;
     struct vlc_gl_sampler *sampler = renderer->sampler;
+    struct vlc_gl_interop *interop = sampler->interop;
 
     const char *swizzle_per_tex[PICTURE_PLANE_MAX] = { NULL, };
     const bool is_yuv = vlc_fourcc_IsYUV(chroma);
@@ -522,7 +522,7 @@ opengl_fragment_shader_init(struct vlc_gl_renderer *renderer, GLenum tex_target,
         ret = renderer_yuv_base_init(renderer, chroma, desc, yuv_space);
         if (ret != VLC_SUCCESS)
             return NULL;
-        ret = opengl_init_swizzle(renderer->interop, swizzle_per_tex, chroma, desc);
+        ret = opengl_init_swizzle(interop, swizzle_per_tex, chroma, desc);
         if (ret != VLC_SUCCESS)
             return NULL;
     }
diff --git a/modules/video_output/opengl/renderer.c b/modules/video_output/opengl/renderer.c
index 51e3763aec..659c6f7ca5 100644
--- a/modules/video_output/opengl/renderer.c
+++ b/modules/video_output/opengl/renderer.c
@@ -261,14 +261,15 @@ BuildVertexShader(const struct vlc_gl_renderer *renderer)
 
     if (renderer->b_dump_shaders)
         msg_Dbg(renderer->gl, "\n=== Vertex shader for fourcc: %4.4s ===\n%s\n",
-                (const char *) &renderer->interop->fmt.i_chroma, code);
+                (const char *) &renderer->sampler->interop->fmt.i_chroma, code);
     return code;
 }
 
 static char *
 BuildFragmentShader(struct vlc_gl_renderer *renderer)
 {
-    struct vlc_gl_interop *interop = renderer->interop;
+    const struct vlc_gl_sampler *sampler = renderer->sampler;
+    const struct vlc_gl_interop *interop = sampler->interop;
     char *vlc_texture =
         opengl_fragment_shader_init(renderer, interop->tex_target,
                                     interop->sw_fmt.i_chroma,
@@ -309,8 +310,8 @@ BuildFragmentShader(struct vlc_gl_renderer *renderer)
 static int
 opengl_link_program(struct vlc_gl_renderer *renderer)
 {
-    struct vlc_gl_interop *interop = renderer->interop;
     struct vlc_gl_sampler *sampler = renderer->sampler;
+    struct vlc_gl_interop *interop = sampler->interop;
     const opengl_vtable_t *vt = renderer->vt;
 
     char *vertex_shader = BuildVertexShader(renderer);
@@ -417,7 +418,6 @@ vlc_gl_renderer_New(vlc_gl_t *gl, const struct vlc_gl_api *api,
     }
 
     renderer->sampler = sampler;
-    renderer->interop = interop;
 
     renderer->gl = gl;
     renderer->api = api;
@@ -859,8 +859,8 @@ static void DrawWithShaders(struct vlc_gl_renderer *renderer)
 int
 vlc_gl_renderer_Prepare(struct vlc_gl_renderer *renderer, picture_t *picture)
 {
-    const struct vlc_gl_interop *interop = renderer->interop;
     struct vlc_gl_sampler *sampler = renderer->sampler;
+    const struct vlc_gl_interop *interop = sampler->interop;
     const video_format_t *source = &picture->format;
 
     if (source->i_x_offset != sampler->last_source.i_x_offset
diff --git a/modules/video_output/opengl/renderer.h b/modules/video_output/opengl/renderer.h
index a75db93d05..23017a5428 100644
--- a/modules/video_output/opengl/renderer.h
+++ b/modules/video_output/opengl/renderer.h
@@ -77,7 +77,6 @@ struct vlc_gl_renderer
         GLint VertexPosition;
     } aloc;
 
-    struct vlc_gl_interop *interop;
     struct vlc_gl_sampler *sampler;
 
     video_format_t fmt;



More information about the vlc-commits mailing list