diff options
Diffstat (limited to 'gralloc_drm_pipe.c')
-rw-r--r-- | gralloc_drm_pipe.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gralloc_drm_pipe.c b/gralloc_drm_pipe.c index ec3e19d..1183ba1 100644 --- a/gralloc_drm_pipe.c +++ b/gralloc_drm_pipe.c @@ -368,6 +368,8 @@ static void pipe_destroy(struct gralloc_drm_drv_t *drv) FREE(pm); } +/* for freedreno */ +#include "freedreno/drm/freedreno_drm_public.h" /* for nouveau */ #include "nouveau/drm/nouveau_drm_public.h" /* for r300 */ @@ -387,6 +389,10 @@ static int pipe_init_screen(struct pipe_manager *pm) { struct pipe_screen *screen = NULL; +#ifdef ENABLE_PIPE_FREEDRENO + if (strcmp(pm->driver, "msm")) + screen = fd_drm_screen_create(pm->fd); +#endif #ifdef ENABLE_PIPE_NOUVEAU if (strcmp(pm->driver, "nouveau") == 0) screen = nouveau_drm_screen_create(pm->fd); @@ -520,6 +526,10 @@ static int pipe_find_driver(struct pipe_manager *pm, const char *name) driver = "vmwgfx"; err = 0; } + if (strcmp(name, "msm") == 0) { + driver = "msm"; + err = 0; + } } if (!err) |