[vlc-devel] [PATCH 00/17] opengl: Abstract picture storage from renderer (part 3)

Romain Vimont rom1v at videolabs.io
Thu Apr 2 14:24:13 CEST 2020

Here is another set of changes toward the same goal: extract into a separate
component (a sampler) everything related to the fragment shader which is used
to provide access to the input picture.

In the end, this will allow to write the renderer (and in the future, other
"filters") independant of the input picture storage (chroma, padding,
orientation, interop, etc.).

MR: https://code.videolan.org/rom1v/vlc/-/merge_requests/8

Romain Vimont (17):
  opengl: extract renderer fields to sampler
  opengl: move interop ownership to vgl
  opengl: simplify renderer format
  opengl: remove intermediate local variable
  opengl: use the interop format in renderer
  opengl: reference interop from sampler
  opengl: extract sampler creation and destruction
  opengl: reference common objects from sampler
  opengl: define identity matrices in gl_util.h
  opengl: move callbacks to sampler
  opengl: fetch locations from sampler
  opengl: load uniforms from sampler
  opengl: remove alpha parameter from prepare_shader
  opengl: simplify pf_prepare_shader()
  opengl: expose functions to call sampler callbacks
  opengl: remove interop reference from renderer
  opengl: only use sampler from fragment_shaders.c

 modules/video_output/Makefile.am              |   2 +
 .../video_output/opengl/fragment_shaders.c    | 241 +++++++++++-------
 modules/video_output/opengl/gl_util.h         |  13 +
 modules/video_output/opengl/internal.h        |   2 +-
 modules/video_output/opengl/renderer.c        | 198 ++++----------
 modules/video_output/opengl/renderer.h        |  70 +----
 modules/video_output/opengl/sampler.c         | 113 ++++++++
 modules/video_output/opengl/sampler.h         | 144 +++++++++++
 modules/video_output/opengl/sub_renderer.c    |  21 +-
 modules/video_output/opengl/sub_renderer.h    |   4 +-
 modules/video_output/opengl/vout_helper.c     |  43 +++-
 11 files changed, 534 insertions(+), 317 deletions(-)
 create mode 100644 modules/video_output/opengl/sampler.c
 create mode 100644 modules/video_output/opengl/sampler.h


More information about the vlc-devel mailing list