swr/rasterizer: Better implementation of scatter
authorJan Zielinski <jan.zielinski@intel.com>
Wed, 24 Jul 2019 10:25:27 +0000 (12:25 +0200)
committerJan Zielinski <jan.zielinski@intel.com>
Tue, 30 Jul 2019 13:39:19 +0000 (13:39 +0000)
commit5dd9ad1570056e2e93689bae16ea78fc8b714448
treec294f085a630062110dd2d4bb4f74d2376b38154
parentad9aff5528a30dbc775c042b9bbf6c5bc9f3eff9
swr/rasterizer: Better implementation of scatter

Added support for avx512 scatter instruction. Non-avx512 will
now call into a C function to do the scatter emulation.

This has better jit compile performance than
the previous approach of jitting scalar loops.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/Makefile.sources
src/gallium/drivers/swr/meson.build
src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp
src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp
src/gallium/drivers/swr/rasterizer/jitter/shader_lib/Scatter.cpp [new file with mode: 0644]