pipe-loader: Load the ethos accel driver

Acked-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36699>
This commit is contained in:
Tomeu Vizoso 2025-02-23 14:20:49 +01:00 committed by Marge Bot
parent 2581c3ab60
commit bb72d78b2c
4 changed files with 27 additions and 0 deletions

View file

@ -42,6 +42,9 @@ endif
if with_gallium_rocket
renderonly_drivers_c_args += '-DGALLIUM_ROCKET'
endif
if with_gallium_ethosu
renderonly_drivers_c_args += '-DGALLIUM_ETHOSU'
endif
libpipe_loader_static = static_library(
'pipe_loader_static',

View file

@ -85,6 +85,7 @@ static const struct drm_driver_descriptor *driver_descriptors[] = {
&asahi_driver_descriptor,
&etnaviv_driver_descriptor,
&rocket_driver_descriptor,
&ethosu_driver_descriptor,
&tegra_driver_descriptor,
&lima_driver_descriptor,
&zink_driver_descriptor,
@ -379,6 +380,9 @@ pipe_loader_get_compatible_render_capable_device_fds(int kms_only_fd, unsigned i
#if defined GALLIUM_ROCKET
"rocket",
#endif
#if defined GALLIUM_ETHOSU
"ethosu",
#endif
#if defined GALLIUM_V3D
"v3d",
#endif

View file

@ -52,6 +52,7 @@ const struct drm_driver_descriptor descriptor_name = { \
#undef GALLIUM_LIMA
#undef GALLIUM_ASAHI
#undef GALLIUM_ROCKET
#undef GALLIUM_ETHOSU
#endif
#ifdef GALLIUM_I915
@ -461,6 +462,24 @@ DRM_DRIVER_DESCRIPTOR_STUB(rknpu)
DRM_DRIVER_DESCRIPTOR_STUB(rocket)
#endif
#ifdef GALLIUM_ETHOSU
#include "ethosu/drm/ethosu_drm_public.h"
static struct pipe_screen *
pipe_ethosu_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
screen = ethosu_drm_screen_create(fd, config);
return screen ? debug_screen_wrap(screen) : NULL;
}
DRM_DRIVER_DESCRIPTOR(ethosu, NULL, 0)
#else
DRM_DRIVER_DESCRIPTOR_STUB(ethosu)
#endif
#ifdef GALLIUM_KMSRO
#include "kmsro/drm/kmsro_drm_public.h"

View file

@ -23,6 +23,7 @@ extern const struct drm_driver_descriptor asahi_driver_descriptor;
extern const struct drm_driver_descriptor etnaviv_driver_descriptor;
extern const struct drm_driver_descriptor rknpu_driver_descriptor;
extern const struct drm_driver_descriptor rocket_driver_descriptor;
extern const struct drm_driver_descriptor ethosu_driver_descriptor;
extern const struct drm_driver_descriptor tegra_driver_descriptor;
extern const struct drm_driver_descriptor lima_driver_descriptor;
extern const struct drm_driver_descriptor zink_driver_descriptor;