[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