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

Romain Vimont rom1v at videolabs.io
Tue Mar 17 17:26:33 CET 2020


I initially posted a big patchset:
<https://mailman.videolan.org/pipermail/vlc-devel/2020-February/131046.html>

I will now post commits from my branch in smaller patchsets, easier to review.

Here is the first part of an updated version, which mainly fixes macOS and
Windows versions.

The significant changes in this patchset concern the way the picture
coordinates are converted to texture coordinates (patch 9) and the way the
stereo mode is computed (patch 12).

Here is a branch:

    https://code.videolan.org/rom1v/vlc/commits/glsampler-part1

And a "merge request" (into my own fork) with CI:

    https://code.videolan.org/rom1v/vlc/-/merge_requests/5

Romain Vimont (16):
  opengl: define compatibility constants
  opengl: use OpenGL ES 2 on Android
  opengl: factorize program creation
  opengl: fix unused variable
  opengl: move vtable to vlc_gl_api
  opengl: pass vlc_gl_api instead of virtual table
  opengl: move fields from interop to gl_api
  opengl: expose npot support in gl_api
  opengl: convert texture coords in fragment shader
  opengl: setup coords once for all
  opengl: apply orientation in fragment shader
  opengl: apply stereo transform using a matrix
  opengl: merge successive loops
  opengl: move down vlc_gl_renderer_Prepare()
  opengl: move paddings computation to _Prepare()
  opengl: remove unused source format parameter

 modules/video_output/Makefile.am              |   3 +
 modules/video_output/caopengllayer.m          |   2 +-
 modules/video_output/ios.m                    |   2 +-
 modules/video_output/macosx.m                 |   4 +-
 modules/video_output/opengl/display.c         |   2 +-
 .../video_output/opengl/fragment_shaders.c    |  77 +--
 modules/video_output/opengl/gl_api.c          | 155 +++++
 modules/video_output/opengl/gl_api.h          |  51 ++
 modules/video_output/opengl/gl_common.h       |  56 ++
 modules/video_output/opengl/gl_util.c         | 133 ++++
 modules/video_output/opengl/gl_util.h         |  23 +
 modules/video_output/opengl/internal.h        |   2 +-
 modules/video_output/opengl/interop.c         |  16 +-
 modules/video_output/opengl/interop.h         |  11 +-
 modules/video_output/opengl/interop_sw.c      |   7 +-
 modules/video_output/opengl/interop_vaapi.c   |   3 +-
 modules/video_output/opengl/interop_vdpau.c   |   3 +-
 modules/video_output/opengl/renderer.c        | 568 +++++++++---------
 modules/video_output/opengl/renderer.h        |  28 +-
 modules/video_output/opengl/sub_renderer.c    | 184 ++----
 modules/video_output/opengl/sub_renderer.h    |   6 +-
 modules/video_output/opengl/vout_helper.c     | 164 +----
 modules/video_output/opengl/vout_helper.h     |   3 +-
 modules/video_output/win32/glwin32.c          |   2 +-
 24 files changed, 842 insertions(+), 663 deletions(-)
 create mode 100644 modules/video_output/opengl/gl_api.c
 create mode 100644 modules/video_output/opengl/gl_api.h
 create mode 100644 modules/video_output/opengl/gl_util.c

-- 
2.25.1



More information about the vlc-devel mailing list