1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 07:42:17 +00:00
mpv/player
Niklas Haas 65979986a9 vo_opengl: refactor into vo_gpu
This is done in several steps:

1. refactor MPGLContext -> struct ra_ctx
2. move GL-specific stuff in vo_opengl into opengl/context.c
3. generalize context creation to support other APIs, and add --gpu-api
4. rename all of the --opengl- options that are no longer opengl-specific
5. move all of the stuff from opengl/* that isn't GL-specific into gpu/
   (note: opengl/gl_utils.h became opengl/utils.h)
6. rename vo_opengl to vo_gpu
7. to handle window screenshots, the short-term approach was to just add
   it to ra_swchain_fns. Long term (and for vulkan) this has to be moved to
   ra itself (and vo_gpu altered to compensate), but this was a stop-gap
   measure to prevent this commit from getting too big
8. move ra->fns->flush to ra_gl_ctx instead
9. some other minor changes that I've probably already forgotten

Note: This is one half of a major refactor, the other half of which is
provided by rossy's following commit. This commit enables support for
all linux platforms, while his version enables support for all non-linux
platforms.

Note 2: vo_opengl_cb.c also re-uses ra_gl_ctx so it benefits from the
--opengl- options like --opengl-early-flush, --opengl-finish etc. Should
be a strict superset of the old functionality.

Disclaimer: Since I have no way of compiling mpv on all platforms, some
of these ports were done blindly. Specifically, the blind ports included
context_mali_fbdev.c and context_rpi.c. Since they're both based on
egl_helpers, the port should have gone smoothly without any major
changes required. But if somebody complains about a compile error on
those platforms (assuming anybody actually uses them), you know where to
complain.
2017-09-21 15:00:55 +02:00
..
javascript js: add javascript scripting support using MuJS 2017-06-14 12:29:32 +02:00
lua ytdl_hook: resolve relative paths when joining segment urls 2017-09-03 13:42:51 +01:00
audio.c build: add preliminary LGPL mode 2017-09-21 13:56:27 +02:00
client.c client API: change mpv_create() behavior, run init always on mpv thread 2017-06-30 13:14:39 +02:00
client.h client API: turn mpv_suspend() and mpv_resume() into stubs 2016-11-22 15:54:44 +01:00
command.c audio: make libaf derived code optional 2017-09-21 12:48:30 +02:00
command.h build: add preliminary LGPL mode 2017-09-21 13:56:27 +02:00
configfiles.c player: change default section when loading encoding-profiles.conf 2017-07-12 13:11:14 +02:00
core.h audio: make libaf derived code optional 2017-09-21 12:48:30 +02:00
external_files.c player: readd smi subtitle extension 2017-08-08 11:37:04 +02:00
external_files.h external_files: change license to LGPL 2017-06-20 14:22:10 +02:00
javascript.c js: utils.getenv(): fix crash on undefined var 2017-07-06 18:11:24 +03:00
lavfi.c audio: introduce a new type to hold audio frames 2017-08-16 21:10:54 +02:00
lavfi.h audio: introduce a new type to hold audio frames 2017-08-16 21:10:54 +02:00
loadfile.c audio: introduce a new type to hold audio frames 2017-08-16 21:10:54 +02:00
lua.c scripting: expand --script filename for C plugins 2017-06-09 19:42:12 +02:00
main.c vo_opengl: refactor into vo_gpu 2017-09-21 15:00:55 +02:00
misc.c player: make refresh seeks slightly more robust 2017-08-14 14:02:13 +02:00
osd.c player: change license of most core files to LGPL 2017-06-23 16:55:02 +02:00
playloop.c audio: make libaf derived code optional 2017-09-21 12:48:30 +02:00
screenshot.c screenshot: cleanup: use normal MSGL_ defines 2017-04-01 20:47:36 +02:00
screenshot.h player: make screenshot commands honor the async flag 2017-04-01 20:47:23 +02:00
scripting.c scripting: add wrapper to load scripts with user paths 2017-06-30 15:03:10 +01:00
sub.c player: change license of most core files to LGPL 2017-06-23 16:55:02 +02:00
video.c audio: make libaf derived code optional 2017-09-21 12:48:30 +02:00