summaryrefslogtreecommitdiffstats
path: root/video/out/gpu_next
Commit message (Collapse)AuthorAgeFilesLines
* vo_gpu_next: add support for hardware decodingNiklas Haas2022-03-031-1/+0
| | | | | | | | | | | | | | | | There are two major ways of going about this: 1. Expose the native ra_gl/ra_pl/ra_d3d11 objects to the pre-existing hwdec mappers, and then add code in vo_gpu_next to rewrap those ra_tex objects into pl_tex. 2. Wrap the underlying pl_opengl/pl_d3d11 into a ra_pl object and expose it to the hwdec mappers, then directly use the resulting pl_tex. I ultimately opted for approach 1 because it enables compatibility with more hardware decoders, specifically including ones that use native OpenGL calls currently. The second approach only really works with cuda_vk and vaapi_pl.
* vo_gpu_next: expose EGLDisplay to pl_gpuNiklas Haas2022-03-031-0/+7
| | | | Straightforward and enables the import/export of dmabufs.
* vo_gpu_next/context: get graphics API-specific contexts from pl_gpuJan Ekström2022-02-061-36/+31
| | | | | | | | | | | | | | By receiving the graphics API-specific contexts from the generic pl_gpu instance, it is not necessary to store them separately. As the current priv struct stores nothing else, this allows its removal. This removal cleans up related compiler warnings regarding unused variables in case of opengl and d3d11 being disabled in mpv/libplacebo. Functions to receive the underlying vulkan,gl,d3d11 structure were added in libplacebo version 4.182. Our current requirement for gpu-next is 4.190, and thus we can freely utilize these helper functions.
* libplacebo: update log helpersNiklas Haas2022-02-031-9/+5
| | | | | Use the pl_log APIs introduced in libplacebo v4, replacing the deprecated pl_context concept.
* vo_gpu_next: initial attempt at adding d3d11 supportJan Ekström2022-02-021-7/+87
|
* vo_gpu_next/context: common'ize things that would be common for non-vulkanJan Ekström2022-02-021-10/+25
| | | | This prepares us to not duplicate all of this code for d3d11.
* vo_gpu_next: implement OpenGL context supportsfan52021-11-221-2/+65
| | | | | Wrapping the context is pretty straightforward. This is only complicated by needing to account for the upside-down framebuffer in a few places.
* vo_gpu_next: factor out context-specific code to gpu_next/context.csfan52021-11-222-0/+121
This is done to avoid cluttering vo_gpu_next.c with more ifdeffery and context-specific code when additional backends are added in the near future. Eventually gpu_ctx is intended to take the place of ra_ctx to further separate gpu and gpu_next.