swr/rast: Switch intrinsic usage to SIMDLib
authorTim Rowley <timothy.o.rowley@intel.com>
Thu, 15 Jun 2017 20:24:07 +0000 (15:24 -0500)
committerTim Rowley <timothy.o.rowley@intel.com>
Fri, 30 Jun 2017 18:26:19 +0000 (13:26 -0500)
commitfc4f6c44c479a97b9cad5d08f0d9cd71a8e1e5f8
treea8ea649f549dc856f402b0b5d9323c5cef080e34
parent8b66d18a3b4f6d6a4f0ea9d71459dac68e5e0295
swr/rast: Switch intrinsic usage to SIMDLib

Switch from a macro-based simd intrinsics layer to a more C++
implementation, which also adds AVX512 optimizations to 128-bit
and 256-bit SIMD.

Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>
30 files changed:
src/gallium/drivers/swr/Makefile.sources
src/gallium/drivers/swr/rasterizer/common/intrin.h
src/gallium/drivers/swr/rasterizer/common/simd16intrin.h
src/gallium/drivers/swr/rasterizer/common/simdintrin.h
src/gallium/drivers/swr/rasterizer/common/simdlib.hpp [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx2.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx2.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_masks.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_512_emu.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_512_emu_masks.inl [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_interface.hpp [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/common/simdlib_types.hpp [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/core/backend_impl.h
src/gallium/drivers/swr/rasterizer/core/binner.cpp
src/gallium/drivers/swr/rasterizer/core/clip.cpp
src/gallium/drivers/swr/rasterizer/core/clip.h
src/gallium/drivers/swr/rasterizer/core/context.h
src/gallium/drivers/swr/rasterizer/core/format_conversion.h
src/gallium/drivers/swr/rasterizer/core/format_types.h
src/gallium/drivers/swr/rasterizer/core/format_utils.h
src/gallium/drivers/swr/rasterizer/core/frontend.cpp
src/gallium/drivers/swr/rasterizer/core/frontend.h
src/gallium/drivers/swr/rasterizer/core/pa.h
src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp
src/gallium/drivers/swr/rasterizer/memory/StoreTile.h