diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index c417c9cac65..a80e169b007 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -1649,7 +1649,10 @@ static void si_bind_vs_shader(struct pipe_context *ctx, void *state) rctx->shader_dirty = true; rctx->vs_shader = shader; - si_pm4_bind_state(rctx, vs, shader->pm4); + + if (shader) { + si_pm4_bind_state(rctx, vs, shader->pm4); + } } static void si_bind_ps_shader(struct pipe_context *ctx, void *state) @@ -1662,7 +1665,10 @@ static void si_bind_ps_shader(struct pipe_context *ctx, void *state) rctx->shader_dirty = true; rctx->ps_shader = shader; - si_pm4_bind_state(rctx, ps, shader->pm4); + + if (shader) { + si_pm4_bind_state(rctx, ps, shader->pm4); + } } static void si_delete_vs_shader(struct pipe_context *ctx, void *state) |