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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev