drm: env var for disable no comp mode
authorTaekyun Kim <tkq.kim@samsung.com>
Thu, 5 Nov 2015 03:04:32 +0000 (12:04 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Thu, 5 Nov 2015 03:04:32 +0000 (12:04 +0900)
Use PEPPER_DRM_DISABLE_NO_COMP=1 to disable no comp mode.

Change-Id: I693f670c4a9b6fc68a981c5c63184b5b16bc7c6e

src/lib/drm/drm-internal.h
src/lib/drm/drm-output.c

index b98c8bdce12c05483cb6f4df0c0db41ee90b8bb8..77be9e2523411f8d21fdfc77d88773526d20a9bd 100644 (file)
@@ -144,6 +144,7 @@ struct drm_output
 
     /* OpenGL */
     struct gbm_surface     *gbm_surface;
+    pepper_bool_t           disable_no_comp;
 
     drm_buffer_t           *front, *back;
 };
index 050d6b8f24f061c9655736690fa7c3b654b39777..5710dfdbc7b007b391d4620a64add314ae503ea2 100644 (file)
@@ -123,6 +123,9 @@ assign_fb_plane(drm_output_t *output, pepper_view_t *view)
 
     const pepper_output_geometry_t *geometry;
 
+    if (output->disable_no_comp)
+        return NULL;
+
     if (output->back)
         return NULL;
 
@@ -602,6 +605,7 @@ drm_output_create(drm_connector_t *conn)
     drm_plane_t    *plane, *tmp;
     const char     *render_env = getenv("PEPPER_DRM_RENDERER");
     const char     *shadow_env = getenv("PEPPER_DRM_USE_SHADOW");
+    const char     *disable_no_comp_env = getenv("PEPPER_DRM_DISABLE_NO_COMP");
 
     PEPPER_CHECK(conn->output == NULL, return NULL, "The connector already has an output.\n");
 
@@ -633,6 +637,9 @@ drm_output_create(drm_connector_t *conn)
         PEPPER_CHECK(output->renderer, goto error, "Failed to initialize renderer.\n");
     }
 
+    if (disable_no_comp_env && strcmp(disable_no_comp_env, "1") == 0)
+        output->disable_no_comp = PEPPER_TRUE;
+
     output->primary_plane = pepper_output_add_plane(output->base, NULL);
     PEPPER_CHECK(output->primary_plane, goto error, "pepper_output_add_plane() failed.\n");