summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Rusin <zackr@vmware.com>2012-01-31 23:12:22 -0500
committerBrian Paul <brianp@vmware.com>2012-03-09 08:43:22 -0700
commit1fae49b0f5e3a2124ce578df48c800313778a74e (patch)
tree546dce0b2f8227790ab5ceab18194c3bf44b42e4
parent9664fb70dcda922295e5a2be8571c22bb3f879c3 (diff)
svga: fix a crash happening before setting fragment shaders.
In certain situations API's will call pipe->clear which doesn't require fragment shader, but then we'd try to verify the pipeline and assume fragment shader was always set. This was leading to crash when API would just call simple clear's before anything else. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com> (cherry picked from commit cff0eac702e0070d4d7f0e2ae5f785ec10597d4d)
-rw-r--r--src/gallium/drivers/svga/svga_state_need_swtnl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_state_need_swtnl.c b/src/gallium/drivers/svga/svga_state_need_swtnl.c
index 8c39a4b76f0..32355d136cd 100644
--- a/src/gallium/drivers/svga/svga_state_need_swtnl.c
+++ b/src/gallium/drivers/svga/svga_state_need_swtnl.c
@@ -145,7 +145,8 @@ update_need_pipeline( struct svga_context *svga,
*/
if (svga->curr.reduced_prim == PIPE_PRIM_POINTS) {
unsigned sprite_coord_gen = svga->curr.rast->templ.sprite_coord_enable;
- unsigned generic_inputs = svga->curr.fs->generic_inputs;
+ unsigned generic_inputs =
+ svga->curr.fs ? svga->curr.fs->generic_inputs : 0;
if (sprite_coord_gen &&
(generic_inputs & ~sprite_coord_gen)) {