[Mesa-dev] [PATCH 1/3] i965: Remove broken non-interleaved-to-interleaved upload code.

Kenneth Graunke kenneth at whitecape.org
Fri Sep 21 01:29:05 PDT 2012


On 09/21/2012 12:59 AM, Eric Anholt wrote:
> This failed when all the uploads to occur were uniform-type vertex data (like
> glColor4f being active across a DrawArrays), because it would upload 1 element
> instead of 1 element per vertex.  There was no citation for how this code
> helped any particular application, and it breaks ETQW, so just remove it.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47170
> NOTE: This is a candidate for the 9.0 and 8.0 branches.
> ---
>  src/mesa/drivers/dri/i965/brw_draw_upload.c |   52 ++-------------------------
>  1 file changed, 2 insertions(+), 50 deletions(-)

Thank you so much for doing this.  I was trying to read through this
code the other day, and it was really confusing.  VBOs, user arrays,
interleaved or not, per-vertex attributes and instanced data, reuse of
VBs...there's just way too much going on, and direly few comments.

This was one of the most confusing parts, IMHO, and I did notice that
there was no justification provided ("improves performance by x% in
xyz").  I could see it being useful, but without any data, it's hard to
know just how useful.

I think there are also some instancing bugs (or at least inefficiencies)
in here as well, and trying to figure out how to fix that while
maintaining stuff like this was a challenge.

Also, it's great that you fixed ETQW!  I noticed the vertex scrambling
and just assumed it was a shader bug.  Had been meaning to track that
down, but you beat me to it :)  I tested your patch and it does indeed
fix it for me.

For the series:
Reviewed-and-tested-by: Kenneth Graunke <kenneth at whitecape.org>


More information about the mesa-dev mailing list