0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 20:03:10 +02:00
mpv/video/out/gpu
Philip Langdale 5186651f30 vo_gpu: hwdec: load hwdec interops on-demand by default
Historically, we have treated hwdec interop loading as a completely
separate step from loading the hwdecs themselves. Some hwdecs need an
interop, and some don't, and users generally configure the exact
hwdec they want, so interops that aren't relevant for that hwdec
shouldn't be loaded to save time and avoid warning/error spam.

The basic approach here is to recognise that interops are tied to
hwdecs by imgfmt. The hwdec outputs some format, and an interop is
needed to get that format to the vo without read back.

So, when we try to load an hwdec, instead of just blindly loading all
interops as we do today, let's pass the imgfmt in and only load
interops that work for that format. If more than one interop is
available for the format, the existing logic (whatever it is) will
continue to be used to pick one.

We also have one callsite in filters where we seem to pre-emptively
load all the interops. It's probably possible to trace down a specific
format but for now I'm just letting it keep loading all of them; it's
no worse than before.

You may notice there is no documentation update - and that's because
the current docs say that when the interop mode is `auto`, the interop
is loaded on demand. So reality now reflects the docs. How nice.
2022-02-17 20:02:32 -08:00
..
context.c vo_gpu: lift ra_ctx_* opts to a global struct 2021-11-03 14:09:27 +01:00
context.h vo_gpu: lift ra_ctx_* opts to a global struct 2021-11-03 14:09:27 +01:00
d3d11_helpers.c vo_gpu: d3d11_helpers: don't create UNORDERED_ACCESS backbuffers in Win7 2022-02-09 17:20:07 +02:00
d3d11_helpers.h vo_gpu/d3d11: add support for configuring swap chain color space 2019-10-30 02:41:25 +02:00
error_diffusion.c vo_gpu: opengl: some fixes to make compute shaders work with GLES 2021-12-12 20:23:31 -08:00
error_diffusion.h vo_gpu: implement error diffusion for dithering 2019-06-16 11:19:44 +02:00
hwdec.c options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
hwdec.h options: Make validation and help possible for all option types 2021-03-28 19:46:27 +03:00
lcms.c vo_gpu: lift ra_ctx_* opts to a global struct 2021-11-03 14:09:27 +01:00
lcms.h vo_gpu: lift ra_ctx_* opts to a global struct 2021-11-03 14:09:27 +01:00
libmpv_gpu.c client API: add software rendering API 2020-07-08 22:42:05 +02:00
libmpv_gpu.h client API: add a new way to pass X11 Display etc. to render API 2018-03-26 19:47:08 +02:00
osd.c sub: rename SUBBITMAP_RGBA to SUBBITMAP_BGRA 2022-01-11 23:45:08 +02:00
osd.h vo_gpu: simplify structs / names 2017-09-22 16:58:55 +02:00
ra.c vo_gpu: fix green shit with float yuv input 2020-05-09 18:02:57 +02:00
ra.h vo_gpu: stop hard-coding max compute group threads 2021-12-19 01:51:54 +01:00
shader_cache.c vo_gpu: move image2D precision qualifier to point of use 2022-01-02 14:01:33 +01:00
shader_cache.h vo_gpu: cast bvecN to vecN for mix() on older GLSL 2020-12-28 19:39:41 +01:00
spirv_shaderc.c vo_gpu: switch to optimization level performance 2018-09-01 16:14:22 +02:00
spirv.c options: change option macros and all option declarations 2020-03-18 19:52:01 +01:00
spirv.h vo_gpu: vulkan: generalize SPIR-V compiler 2017-09-26 17:25:35 +02:00
user_shaders.c vo_gpu: allow user shader to fix texture offset 2019-06-06 20:01:56 +02:00
user_shaders.h vo_gpu: allow user shader to fix texture offset 2019-06-06 20:01:56 +02:00
utils.c vo_gpu: generally allow non-storable FBOs 2020-03-08 21:41:16 +01:00
utils.h vo_gpu: simplify structs / names 2017-09-22 16:58:55 +02:00
video_shaders.c vo_gpu: add --tone-mapping-mode 2022-01-07 06:28:14 +01:00
video_shaders.h vo_gpu: lift ra_ctx_* opts to a global struct 2021-11-03 14:09:27 +01:00
video.c vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00
video.h vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00