[Mesa-dev] [PATCH v2 00/17] swr: update rasterizer

Tim Rowley timothy.o.rowley at intel.com
Tue Aug 1 19:44:30 UTC 2017


Highlights include enabling the simd16 frontend and code cleanups.

v2: split previous gen_knobs patch into five chunks: scons fix,
  relicense to match rest of tree, code style, template split,
  simplification of default value setup

Tim Rowley (17):
  swr/rast: threadID via portable std::this_thread::get_id()
  swr/rast: simdlib better seperation of core vs. knights avx512
  swr/rast: fix USE_SIMD16_FRONTEND issues
  swr/rast: disable AVX512 optimization of SSE / AVX code
  swr/rast: enable USE_SIMD16_FRONTEND by default
  swr/rast: stop using MSFT types in platform independent code
  swr/rast: fix movemask_ps / movemask_pd on AVX512
  swr/rast: rename frontend pVertexStore
  swr/rast: vmask() implementations for KNL
  swr/rast: SIMD16 shaders - widen fetch and vertex shaders
  swr/rast: fixes for 32-bit builds
  swr/rast: fix scons gen_knobs.h dependency
  swr/rast: switch gen_knobs.cpp license
  swr/rast: gen_knobs template code style
  swr/rast: split gen_knobs templates into .h/.cpp
  swr/rast: simplify knob default value setup
  swr/rast: fix core / knights split of AVX512 intrinsics

 src/gallium/drivers/swr/Makefile.am                |   5 +-
 src/gallium/drivers/swr/Makefile.sources           |   8 +
 src/gallium/drivers/swr/SConscript                 |   4 +-
 .../drivers/swr/rasterizer/codegen/gen_knobs.py    |  14 +-
 .../codegen/templates/gen_ar_eventhandlerfile.hpp  |  20 +-
 .../swr/rasterizer/codegen/templates/gen_knobs.cpp | 141 ++-----------
 .../swr/rasterizer/codegen/templates/gen_knobs.h   | 152 +++++++++++++++
 src/gallium/drivers/swr/rasterizer/common/os.h     |   6 -
 .../drivers/swr/rasterizer/common/simd16intrin.h   |  14 +-
 .../drivers/swr/rasterizer/common/simdintrin.h     |  35 +---
 .../drivers/swr/rasterizer/common/simdlib.hpp      |  37 +++-
 .../swr/rasterizer/common/simdlib_128_avx.inl      |  15 ++
 .../swr/rasterizer/common/simdlib_128_avx512.inl   | 108 +++-------
 .../rasterizer/common/simdlib_128_avx512_core.inl  | 193 ++++++++++++++++++
 .../common/simdlib_128_avx512_knights.inl          |  35 ++++
 .../swr/rasterizer/common/simdlib_256_avx.inl      | 140 +++++++------
 .../swr/rasterizer/common/simdlib_256_avx2.inl     |  32 +--
 .../swr/rasterizer/common/simdlib_256_avx512.inl   | 128 +++---------
 .../rasterizer/common/simdlib_256_avx512_core.inl  | 127 ++++++++++++
 .../common/simdlib_256_avx512_knights.inl          |  35 ++++
 .../swr/rasterizer/common/simdlib_512_avx512.inl   | 137 +++++--------
 .../rasterizer/common/simdlib_512_avx512_core.inl  | 217 +++++++++++++++++++++
 .../common/simdlib_512_avx512_knights.inl          | 161 +++++++++++++++
 .../common/simdlib_512_avx512_masks_core.inl       |  27 +++
 .../common/simdlib_512_avx512_masks_knights.inl    |  27 +++
 .../swr/rasterizer/common/simdlib_512_emu.inl      | 155 +++++++--------
 .../swr/rasterizer/common/simdlib_types.hpp        |  78 ++++----
 src/gallium/drivers/swr/rasterizer/core/api.cpp    |   2 +-
 src/gallium/drivers/swr/rasterizer/core/api.h      |   4 +-
 .../drivers/swr/rasterizer/core/backend.cpp        |   2 +-
 .../drivers/swr/rasterizer/core/backend_impl.h     |  20 +-
 .../drivers/swr/rasterizer/core/backend_sample.cpp |   2 +-
 .../swr/rasterizer/core/backend_singlesample.cpp   |   2 +-
 src/gallium/drivers/swr/rasterizer/core/binner.cpp |  40 ++--
 src/gallium/drivers/swr/rasterizer/core/binner.h   |   4 +-
 src/gallium/drivers/swr/rasterizer/core/blend.h    |   2 +-
 src/gallium/drivers/swr/rasterizer/core/clip.cpp   |  12 +-
 src/gallium/drivers/swr/rasterizer/core/clip.h     |  80 ++++----
 src/gallium/drivers/swr/rasterizer/core/context.h  |   8 +-
 .../drivers/swr/rasterizer/core/depthstencil.h     |  12 +-
 src/gallium/drivers/swr/rasterizer/core/fifo.hpp   |   2 +-
 .../swr/rasterizer/core/format_conversion.h        |  18 +-
 .../drivers/swr/rasterizer/core/format_traits.h    |   4 +-
 .../drivers/swr/rasterizer/core/format_types.h     |  71 ++++---
 .../drivers/swr/rasterizer/core/frontend.cpp       |  54 ++++-
 src/gallium/drivers/swr/rasterizer/core/frontend.h |  12 +-
 src/gallium/drivers/swr/rasterizer/core/knobs.h    |   3 +-
 .../drivers/swr/rasterizer/core/knobs_init.h       |  12 +-
 src/gallium/drivers/swr/rasterizer/core/pa.h       |   6 +-
 src/gallium/drivers/swr/rasterizer/core/state.h    |  12 +-
 .../drivers/swr/rasterizer/core/threads.cpp        |   4 +-
 src/gallium/drivers/swr/rasterizer/core/tilemgr.h  |  12 +-
 src/gallium/drivers/swr/rasterizer/core/utils.h    |  10 +
 .../drivers/swr/rasterizer/jitter/JitManager.cpp   |  16 ++
 .../drivers/swr/rasterizer/jitter/JitManager.h     |   8 +
 .../drivers/swr/rasterizer/jitter/blend_jit.cpp    |   2 +-
 .../drivers/swr/rasterizer/jitter/builder_misc.cpp |   4 +-
 .../drivers/swr/rasterizer/jitter/fetch_jit.cpp    | 175 ++++++++++++++++-
 58 files changed, 1826 insertions(+), 840 deletions(-)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512_core.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512_knights.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512_core.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512_knights.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_core.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_knights.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_masks_core.inl
 create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_masks_knights.inl

-- 
2.7.4



More information about the mesa-dev mailing list