[Mesa-dev] [PATCH v2 0/5] Optimizing llvmpipe for POWER8 architecture

Oded Gabbay oded.gabbay at gmail.com
Sun Jan 3 07:17:48 PST 2016


Hi,

Here is the 2nd version of the patch series. The main change is that the new 
code is limited to POWER8 Little-Endian machines, due to a special compiler 
flag (power8-vector) that must bu turned on but creates code that can't run 
on POWER7 machines. 

As only POWER8 has an LE mode (ppc64le), the code can be encomposed with:
#if defined(_ARCH_PWR8) && defined(PIPE_ARCH_LITTLE_ENDIAN)

and because an LE binary can't be run on BE machine anyway, we can safely 
enable this code by default for ppc64le architecture.

A few more changes are detailed in each commit message.

Thanks,

  - Oded

Oded Gabbay (5):
  configure.ac: Detect if running on POWER8 arch
  llvmpipe: add POWER8 portability file - u_pwr8.h
  llvmpipe: Optimize do_triangle_ccw for POWER8
  llvmpipe: Optimize BUILD_MASK(_LINEAR) for POWER8
  llvmpipe: Optimize lp_rast_triangle_32_3_16 for POWER8

 configure.ac                                |  55 +++++
 src/gallium/auxiliary/util/u_pwr8.h         | 310 ++++++++++++++++++++++++++++
 src/gallium/drivers/llvmpipe/lp_rast_tri.c  | 290 ++++++++++++++++++++++----
 src/gallium/drivers/llvmpipe/lp_setup_tri.c | 100 +++++++++
 4 files changed, 715 insertions(+), 40 deletions(-)
 create mode 100644 src/gallium/auxiliary/util/u_pwr8.h

-- 
2.5.0



More information about the mesa-dev mailing list