diff options
author | Christian Gmeiner <[email protected]> | 2016-12-23 21:10:29 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-01-12 19:27:11 +0000 |
commit | e8626e3b317035352148a6af15a2b781eba6e707 (patch) | |
tree | d14cae533c34cf4504c7fb0a179205b240e3c79c /src/gallium/auxiliary | |
parent | c9e8b49b885242d84ba031dacef5aa4a5ac1e5b6 (diff) |
imx: gallium driver for imx-drm scanout driver
Changes from V1 -> V2:
- updated Copyright
- added $(top_srcdir)/src/gallium/winsys to include path (suggested by Emil)
- adapted driver to new renderonly API
Signed-off-by: Christian Gmeiner <[email protected]>
Acked-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 5 | ||||
-rw-r--r-- | src/gallium/auxiliary/target-helpers/drm_helper.h | 24 | ||||
-rw-r--r-- | src/gallium/auxiliary/target-helpers/drm_helper_public.h | 3 |
3 files changed, 32 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 99d9da6fd0a..6c89fe5ead1 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -158,6 +158,11 @@ static const struct drm_driver_descriptor driver_descriptors[] = { .driver_name = "etnaviv", .create_screen = pipe_etna_create_screen, .configuration = configuration_query, + }, + { + .driver_name = "imx-drm", + .create_screen = pipe_imx_drm_create_screen, + .configuration = configuration_query, } }; #endif diff --git a/src/gallium/auxiliary/target-helpers/drm_helper.h b/src/gallium/auxiliary/target-helpers/drm_helper.h index e056c58ba96..f847b17dd68 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper.h @@ -289,4 +289,28 @@ pipe_etna_create_screen(int fd) #endif +#ifdef GALLIUM_IMX +#include "imx/drm/imx_drm_public.h" + +struct pipe_screen * +pipe_imx_drm_create_screen(int fd) +{ + struct pipe_screen *screen; + + screen = imx_drm_screen_create(fd); + return screen ? debug_screen_wrap(screen) : NULL; +} + +#else + +struct pipe_screen * +pipe_imx_drm_create_screen(int fd) +{ + fprintf(stderr, "imx-drm: 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 73cf1da073d..bc12b2155e4 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper_public.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper_public.h @@ -37,4 +37,7 @@ pipe_vc4_create_screen(int fd); struct pipe_screen * pipe_etna_create_screen(int fd); +struct pipe_screen * +pipe_imx_drm_create_screen(int fd); + #endif /* _DRM_HELPER_PUBLIC_H */ |