From: Taekyun Kim Date: Wed, 23 Sep 2015 09:59:21 +0000 (+0900) Subject: render: Apply PEPPER_RENDER_CLEAR_BACKGROUND env var for gl renderer X-Git-Tag: accepted/tizen/mobile/20151221.050925~34^2~113 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3a4dff5a2ecbbda34eba20f46443355eb61ab2a;p=platform%2Fcore%2Fuifw%2Fpepper.git render: Apply PEPPER_RENDER_CLEAR_BACKGROUND env var for gl renderer Change-Id: Ie8a0ecb0e122b9fb4f19bc5ef9bdd806cc98fd7a --- diff --git a/src/lib/render/gl-renderer.c b/src/lib/render/gl-renderer.c index c7dd748..faef587 100644 --- a/src/lib/render/gl-renderer.c +++ b/src/lib/render/gl-renderer.c @@ -222,6 +222,8 @@ struct gl_renderer pepper_bool_t has_unpack_subimage; gl_shader_t *current_shader; + + pepper_bool_t clear_background; }; struct gl_surface_state @@ -911,6 +913,23 @@ gl_renderer_repaint_output(pepper_renderer_t *renderer, pepper_output_t *output, { pepper_list_t *l; + if (gr->clear_background) + { + int i, nrects; + pixman_box32_t *rects; + + glClearColor(1.0, 0.0, 0.0, 1.0); + + rects = pixman_region32_rectangles(damage, &nrects); + + for (i = 0; i < nrects; i++) + { + glScissor(rects[i].x1, geom->h - rects[i].y2, + rects[i].x2 - rects[i].x1, rects[i].y2 - rects[i].y1); + glClear(GL_COLOR_BUFFER_BIT); + } + } + pepper_list_for_each_list_reverse(l, list) repaint_view(renderer, output, (pepper_render_item_t *)l->item, damage); } @@ -1109,6 +1128,7 @@ pepper_gl_renderer_create(pepper_compositor_t *compositor, void *native_display, { gl_renderer_t *gr; EGLint major, minor; + const char *env; gr = calloc(1, sizeof(gl_renderer_t)); if (!gr) @@ -1141,6 +1161,11 @@ pepper_gl_renderer_create(pepper_compositor_t *compositor, void *native_display, if (!setup_egl_extensions(gr)) goto error; + env = getenv("PEPPER_RENDER_CLEAR_BACKGROUND"); + + if (env && atoi(env) == 1) + gr->clear_background = PEPPER_TRUE; + return &gr->base; error: