mirror of https://github.com/mpv-player/mpv
dbbf4a415d
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. |
||
---|---|---|
.. | ||
context.c | ||
context.h | ||
d3d11_helpers.c | ||
d3d11_helpers.h | ||
error_diffusion.c | ||
error_diffusion.h | ||
hwdec.c | ||
hwdec.h | ||
lcms.c | ||
lcms.h | ||
libmpv_gpu.c | ||
libmpv_gpu.h | ||
osd.c | ||
osd.h | ||
ra.c | ||
ra.h | ||
shader_cache.c | ||
shader_cache.h | ||
spirv.c | ||
spirv.h | ||
spirv_shaderc.c | ||
user_shaders.c | ||
user_shaders.h | ||
utils.c | ||
utils.h | ||
video.c | ||
video.h | ||
video_shaders.c | ||
video_shaders.h |