[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