OSDN Git Service

vbo: Don't discount stride == 0 for testing all varyings in VBOs.
authorEric Anholt <eric@anholt.net>
Fri, 17 Jun 2011 20:17:34 +0000 (13:17 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 23 Jun 2011 20:43:23 +0000 (13:43 -0700)
commitd631c19db47181129811080bfa772b210d762d4d
tree30c795fd20246373a5a07008b2e7e749bb796d43
parent8f28c05d07c7a1919c938d81b5f524aed2c60228
vbo: Don't discount stride == 0 for testing all varyings in VBOs.

In fixed function, stride == 0 (e.g. glColor4f() outside of the draw
call) would get turned into uniform inputs, which is why it was
ignored originally in this test.  For shaders, drivers end up seeing a
need to upload stride == 0 data, and get confused by needing to upload
when vbo_all_varyings_in_vbos() returned true.  In the 965 driver
case, it wouldn't bother to compute the min/max index, and uploaded
nothing if the min/max wasn't known.

We've talked about removing the ff stride=0-into-uniforms code, so
this check shouldn't be missed once that's gone.

Fixes ARB_vertex_buffer_object/mixed-immediate-and-vbo
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37934
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/vbo/vbo_rebase.c