From a2378daf8351d3330520edfe09c40928a8984a9b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 21 Mar 2013 19:29:29 +0100 Subject: [PATCH] r600g: fix crash while binding a NULL constant buffer --- src/gallium/drivers/r600/r600_state_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.30.2