[Mesa-dev] [PATCH 00/45] OpenSWR driver misc changes
George Kyriazis
george.kyriazis at intel.com
Fri Apr 13 19:01:40 UTC 2018
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
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
More information about the mesa-dev
mailing list