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)