From: Marek Olšák Date: Thu, 21 Mar 2013 18:29:29 +0000 (+0100) Subject: r600g: fix crash while binding a NULL constant buffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a2378daf8351d3330520edfe09c40928a8984a9b;p=mesa.git r600g: fix crash while binding a NULL constant buffer --- diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index b0e66ac3f9a..34c70edf575 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -926,7 +926,7 @@ static void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint /* Note that the state tracker can unbind constant buffers by * passing NULL here. */ - if (unlikely(!input)) { + if (unlikely(!input || (!input->buffer && !input->user_buffer))) { state->enabled_mask &= ~(1 << index); state->dirty_mask &= ~(1 << index); pipe_resource_reference(&state->cb[index].buffer, NULL);