From: Pekka Paalanen Date: Mon, 3 Sep 2012 13:48:43 +0000 (+0300) Subject: compositor: fix fan_debug mode X-Git-Tag: submit/trunk/20120913.174637~69 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c73bd54b586ab13b2e70b450669d4ea3a3fee608;p=profile%2Fivi%2Fweston.git compositor: fix fan_debug mode - make it respect output transforms by making sure the uniforms are up-to-date - properly restore the current shader program, in case it was overridden Signed-off-by: Pekka Paalanen --- diff --git a/src/compositor.c b/src/compositor.c index 918b455..4288e89 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1269,7 +1269,7 @@ triangle_fan_debug(struct weston_surface *surface, int first, int count) glUniform4fv(compositor->solid_shader.color_uniform, 1, color[color_idx++ % ARRAY_SIZE(color)]); glDrawElements(GL_LINES, nelems, GL_UNSIGNED_SHORT, buffer); - glUseProgram(surface->shader->program); + glUseProgram(compositor->current_shader->program); free(buffer); } @@ -1369,6 +1369,11 @@ weston_surface_draw(struct weston_surface *es, struct weston_output *output, glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + if (ec->fan_debug) { + weston_compositor_use_shader(ec, &ec->solid_shader); + weston_shader_uniforms(&ec->solid_shader, es, output); + } + weston_compositor_use_shader(ec, es->shader); weston_shader_uniforms(es->shader, es, output);