From: Vadim Girlin Date: Fri, 2 Dec 2011 09:44:29 +0000 (+0400) Subject: r600g: check shaders presence in r600_draw_vbo X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e98521e0f3ef430adc0eb2587ffe83844e24be06;p=mesa.git r600g: check shaders presence in r600_draw_vbo This patch should prevent the crashes when some shaders are absent, see https://bugs.freedesktop.org/show_bug.cgi?id=43341 Note this is a candidate for the stable branch. Signed-off-by: Vadim Girlin Signed-off-by: Alex Deucher --- diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 9ecbc53522b..d6ffda47c2c 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -534,6 +534,9 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo) return; } + if (!rctx->ps_shader || !rctx->vs_shader) + return; + r600_update_derived_state(rctx); u_vbuf_draw_begin(rctx->vbuf_mgr, dinfo);