[Mesa-dev] [PATCH 0/3] Array object Improvement v2

Mathias Fröhlich Mathias.Froehlich at gmx.net
Wed Jan 11 23:13:49 PST 2012


Hi,

Thanks for the first review.

Following a short followup series to the gl_array_object change.
The most important change is the use ot an ffs based loop to compute 
gl_array_object::_MaxElement. This change provides a noticable performance 
improovement for my average workloads.
To implement this, a small set of helper functions is introduced in the patch 
before, to compute the bitmasks of enabled arrays taking into account the 
aliasing rules for the different arrays.
The first patch just makes use of the recently introduced BITFIELD64_RANGE 
macro where it makes sense.

v2: Incorporate review from Brian and Eric.
* Readability improvments.
* State clearly in logs that this changes and actualy fixes something.
* Fix typos.

The complete changeset survives a piglit quick run for r600g/rv770 and swrast 
without regressions.

Regarding the pending ffs platform changes, I will update this change to use 
ffsll directly when the other patch lands upstream.

Please review.
Thanks

Mathias


Mathias Froehlich (1):
  mesa: Use BITFIELD64_RANGE for VERT_BIT_*_ALL.
  mesa: Introduce enabled bitfield helper functions.
  mesa: Fix and speedup gl_array_object::_MaxElement computation.

 src/mesa/main/arrayobj.c |   41 ++++++++++-----
 src/mesa/main/arrayobj.h |   37 +++++++++++++
 src/mesa/main/mtypes.h   |   14 +++--
 src/mesa/main/state.c    |  126 
+---------------------------------------------
 4 files changed, 74 insertions(+), 144 deletions(-)

-- 
1.7.7.5



More information about the mesa-dev mailing list