gl-renderer: Force call to glUseProgram() when activating debug binding
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Mon, 3 Dec 2012 15:08:11 +0000 (17:08 +0200)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 3 Dec 2012 15:30:51 +0000 (10:30 -0500)
When redrawing surfaces, use_shader() checks if the desired shader is
already in use to avoid a call to glUseProgram(). However, once the
debug binding is activated, that same check would prevent the usage of
the recompiled shaders until something cause a different shader to be
passed to use_shader().

src/gl-renderer.c

index 664f395..d459c21 100644 (file)
@@ -1808,6 +1808,10 @@ fragment_debug_binding(struct wl_seat *seat, uint32_t time, uint32_t key,
 
        compile_shaders(ec);
 
+       /* Force use_shader() to call glUseProgram(), since we need to use
+        * the recompiled version of the shader. */
+       gr->current_shader = NULL;
+
        wl_list_for_each(output, &ec->output_list, link)
                weston_output_damage(output);
 }