summaryrefslogtreecommitdiff
path: root/src/gl-renderer.c
diff options
context:
space:
mode:
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>2013-11-19 15:22:04 +0200
committerKristian Høgsberg <krh@bitplanet.net>2013-11-19 13:11:20 -0800
commit65796816b951f11541311c2624e28f0881fec61d (patch)
tree8b70c664119c29a45bedbaafb1bbfe766a176313 /src/gl-renderer.c
parentb188e912c3d18b85a39aba603e593ad7c4778325 (diff)
downloadweston-65796816b951f11541311c2624e28f0881fec61d.tar.gz
compositor-drm: Add key binding to switch from pixman to GL renderer
When running with the pixman renderer, the debug binding 'W' (mod-shift-space W) will cause the compositor to load gl-renderer.so and start using it instead of the pixman renderer.
Diffstat (limited to 'src/gl-renderer.c')
-rw-r--r--src/gl-renderer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gl-renderer.c b/src/gl-renderer.c
index 7a535c7f..5e1b3961 100644
--- a/src/gl-renderer.c
+++ b/src/gl-renderer.c
@@ -511,6 +511,12 @@ draw_view(struct weston_view *ev, struct weston_output *output,
GLint filter;
int i;
+ /* In case of a runtime switch of renderers, we may not have received
+ * an attach for this surface since the switch. In that case we don't
+ * have a valid buffer or a proper shader set up so skip rendering. */
+ if (!gs->shader)
+ return;
+
pixman_region32_init(&repaint);
pixman_region32_intersect(&repaint,
&ev->transform.boundingbox, damage);