From: Alyssa Rosenzweig Date: Sat, 19 Oct 2019 20:51:30 +0000 (-0400) Subject: pipe-loader: Add kmsro pipe_loader target X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4949876dd04e8facc4ba3fd06c3b057295591a15;p=mesa.git pipe-loader: Add kmsro pipe_loader target kmsro is used by numerous embedded GPUs for a common winsys abstraction. Let's add support for it for the dynamic pipe loader, so clover can probe on these drivers. We build the target with Panfrost. When other drivers need kmsro+clover, we can revisit the build system part; my mesonfu is wanting. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Christian Gmeiner Acked-by: Karol Herbst --- diff --git a/src/gallium/targets/pipe-loader/meson.build b/src/gallium/targets/pipe-loader/meson.build index 8a6282dceb6..df6d223ab2d 100644 --- a/src/gallium/targets/pipe-loader/meson.build +++ b/src/gallium/targets/pipe-loader/meson.build @@ -54,6 +54,7 @@ pipe_loaders = [ [with_gallium_r600, 'r600', driver_r600, []], [with_gallium_radeonsi, 'radeonsi', [driver_radeonsi, idep_xmlconfig], []], [with_gallium_freedreno, 'msm', driver_freedreno, []], + [with_gallium_panfrost, 'kmsro', [driver_kmsro, driver_panfrost], []], [with_gallium_svga, 'vmwgfx', driver_svga, []], [with_gallium_softpipe, 'swrast', [driver_swrast, driver_swr], [libwsw, libws_null]], ] diff --git a/src/gallium/targets/pipe-loader/pipe_kmsro.c b/src/gallium/targets/pipe-loader/pipe_kmsro.c new file mode 100644 index 00000000000..1c1a8d24561 --- /dev/null +++ b/src/gallium/targets/pipe-loader/pipe_kmsro.c @@ -0,0 +1,21 @@ + +#include "target-helpers/inline_debug_helper.h" +#include "state_tracker/drm_driver.h" +#include "kmsro/drm/kmsro_drm_public.h" + +static struct pipe_screen * +create_screen(int fd, const struct pipe_screen_config *config) +{ + struct pipe_screen *screen; + + screen = kmsro_drm_screen_create(fd, config); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +} + +PUBLIC +DRM_DRIVER_DESCRIPTOR("kmsro", NULL, create_screen)