[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