[Mesa-dev] [PATCH 2/2] Revert "vbo: Don't discount stride == 0 for testing all varyings in VBOs."
Jose Fonseca
jfonseca at vmware.com
Tue Sep 27 13:46:31 PDT 2011
Makes sense to me.
Jose
----- Original Message -----
> This reverts commit d631c19db47181129811080bfa772b210d762d4d.
>
> The commit was broken, and ended up returning false all the time
> because nobody in the world binds every single possible vertex array.
> On further reflection, we don't want to discount stride == 0: This
> function is just used for deciding to calculate whether to compute
> the
> bonuds on the index, and there's no sense in computing index bounds
> when stride == 0.
>
> For the separate question of "how much data do I upload for this
> vertex element?", the i965 driver was fixed to upload the data.
>
> Fixes a regression of about 2x in 3DMMES, and most importantly, makes
> Hammerfight playable.
> ---
> src/mesa/vbo/vbo_rebase.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/src/mesa/vbo/vbo_rebase.c b/src/mesa/vbo/vbo_rebase.c
> index a1eab75..97c8d12 100644
> --- a/src/mesa/vbo/vbo_rebase.c
> +++ b/src/mesa/vbo/vbo_rebase.c
> @@ -78,7 +78,8 @@ GLboolean vbo_all_varyings_in_vbos( const struct
> gl_client_array *arrays[] )
> GLuint i;
>
> for (i = 0; i < VERT_ATTRIB_MAX; i++)
> - if (arrays[i]->BufferObj->Name == 0)
> + if (arrays[i]->StrideB &&
> + arrays[i]->BufferObj->Name == 0)
> return GL_FALSE;
>
> return GL_TRUE;
> --
> 1.7.5.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list