Mesa (master): radeonsi: Properly handle NULL sampler views.

Michel Dänzer daenzer at kemper.freedesktop.org
Wed Sep 12 14:28:05 UTC 2012


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

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Sep 12 15:53:51 2012 +0200

radeonsi: Properly handle NULL sampler views.

Fixes piglit shaders/glsl-fs-uniform-sampler-array and many other similar
tests.

In fact, I just completed a piglit quick-driver.tests run without any GPU
lockups or even VM protection faults. Yay!

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeonsi/si_state.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 80da068..1a5ed2f 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2268,10 +2268,10 @@ static void si_set_ps_sampler_view(struct pipe_context *ctx, unsigned count,
 			struct r600_resource_texture *tex = (void *)resource[i]->base.texture;
 
 			si_pm4_add_bo(pm4, &tex->resource, RADEON_USAGE_READ);
+		}
 
-			for (j = 0; j < Elements(resource[i]->state); ++j) {
-				si_pm4_sh_data_add(pm4, resource[i]->state[j]);
-			}
+		for (j = 0; j < Elements(resource[i]->state); ++j) {
+			si_pm4_sh_data_add(pm4, resource[i] ? resource[i]->state[j] : 0);
 		}
 	}
 




More information about the mesa-commit mailing list