svga: fix zero-stride vertex array bug
authorBrian Paul <brianp@vmware.com>
Thu, 17 May 2012 16:07:46 +0000 (10:07 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 19 May 2012 14:28:56 +0000 (08:28 -0600)
commitfc71e0b4a8623dc1e0657a19998f54d5a5c491e1
tree421fe1be0db05a5ad33840711f0013696a720b85
parent0161691f3518db310411c5f02c05aa639050f129
svga: fix zero-stride vertex array bug

For zero-stride vertex arrays, the svga driver copies the value into
the constant value and uses that value in the shader.  The recent
gallium-userbuf changes caused a regression in this.  An example
symptom was per-primitive glColor3f() calls getting ignored.

Where we copied the vertex value from the vertex buffer to the
constant buffer we neglected to take into account the
pipe_vertex_buffer::buffer_offset field.  Adding that value to the
source offset fixes the problem.  Actually, it looks like we should
have been doing this all along, but it never was an issue before for
some reason.
src/gallium/drivers/svga/svga_state_vs.c