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

Ian Romanick idr at freedesktop.org
Fri Sep 21 03:09:38 PDT 2012


On 09/21/2012 10:29 AM, Kenneth Graunke wrote:
> 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.

The instancing bugs seem to be when the instanced arrays (a la 
GL_ARB_instanced_arrays) are in client memory and the rest of the vertex 
data is in VBOs.  If the instanced arrays are also in VBOs it seems to 
work fine.  I haven't done any root-cause analysis.

> 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>
> _______________________________________________
> 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