[vlc-devel] [PATCH 00/24] Refactor OpenGL renderers
Romain Vimont
rom1v at videolabs.io
Mon Jan 27 21:19:50 CET 2020
The rendering of both video pictures and SPU was handled in vout_helper (using
some data from opengl_tex_converter_t).
In order to separate concerns, implement a main renderer and a SPU renderer as
separate "components".
As a result of this patchset:
- there is no opengl_tex_converter_t anymore;
- there is a vlc_gl_renderer (renderer.c) which draws the main pictures;
- there is a vlc_gl_sub_renderer (sub_renderer.c) which draws the SPU;
- the vout_helper just delegates _Prepare() and _Display() to the renderers.
For your convenience, here is a branch:
https://code.videolan.org/rom1v/vlc/commits/glrenderer
Romain Vimont (24):
opengl: move compat definition to gl_common.h
opengl: make fragment shader local
opengl: add interop close() callback
opengl: fix indentation
opengl: simplify opengl_init_program() call
opengl: extract interop creation
opengl: expose interop constructor and destructor
opengl: extract subpictures rendering
opengl: expose GetAlignedSize()
opengl: expose GenTextures() and DelTextures()
opengl: move interop functions to interop.c
opengl: implement subpictures renderer
opengl: simplify opengl_init_program()
opengl: make supports_npot local
opengl: rename tex converter to renderer
opengl: rename renderer callbacks
opengl: merge prgm into vlc_gl_renderer
opengl: move renderer-related fields
opengl: rename "texture" to "textures"
opengl: use vlc_gl_renderer when possible
opengl: refactor renderer creation and destruction
opengl: move renderer init to CreateRenderer()
opengl: move renderer clean up to DeleteRenderer()
opengl: implement renderer
modules/video_output/Makefile.am | 8 +-
.../video_output/opengl/fragment_shaders.c | 189 +--
modules/video_output/opengl/gl_common.h | 13 +
modules/video_output/opengl/internal.h | 4 +-
modules/video_output/opengl/interop.c | 137 ++
modules/video_output/opengl/interop.h | 25 +-
modules/video_output/opengl/interop_android.c | 6 +-
modules/video_output/opengl/interop_cvpx.c | 6 +-
modules/video_output/opengl/interop_sw.c | 33 +-
modules/video_output/opengl/interop_vaapi.c | 6 +-
modules/video_output/opengl/interop_vdpau.c | 8 +-
modules/video_output/opengl/renderer.c | 1029 ++++++++++++
.../opengl/{converter.h => renderer.h} | 130 +-
modules/video_output/opengl/sub_renderer.c | 451 ++++++
modules/video_output/opengl/sub_renderer.h | 79 +
modules/video_output/opengl/vout_helper.c | 1416 +----------------
modules/video_output/opengl/vout_helper.h | 10 +-
17 files changed, 2017 insertions(+), 1533 deletions(-)
create mode 100644 modules/video_output/opengl/renderer.c
rename modules/video_output/opengl/{converter.h => renderer.h} (50%)
create mode 100644 modules/video_output/opengl/sub_renderer.c
create mode 100644 modules/video_output/opengl/sub_renderer.h
--
2.25.0
More information about the vlc-devel
mailing list