svga: fix invalid memory reference in needs_to_create_zero()
authorBrian Paul <brianp@vmware.com>
Thu, 26 Jul 2012 19:26:17 +0000 (13:26 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 26 Jul 2012 22:00:31 +0000 (16:00 -0600)
commitdafa77201f116dc53b18a274fb41eef5bb2bd0e3
tree4fb355ce9781f7aea238860289632540d7b82b4c
parent38184dcd54e77c8f9adc89d337a97afd630b2c07
svga: fix invalid memory reference in needs_to_create_zero()

The emit->key.fkey info is only valid if we're generating a fragment shader.
We should not look at it if we're generating a vertex shader.

When generating a vertex shader, the value of emit->key.fkey.num_textures was
garbage and the loop over num_textures would read invalid data.  At best
this would cause us to emit an unused constant.  At worse, we could segfault.
Just by dumb luck, fkey.num_textures was usually a smallish integer.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
src/gallium/drivers/svga/svga_tgsi_insn.c