1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-30 15:29:56 +00:00
mpv/video/out/vulkan
Philip Langdale dbbf4a415d vo_gpu: vulkan: implement a VkDisplayKHR backed context
This is the Vulkan equivalent of the drm context for OpenGL, with
the big difference that it's implemented purely in terms of Vulkan
calls and doesn't actually require drm or kms.

The basic idea is to identify a display, mode, and plane on a device,
and then create a display backed surface for the swapchain. In theory,
past that point, everything is the same, and this is in fact the case
on Intel hardware. I can get a video playing on a vt.

On nvidia, naturally, things don't work that way. Instead, nvidia only
implemented the extension for scenarios where a VR application is
stealing a display from a running window system, and not for
standalone scenarios. With additional code, I've got this scenario to
work but that's a separate incremental change.

Other people have tested on AMD, and report roughly the same behaviour
as on Intel.

Note, that in this change, the VT will not be correctly restored after
qutting. The only way to restore the VT is to introduce some drm
specific code which I will illustrate in a separate change.
2021-06-11 09:54:16 -07:00
..
common.h vo_gpu: vulkan: use libplacebo instead 2019-04-21 23:55:22 +03:00
context_android.c wayland: use callback flag + poll for buffer swap 2019-10-10 17:41:19 +00:00
context_display.c vo_gpu: vulkan: implement a VkDisplayKHR backed context 2021-06-11 09:54:16 -07:00
context_wayland.c wayland: shuffle around the render loop again 2021-05-24 19:20:31 +00:00
context_win.c wayland: use callback flag + poll for buffer swap 2019-10-10 17:41:19 +00:00
context_xlib.c wayland: use callback flag + poll for buffer swap 2019-10-10 17:41:19 +00:00
context.c vo_gpu: vulkan: provide a helper to access device name option 2021-06-11 09:54:16 -07:00
context.h vo_gpu: vulkan: provide a helper to access device name option 2021-06-11 09:54:16 -07:00
utils.c vo_gpu: vulkan: print libplacebo API ver 2020-07-16 09:41:09 +02:00
utils.h vo_gpu: vulkan: use libplacebo instead 2019-04-21 23:55:22 +03:00