Entire patch set Reviewed-by: Bruce Cherniak <bruce.chern...@intel.com>
> On Apr 17, 2018, at 8:31 PM, George Kyriazis <george.kyria...@intel.com> > wrote: > > > Lots of SWR-specifc changes, including: > - work for 16-wide simd operation across all avx flavors > - separate avx instrinsics into a separate x86 lowering pass > - stats work > - misc other cleanup > > v2: mostly editorial changes > > George Kyriazis (45): > swr/rast: Add some instructions to jitter > swr/rast: Introduce JIT_MEM_CLIENT > swr/rast: Use blend context struct to pass params > swr/rast: Add debug type info for i128 > swr/rast: Silence some unused variable warnings > swr/rast: Add some archrast stats > swr/rast: Changes to allow jitter to compile with LLVM5 > swr/rast: LLVM 6 fix > swr/rast: WIP builder rewrite. > swr/rast: Add autogen of helper llvm intrinsics. > swr/rast: WIP builder rewrite (2) > swr/rast: Permute work for simd16 > swr/rast: Add MEM_ADD helper function to Builder. > swr/rast: Add "Num Instructions Executed" stats intrinsic. > swr/rast: Code cleanup > swr/rast: Add some archrast counters > swr/rast: Fix name mangling for LLVM pow intrinsic > swr/rast: Move CallPrint() to a separate file > swr/rast: Simplify #define usage in gen source file > swr/rast: Start refactoring of builder/packetizer. > swr/rast: Lower PERMD and PERMPS to x86. > swr/rast: Cleanup of JitManager convenience types > swr/rast: Lower VGATHERPS and VGATHERPS_16 to x86. > swr/rast: Add builder_gfx_mem.{h|cpp} > swr/rast: Enable generalized fetch jit > swr: add x86 lowering pass to fragment shader > swr/rast: Fix codegen for typedef types > swr/rast: Adding translate call to builder_gfx_mem. > swr/rast: Add support for setting optimization level > swr/rast: Fix byte offset for non-indexed draws > swr/rast: Change gfx pointers to gfxptr_t > swr/rast: Fix alloca usage in jitter > swr/rast: add cvt instructions in x86 lowering pass > swr/rast: fix comment > swr/rast: Add vgather to x86 lowering pass. > swr/rast: Type-check TemplateArgUnroller > swr/rast: Add shader stats infrastructure (WIP) > swr/rast: Fix 64bit float loads in x86 lowering pass > swr/rast: double-pump in x86 lowering pass > swr/rast: minimize codegen redundant work > swr/rast: Refactor to improve code sharing. > swr/rast: Implement VROUND intrinsic in x86 lowering pass > swr/rast: Optimize late/bindless JIT of samplers > swr/rast: Replace x86 VMOVMSK with llvm-only implementation > swr/rast: Fix VGATHERPD lowering > > src/gallium/drivers/swr/Makefile.am | 14 +- > src/gallium/drivers/swr/Makefile.sources | 6 +- > src/gallium/drivers/swr/SConscript | 13 +- > src/gallium/drivers/swr/meson.build | 6 +- > .../drivers/swr/rasterizer/archrast/archrast.cpp | 97 +- > .../drivers/swr/rasterizer/archrast/events.proto | 54 + > .../swr/rasterizer/archrast/events_private.proto | 45 + > .../drivers/swr/rasterizer/codegen/gen_archrast.py | 111 +- > .../drivers/swr/rasterizer/codegen/gen_backends.py | 97 +- > .../drivers/swr/rasterizer/codegen/gen_common.py | 131 +- > .../drivers/swr/rasterizer/codegen/gen_knobs.py | 53 +- > .../swr/rasterizer/codegen/gen_llvm_ir_macros.py | 180 ++- > .../swr/rasterizer/codegen/gen_llvm_types.py | 30 +- > .../drivers/swr/rasterizer/codegen/knob_defs.py | 35 + > .../drivers/swr/rasterizer/codegen/meson.build | 2 +- > .../rasterizer/codegen/templates/gen_builder.hpp | 29 +- > .../drivers/swr/rasterizer/common/simd16intrin.h | 1 + > .../drivers/swr/rasterizer/common/simdintrin.h | 1 + > .../swr/rasterizer/common/simdlib_256_avx.inl | 6 + > .../swr/rasterizer/common/simdlib_256_avx2.inl | 7 + > .../swr/rasterizer/common/simdlib_512_avx512.inl | 6 + > .../swr/rasterizer/common/simdlib_512_emu.inl | 16 +- > src/gallium/drivers/swr/rasterizer/core/api.cpp | 15 +- > src/gallium/drivers/swr/rasterizer/core/api.h | 47 +- > .../drivers/swr/rasterizer/core/backend.cpp | 10 +- > src/gallium/drivers/swr/rasterizer/core/backend.h | 4 +- > .../drivers/swr/rasterizer/core/backend_clear.cpp | 19 +- > .../drivers/swr/rasterizer/core/backend_impl.h | 73 +- > .../drivers/swr/rasterizer/core/backend_sample.cpp | 14 +- > .../swr/rasterizer/core/backend_singlesample.cpp | 15 +- > src/gallium/drivers/swr/rasterizer/core/binner.cpp | 4 +- > src/gallium/drivers/swr/rasterizer/core/context.h | 5 +- > .../drivers/swr/rasterizer/core/frontend.cpp | 78 +- > src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp | 42 +- > .../drivers/swr/rasterizer/core/rasterizer.cpp | 4 +- > .../drivers/swr/rasterizer/core/rasterizer_impl.h | 15 +- > src/gallium/drivers/swr/rasterizer/core/state.h | 91 +- > .../drivers/swr/rasterizer/core/threads.cpp | 68 +- > src/gallium/drivers/swr/rasterizer/core/threads.h | 5 +- > .../drivers/swr/rasterizer/core/tilemgr.cpp | 21 +- > src/gallium/drivers/swr/rasterizer/core/tilemgr.h | 4 +- > src/gallium/drivers/swr/rasterizer/core/utils.h | 39 +- > .../drivers/swr/rasterizer/jitter/JitManager.cpp | 44 +- > .../drivers/swr/rasterizer/jitter/JitManager.h | 21 - > .../drivers/swr/rasterizer/jitter/blend_jit.cpp | 70 +- > .../drivers/swr/rasterizer/jitter/builder.cpp | 50 +- > .../drivers/swr/rasterizer/jitter/builder.h | 39 +- > .../swr/rasterizer/jitter/builder_gfx_mem.cpp | 203 +++ > .../swr/rasterizer/jitter/builder_gfx_mem.h | 84 ++ > .../drivers/swr/rasterizer/jitter/builder_mem.cpp | 322 +---- > .../drivers/swr/rasterizer/jitter/builder_mem.h | 66 +- > .../drivers/swr/rasterizer/jitter/builder_misc.cpp | 142 +-- > .../drivers/swr/rasterizer/jitter/builder_misc.h | 26 +- > .../drivers/swr/rasterizer/jitter/fetch_jit.cpp | 1341 ++++---------------- > .../drivers/swr/rasterizer/jitter/fetch_jit.h | 6 +- > .../rasterizer/jitter/functionpasses/lower_x86.cpp | 619 +++++++++ > .../swr/rasterizer/jitter/functionpasses/passes.h | 37 + > .../drivers/swr/rasterizer/jitter/jit_pch.hpp | 18 +- > .../drivers/swr/rasterizer/jitter/meson.build | 19 +- > .../rasterizer/jitter/shader_lib/DebugOutput.cpp | 51 + > .../swr/rasterizer/jitter/streamout_jit.cpp | 21 +- > .../drivers/swr/rasterizer/memory/ClearTile.cpp | 1 + > .../drivers/swr/rasterizer/memory/LoadTile.cpp | 1 + > .../drivers/swr/rasterizer/memory/StoreTile.cpp | 1 + > src/gallium/drivers/swr/swr_memory.h | 9 +- > src/gallium/drivers/swr/swr_shader.cpp | 16 + > src/gallium/drivers/swr/swr_state.cpp | 2 +- > 67 files changed, 2707 insertions(+), 2015 deletions(-) > create mode 100644 > src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp > create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h > create mode 100644 > src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp > create mode 100644 > src/gallium/drivers/swr/rasterizer/jitter/functionpasses/passes.h > create mode 100644 > src/gallium/drivers/swr/rasterizer/jitter/shader_lib/DebugOutput.cpp > > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev