diff options
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 7 | ||||
-rw-r--r-- | src/gallium/auxiliary/target-helpers/drm_helper.h | 23 | ||||
-rw-r--r-- | src/gallium/auxiliary/target-helpers/drm_helper_public.h | 3 |
3 files changed, 32 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 810542101ed..b6be1b4f127 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -134,7 +134,12 @@ static const struct drm_driver_descriptor driver_descriptors[] = { .driver_name = "imx-drm", .create_screen = pipe_imx_drm_create_screen, .configuration = pipe_default_configuration_query, - } + }, + { + .driver_name = "tegra", + .create_screen = pipe_tegra_create_screen, + .configuration = pipe_default_configuration_query, + }, }; #endif diff --git a/src/gallium/auxiliary/target-helpers/drm_helper.h b/src/gallium/auxiliary/target-helpers/drm_helper.h index 7aea83b8842..7dc2497c087 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper.h @@ -379,5 +379,28 @@ pipe_imx_drm_create_screen(int fd, const struct pipe_screen_config *config) #endif +#ifdef GALLIUM_TEGRA +#include "tegra/drm/tegra_drm_public.h" + +struct pipe_screen * +pipe_tegra_create_screen(int fd, const struct pipe_screen_config *config) +{ + struct pipe_screen *screen; + + screen = tegra_drm_screen_create(fd); + + return screen ? debug_screen_wrap(screen) : NULL; +} + +#else + +struct pipe_screen * +pipe_tegra_create_screen(int fd, const struct pipe_screen_config *config) +{ + fprintf(stderr, "tegra: driver missing\n"); + return NULL; +} + +#endif #endif /* DRM_HELPER_H */ diff --git a/src/gallium/auxiliary/target-helpers/drm_helper_public.h b/src/gallium/auxiliary/target-helpers/drm_helper_public.h index e21ea32fabe..c1a7bf4e252 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper_public.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper_public.h @@ -51,6 +51,9 @@ pipe_etna_create_screen(int fd, const struct pipe_screen_config *config); struct pipe_screen * pipe_imx_drm_create_screen(int fd, const struct pipe_screen_config *config); +struct pipe_screen * +pipe_tegra_create_screen(int fd, const struct pipe_screen_config *config); + const struct drm_conf_ret * pipe_default_configuration_query(enum drm_conf conf); |