[PATCH weston 3/3] compositor: fix fan_debug mode
Pekka Paalanen
ppaalanen at gmail.com
Mon Sep 3 06:48:43 PDT 2012
- 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 <ppaalanen at gmail.com>
---
src/compositor.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
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);
--
1.7.8.6
More information about the wayland-devel
mailing list