mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-21 08:56:31 -05:00
render/vulkan: add Vulkan renderer
This new renderer is implemented with the existing wlr_renderer API (which is known to be sub-optimal for some operations). It's not used by default, but users can opt-in by setting WLR_RENDERER=vulkan. The renderer depends on VK_EXT_image_drm_format_modifier and VK_EXT_physical_device_drm. Co-authored-by: Simon Ser <contact@emersion.fr> Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
This commit is contained in:
parent
2edf468aeb
commit
8e34692250
21 changed files with 3704 additions and 2 deletions
|
|
@ -17,6 +17,10 @@
|
|||
#include <wlr/render/gles2.h>
|
||||
#endif
|
||||
|
||||
#if WLR_HAS_VULKAN_RENDERER
|
||||
#include <wlr/render/vulkan.h>
|
||||
#endif // WLR_HAS_VULKAN_RENDERER
|
||||
|
||||
#include "util/signal.h"
|
||||
#include "render/pixel_format.h"
|
||||
#include "render/wlr_renderer.h"
|
||||
|
|
@ -257,6 +261,11 @@ struct wlr_renderer *renderer_autocreate_with_drm_fd(int drm_fd) {
|
|||
}
|
||||
return wlr_gles2_renderer_create_with_drm_fd(drm_fd);
|
||||
}
|
||||
#endif
|
||||
#if WLR_HAS_VULKAN_RENDERER
|
||||
if (strcmp(name, "vulkan") == 0) {
|
||||
return wlr_vk_renderer_create_with_drm_fd(drm_fd);
|
||||
}
|
||||
#endif
|
||||
if (strcmp(name, "pixman") == 0) {
|
||||
return wlr_pixman_renderer_create();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue