1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-20 14:56:55 +00:00
mpv/video/out/opengl
wm4 81851febc4 vo_opengl: start work on rendering API abstraction
This starts work on moving OpenGL-specific code out of the general
renderer code, so that we can support other other GPU APIs. This is in
a very early stage and it's only a proof of concept. It's unknown
whether this will succeed or result in other backends.

For now, the GL rendering API ("ra") and its only provider (ra_gl) does
texture creation/upload/destruction only. And it's used for the main
video texture only. All other code is still hardcoded to GL.

There is some duplication with ra_format and gl_format handling. In the
end, only the ra variants will be needed (plus the gl_format table of
course). For now, this is simpler, because for some reason lots of hwdec
code still requires the GL variants, and would have to be updated to
use the ra ones.

Currently, the video.c code accesses private ra_gl fields. In the end,
it should not do that of course, and it would not include ra_gl.h.

Probably adds bugs, but you can keep them.
2017-07-26 11:31:43 +02:00
..
angle_dynamic.c angle_dynamic: silence warnings during compilation 2016-11-25 09:49:49 +01:00
angle_dynamic.h vo_opengl: angle: rewrite with custom swap chain 2017-02-07 22:45:07 +11:00
common.c vo_opengl: check against shmem limits 2017-07-26 01:54:33 +02:00
common.h vo_opengl: check against shmem limits 2017-07-26 01:54:33 +02:00
context_angle.c context_angle: fix fallback to D3D9 device 2017-05-16 22:59:15 +10:00
context_cocoa.c cocoa: add option to force dedicated GPU 2017-02-27 23:53:53 +01:00
context_drm_egl.c vo_opengl: context_drm_egl: remove unnecessary include 2017-04-26 17:43:23 +02:00
context_dxinterop.c context_dxinterop: lock rendertarget after present when swapping buffers 2017-06-18 20:54:44 +02:00
context_mali_fbdev.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context_rpi.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context_vdpau.c vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
context_w32.c vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
context_wayland.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context_x11.c vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
context_x11egl.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context.c vo_opengl: support compute shaders 2017-07-24 17:19:31 +02:00
context.h vo_opengl: add a backend start_frame callback for context_vdpau 2017-03-20 13:37:47 +01:00
cuda_dynamic.c vo_opengl: hwdec_cuda: Prefix cuda symbols to avoid collisions 2016-11-24 20:15:57 +01:00
cuda_dynamic.h vo_opengl: hwdec_cuda: Support separate decode and display devices 2017-06-03 16:41:03 +02:00
egl_helpers.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
egl_helpers.h vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
formats.c vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
formats.h vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
gl_headers.h vo_opengl: check against shmem limits 2017-07-26 01:54:33 +02:00
hwdec_cuda.c vo_opengl: hwdec_cuda: Support separate decode and display devices 2017-06-03 16:41:03 +02:00
hwdec_d3d11egl.c d3d: add support for new libavcodec hwaccel API 2017-06-08 21:51:25 +02:00
hwdec_d3d11eglrgb.c d3d: UWP support for D3D11VA 2017-06-30 18:57:37 +02:00
hwdec_dxva2egl.c vo_opengl: hwdec_dxva2egl: probe whether ANGLE mapping works 2017-07-10 15:32:09 +02:00
hwdec_dxva2gldx.c d3d: add support for new libavcodec hwaccel API 2017-06-08 21:51:25 +02:00
hwdec_ios.m vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
hwdec_osx.c vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
hwdec_rpi.c vo_opengl: drop TLS usage 2017-05-11 17:47:33 +02:00
hwdec_vaegl.c vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
hwdec_vaglx.c vo_opengl: do not use vaapi-over-GLX 2017-07-07 12:29:29 +02:00
hwdec_vdpau.c vdpau: use libavutil for surface allocation during decoding 2017-01-17 15:48:56 +01:00
hwdec.c vo_opengl: do not use vaapi-over-GLX 2017-07-07 12:29:29 +02:00
hwdec.h vo_opengl: do not use vaapi-over-GLX 2017-07-07 12:29:29 +02:00
lcms.c options: add M_OPT_FILE to some more file options 2017-03-06 15:41:06 +01:00
lcms.h vo_opengl: simplify option handling 2016-09-06 11:11:36 +02:00
osd.c vo_opengl: osd: use new VAO mechanism 2017-07-22 21:55:38 +02:00
osd.h vo_opengl: osd: remove stale declaration 2017-07-23 00:02:02 +02:00
ra_gl.c vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
ra_gl.h vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
ra.c vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
ra.h vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
user_shaders.c vo_opengl: support user compute shaders 2017-07-24 17:19:34 +02:00
user_shaders.h vo_opengl: support user compute shaders 2017-07-24 17:19:34 +02:00
utils.c vo_opengl: fix image uniforms for older OpenGL 2017-07-26 08:02:03 +10:00
utils.h vo_opengl: add PRINTF_ATTRIBUTE to gl_sc_ssbo 2017-07-25 06:35:10 +02:00
video_shaders.c vo_opengl: check against shmem limits 2017-07-26 01:54:33 +02:00
video_shaders.h vo_opengl: check against shmem limits 2017-07-26 01:54:33 +02:00
video.c vo_opengl: start work on rendering API abstraction 2017-07-26 11:31:43 +02:00
video.h vo_opengl: support HDR peak detection 2017-07-24 17:19:31 +02:00