swr/rast: Start refactoring of builder/packetizer.
authorGeorge Kyriazis <george.kyriazis@intel.com>
Tue, 20 Mar 2018 00:05:38 +0000 (19:05 -0500)
committerGeorge Kyriazis <george.kyriazis@intel.com>
Wed, 18 Apr 2018 15:51:38 +0000 (10:51 -0500)
commit8f848ada8a42d9aaa8136afa1bafe32281a0fb48
tree6f2fc66cf63a9f53ba6e3e58e678702f1211c680
parentffc0aeb4ec90464ac124a4209e0027b34148833c
swr/rast: Start refactoring of builder/packetizer.

Move x86 intrinsic lowering to a separate pass. Builder now instantiates
generic intrinsics for features not supported by llvm. The separate x86
lowering pass is responsible for lowering to valid x86 for the target
SIMD architecture. Currently it's a port of existing code to get it
up and running quickly. Will eventually support optimized x86 for AVX,
AVX2 and AVX512.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
16 files changed:
src/gallium/drivers/swr/Makefile.am
src/gallium/drivers/swr/Makefile.sources
src/gallium/drivers/swr/SConscript
src/gallium/drivers/swr/meson.build
src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
src/gallium/drivers/swr/rasterizer/codegen/meson.build
src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder.hpp
src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp
src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
src/gallium/drivers/swr/rasterizer/jitter/builder.h
src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/jitter/functionpasses/passes.h [new file with mode: 0644]
src/gallium/drivers/swr/rasterizer/jitter/meson.build
src/gallium/drivers/swr/rasterizer/jitter/streamout_jit.cpp