Mesa (master): radeonsi: fix shader binding

Christian König deathsimple at kemper.freedesktop.org
Mon Jul 30 13:03:01 UTC 2012


Module: Mesa
Branch: master
Commit: 1fb8ee62faf081e6a5588e99620a9883e3788c46
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1fb8ee62faf081e6a5588e99620a9883e3788c46

Author: Christian König <deathsimple at vodafone.de>
Date:   Wed Jul 25 22:39:15 2012 +0200

radeonsi: fix shader binding

Signed-off-by: Christian König <deathsimple at vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

---

 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 c417c9c..a80e169 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)




More information about the mesa-commit mailing list