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 <alyssa.rosenzweig@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
This commit is contained in:
Alyssa Rosenzweig 2019-10-19 16:51:30 -04:00
parent ace5138548
commit 4949876dd0
2 changed files with 22 additions and 0 deletions

View file

@ -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]],
]

View file

@ -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)