Mesa (master): softpipe/gs: fix a crash when a gs isn't present
Zack Rusin
zack at kemper.freedesktop.org
Tue Jun 15 13:12:30 UTC 2010
Module: Mesa
Branch: master
Commit: 92e521a79982f19279f72c34772d33c9c28e2bed
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=92e521a79982f19279f72c34772d33c9c28e2bed
Author: Zack Rusin <zackr at vmware.com>
Date: Tue Jun 15 06:12:56 2010 -0400
softpipe/gs: fix a crash when a gs isn't present
---
src/gallium/drivers/softpipe/sp_state_sampler.c | 36 ++++++++++++----------
1 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/src/gallium/drivers/softpipe/sp_state_sampler.c b/src/gallium/drivers/softpipe/sp_state_sampler.c
index 09b0ffc..79d9516 100644
--- a/src/gallium/drivers/softpipe/sp_state_sampler.c
+++ b/src/gallium/drivers/softpipe/sp_state_sampler.c
@@ -350,23 +350,27 @@ softpipe_reset_sampler_varients(struct softpipe_context *softpipe)
}
}
- for (i = 0; i <= softpipe->gs->max_sampler; i++) {
- if (softpipe->geometry_samplers[i]) {
- struct pipe_resource *texture = NULL;
-
- if (softpipe->geometry_sampler_views[i]) {
- texture = softpipe->geometry_sampler_views[i]->texture;
+ if (softpipe->gs) {
+ for (i = 0; i <= softpipe->gs->max_sampler; i++) {
+ if (softpipe->geometry_samplers[i]) {
+ struct pipe_resource *texture = NULL;
+
+ if (softpipe->geometry_sampler_views[i]) {
+ texture = softpipe->geometry_sampler_views[i]->texture;
+ }
+
+ softpipe->tgsi.geom_samplers_list[i] =
+ get_sampler_varient(
+ i,
+ sp_sampler(softpipe->geometry_samplers[i]),
+ texture,
+ TGSI_PROCESSOR_GEOMETRY );
+
+ sp_sampler_varient_bind_texture(
+ softpipe->tgsi.geom_samplers_list[i],
+ softpipe->geometry_tex_cache[i],
+ texture );
}
-
- softpipe->tgsi.geom_samplers_list[i] =
- get_sampler_varient( i,
- sp_sampler(softpipe->geometry_samplers[i]),
- texture,
- TGSI_PROCESSOR_GEOMETRY );
-
- sp_sampler_varient_bind_texture( softpipe->tgsi.geom_samplers_list[i],
- softpipe->geometry_tex_cache[i],
- texture );
}
}
More information about the mesa-commit
mailing list