[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