[Mesa-dev] [PATCH v2 00/45] OpenSWR driver misc changes
Cherniak, Bruce
bruce.cherniak at intel.com
Wed Apr 18 05:44:30 UTC 2018
Entire patch set Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>
> On Apr 17, 2018, at 8:31 PM, George Kyriazis <george.kyriazis at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list