[Mesa-dev] [PATCH 00/29] Make more use of bitmasks
Ian Romanick
idr at freedesktop.org
Wed May 25 16:36:41 UTC 2016
On 05/23/2016 11:41 PM, Mathias.Froehlich at gmx.net wrote:
> From: Mathias Fröhlich <Mathias.Froehlich at gmx.net>
>
> Hi all,
>
> following a series with performance improvements
> for cpu/draw bound applications. This part makes
> more use of the bitmask/ffs technique for iterating
> a set of enabled items. The gains are not huge
> but they are noticable for some of my favourite
> workloads.
Performance enhancements aren't generally accepted without any
performance data. What workloads? What system?
That said, the first subseries definitely makes the code better. I sent
a couple comments, but with those fixed, patches 1 through 8 are
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
> Please review!
>
> Thanks
>
> Mathias
>
>
>
> Mathias Fröhlich (29):
> mesa: Add gl_point_attrib::CoordReplaceBits bitfield.
> swrast: Convert swrast to use CoordsReplaceBits.
> gallium: Convert the state_tracker to use CoordsReplaceBits.
> r200: convert r200 to use CoordsReplaceBits.
> i915: Convert i915 to use CoordsReplaceBits.
> i965: Convert i965 to use CoordsReplaceBits.
> mesa: Remove the now unused CoordsReplace array.
> mesa: Rename CoordReplaceBits back to CoordReplace.
> mesa: Track enabled lights in a bitmask
> mesa: Use bitmask/ffs to iterate enabled lights
> mesa: Use bitmask/ffs to iterate enabled lights for building ff shader
> keys.
> tnl: Use bitmask/ffs to iterate enabled lights
> nouveau: Use bitmask/ffs to iterate enabled lights
> radeon/r200: Use bitmask/ffs to iterate enabled lights
> mesa: Switch to bitmask based enabled lights in gen_matypes.c
> mesa: Remove the linked list of enabled lights
> mesa: Use bitmask/ffs to build ff vertex shader keys.
> mesa: Use bitmask/ffs to build ff fragment shader keys.
> mesa: Use bitmask/ffs to iterate color material attributes.
> mesa: Use bitmask/ffs to iterate enabled clip planes.
> radeon/r200: Use bitmask/ffs to iterate enabled clip planes.
> i965: Use bitmask/ffs to iterate enabled clip planes.
> i965: Use bitmask/ffs to iterate used vertex attributes.
> mesa: Use bitmask/ffs to iterate SamplersUsed
> mesa: Use designated bool value to check texture unit completeness.
> mesa: Use bitmask/ffs to iterate the enabled textures.
> mesa: Use bitmask/ffs to iterate the active_samplers bitmask.
> vbo: Use a bitmask to track the active arrays in vbo_exec*.
> vbo: Use a bitmask to track the active arrays in vbo_save*.
>
> src/mesa/drivers/common/meta.c | 23 ++--
> src/mesa/drivers/dri/i915/i915_state.c | 17 ++-
> src/mesa/drivers/dri/i965/brw_curbe.c | 21 ++--
> src/mesa/drivers/dri/i965/brw_draw.c | 10 +-
> src/mesa/drivers/dri/i965/brw_sf.c | 7 +-
> src/mesa/drivers/dri/i965/brw_vs.c | 6 +-
> src/mesa/drivers/dri/i965/gen6_sf_state.c | 2 +-
> src/mesa/drivers/dri/nouveau/nouveau_state.c | 10 +-
> src/mesa/drivers/dri/nouveau/nv10_state_tnl.c | 29 +++--
> src/mesa/drivers/dri/nouveau/nv20_state_tnl.c | 29 +++--
> src/mesa/drivers/dri/r200/r200_state.c | 67 ++++++------
> src/mesa/drivers/dri/radeon/radeon_state.c | 66 ++++++------
> src/mesa/main/attrib.c | 2 +-
> src/mesa/main/context.c | 11 +-
> src/mesa/main/enable.c | 6 +-
> src/mesa/main/ff_fragment_shader.cpp | 10 +-
> src/mesa/main/ffvertex_prog.c | 37 ++++---
> src/mesa/main/light.c | 72 +++++++++----
> src/mesa/main/matrix.c | 19 ++--
> src/mesa/main/mtypes.h | 8 +-
> src/mesa/main/points.c | 6 +-
> src/mesa/main/rastpos.c | 30 +++---
> src/mesa/main/texenv.c | 32 +++---
> src/mesa/main/texstate.c | 34 +++---
> src/mesa/main/uniform_query.cpp | 8 +-
> src/mesa/main/uniforms.c | 42 ++++----
> src/mesa/state_tracker/st_atom_rasterizer.c | 8 +-
> src/mesa/swrast/s_points.c | 4 +-
> src/mesa/tnl/t_vb_cliptmp.h | 54 +++++-----
> src/mesa/tnl/t_vb_light.c | 13 ++-
> src/mesa/tnl/t_vb_lighttmp.h | 27 +++--
> src/mesa/tnl/t_vb_program.c | 65 ++++++-----
> src/mesa/tnl/t_vb_vertex.c | 58 +++++-----
> src/mesa/vbo/vbo_exec.h | 1 +
> src/mesa/vbo/vbo_exec_api.c | 149 ++++++++++++++------------
> src/mesa/vbo/vbo_exec_draw.c | 2 +
> src/mesa/vbo/vbo_save.h | 2 +
> src/mesa/vbo/vbo_save_api.c | 70 +++++++-----
> src/mesa/vbo/vbo_save_draw.c | 55 +++++-----
> src/mesa/x86/gen_matypes.c | 4 +-
> 40 files changed, 598 insertions(+), 518 deletions(-)
>
More information about the mesa-dev
mailing list