From 10334153b198f59cd598fc5fd25185d9032921c9 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 1 Aug 2014 20:21:30 +0100 Subject: gralloc_drm_pipe: bail out as soon as the correct screen_create is called Signed-off-by: Emil Velikov --- gralloc_drm_pipe.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gralloc_drm_pipe.c b/gralloc_drm_pipe.c index 1183ba1..2f96ab5 100644 --- a/gralloc_drm_pipe.c +++ b/gralloc_drm_pipe.c @@ -387,15 +387,17 @@ static void pipe_destroy(struct gralloc_drm_drv_t *drv) static int pipe_init_screen(struct pipe_manager *pm) { - struct pipe_screen *screen = NULL; + struct pipe_screen *screen; #ifdef ENABLE_PIPE_FREEDRENO if (strcmp(pm->driver, "msm")) screen = fd_drm_screen_create(pm->fd); + else #endif #ifdef ENABLE_PIPE_NOUVEAU if (strcmp(pm->driver, "nouveau") == 0) screen = nouveau_drm_screen_create(pm->fd); + else #endif #ifdef ENABLE_PIPE_R300 if (strcmp(pm->driver, "r300") == 0) { @@ -407,6 +409,7 @@ static int pipe_init_screen(struct pipe_manager *pm) sws->destroy(sws); } } + else #endif #ifdef ENABLE_PIPE_R600 if (strcmp(pm->driver, "r600") == 0) { @@ -418,6 +421,7 @@ static int pipe_init_screen(struct pipe_manager *pm) sws->destroy(sws); } } + else #endif #ifdef ENABLE_PIPE_VMWGFX if (strcmp(pm->driver, "vmwgfx") == 0) { @@ -430,7 +434,9 @@ static int pipe_init_screen(struct pipe_manager *pm) sws->destroy(sws); } } + else #endif + screen = NULL; if (!screen) { ALOGW("failed to create screen for %s", pm->driver); -- cgit v1.1