[Mesa-dev] [PATCH 00/28] update swr rasterizer

Tim Rowley timothy.o.rowley at intel.com
Thu Mar 16 00:12:54 UTC 2017


Hightlights include: lots of simd16 work, assert rework, and autogen
changes (scripts centralized, one file added, two removed).

Tim Rowley (28):
  swr: [rasterizer core] Support sparse numa id values on all OSes
  swr: [rasterizer core] Finish SIMD16 PA OPT except tesselation
  swr: [rasterizer core] Finish SIMD16 PA OPT including tesselation
  swr: [rasterizer core/scripts] Autogen backend initialization
    function(s)
  swr: [rasterizer archrast] Add additional API events
  swr: [rasterizer core] Implement SIMD16 GS and STREAMOUT
  swr: [rasterizer archrast] Fix performance issue with archrast stats
  swr: [rasterizer common] Add InterpolateComponentFlat utility
  swr: [rasterizer core] Fix RECT_LIST primitive assembly
  swr: [rasterizer archrast/scripts] Further archrast cleanups
  swr: [rasterizer archrast] Remove redundant data from archrast files
  swr: [rasterizer archrast/core/scripts] Fix archrast multithreading
    issue
  swr: [rasterizer core] Implement double pumped SIMD16 TESS
  swr: [rasterizer archrast] Fix the early and late depthstencil events
  swr: [rasterizer] Backend code adjustments
  swr: [rasterizer] Slight assert refactoring
  swr: [rasterizer core] Allow no arguments to SWR_INVALID macro
  swr: [rasterizer core/common] Fix the native AVX512 build under ICC
  swr: [rasterizer core] Fix typo in SIMD16 code path
  swr: [rasterizer] Convert more SWR_ASSERT(false, ...) to
    SWR_INVALID(...)
  swr: [rasterizer jitter] Fix LogicOp blend jit after assert changes
  swr: [rasterizer core] SIMD16 Frontend WIP - fix tesselation crashes
  swr: [rasterizer core] fix trifan regression from 52f9f54dce
  swr: [rasterizer scripts] Put codegen scripts into a separate
    directory
  swr: [rasterizer codegen] Quiet gen_backends.py execution
  swr: [rasterizer codegen] Rewrite gen_llvm_ir_macros.py to use mako
  swr: [rasterizer codegen] Fix generation of knobs
  swr: [rasterizer codegen] Rewrite gen_llvm_types.py to use mako

 src/gallium/drivers/swr/Makefile.am                |  188 +-
 .../drivers/swr/rasterizer/archrast/archrast.cpp   |  280 ++-
 .../drivers/swr/rasterizer/archrast/archrast.h     |    1 +
 .../drivers/swr/rasterizer/archrast/eventmanager.h |   10 +-
 .../drivers/swr/rasterizer/archrast/events.proto   |  234 +--
 .../{scripts => codegen}/gen_archrast.py           |    0
 .../drivers/swr/rasterizer/codegen/gen_backends.py |  127 ++
 .../rasterizer/{scripts => codegen}/gen_knobs.py   |    2 +
 .../swr/rasterizer/codegen/gen_llvm_ir_macros.py   |  286 +++
 .../{jitter/scripts => codegen}/gen_llvm_types.py  |  206 +--
 .../rasterizer/{scripts => codegen}/knob_defs.py   |    0
 .../{scripts => codegen}/mako/__init__.py          |    0
 .../{scripts => codegen}/mako/_ast_util.py         |    0
 .../rasterizer/{scripts => codegen}/mako/ast.py    |    0
 .../rasterizer/{scripts => codegen}/mako/cache.py  |    0
 .../rasterizer/{scripts => codegen}/mako/cmd.py    |    0
 .../{scripts => codegen}/mako/codegen.py           |    0
 .../rasterizer/{scripts => codegen}/mako/compat.py |    0
 .../{scripts => codegen}/mako/exceptions.py        |    0
 .../{scripts => codegen}/mako/filters.py           |    0
 .../rasterizer/{scripts => codegen}/mako/lexer.py  |    0
 .../rasterizer/{scripts => codegen}/mako/lookup.py |    0
 .../{scripts => codegen}/mako/parsetree.py         |    0
 .../rasterizer/{scripts => codegen}/mako/pygen.py  |    0
 .../{scripts => codegen}/mako/pyparser.py          |    0
 .../{scripts => codegen}/mako/runtime.py           |    0
 .../{scripts => codegen}/mako/template.py          |    0
 .../rasterizer/{scripts => codegen}/mako/util.py   |    0
 .../templates/ar_event_cpp.template                |    0
 .../templates/ar_event_h.template                  |    0
 .../templates/ar_eventhandler_h.template           |    4 +-
 .../templates/ar_eventhandlerfile_h.template       |    4 +-
 .../codegen/templates/backend_template.cpp         |   49 +
 .../codegen/templates/gen_builder_template.hpp     |   50 +
 .../swr/rasterizer/codegen/templates/gen_llvm.hpp  |   72 +
 .../templates/knobs_template.cpp}                  |    5 +-
 .../drivers/swr/rasterizer/common/simd16intrin.h   |   26 +-
 .../drivers/swr/rasterizer/common/simdintrin.h     |   24 +-
 .../drivers/swr/rasterizer/common/swr_assert.cpp   |  331 ++--
 .../drivers/swr/rasterizer/common/swr_assert.h     |   74 +-
 src/gallium/drivers/swr/rasterizer/core/api.cpp    |   23 +-
 .../drivers/swr/rasterizer/core/backend.cpp        |  239 +--
 src/gallium/drivers/swr/rasterizer/core/backend.h  |  277 ++-
 src/gallium/drivers/swr/rasterizer/core/binner.cpp |    4 +-
 src/gallium/drivers/swr/rasterizer/core/blend.h    |    6 +-
 src/gallium/drivers/swr/rasterizer/core/clip.cpp   |    4 +-
 src/gallium/drivers/swr/rasterizer/core/clip.h     |    4 +-
 src/gallium/drivers/swr/rasterizer/core/context.h  |    3 +
 .../drivers/swr/rasterizer/core/format_types.h     |   78 +-
 .../drivers/swr/rasterizer/core/frontend.cpp       |  439 ++++-
 src/gallium/drivers/swr/rasterizer/core/pa.h       |  152 +-
 src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp | 1885 +++++++++++++++++---
 .../drivers/swr/rasterizer/core/rasterizer.cpp     |    2 +-
 src/gallium/drivers/swr/rasterizer/core/state.h    |    4 +-
 .../drivers/swr/rasterizer/core/tessellator.h      |    6 +-
 .../drivers/swr/rasterizer/core/threads.cpp        |   86 +-
 .../drivers/swr/rasterizer/core/tilemgr.cpp        |    2 +-
 .../drivers/swr/rasterizer/jitter/JitManager.cpp   |    4 +-
 .../drivers/swr/rasterizer/jitter/blend_jit.cpp    |   47 +-
 .../drivers/swr/rasterizer/jitter/builder.h        |    4 +-
 .../drivers/swr/rasterizer/jitter/builder_misc.cpp |    4 +-
 .../drivers/swr/rasterizer/jitter/fetch_jit.cpp    |   34 +-
 .../drivers/swr/rasterizer/jitter/fetch_jit.h      |    2 +-
 .../jitter/scripts/gen_llvm_ir_macros.py           |  431 -----
 .../drivers/swr/rasterizer/memory/Convert.h        |   10 +-
 .../drivers/swr/rasterizer/memory/LoadTile.cpp     |    8 +-
 .../drivers/swr/rasterizer/memory/StoreTile.cpp    |    2 +-
 .../swr/rasterizer/memory/TilingFunctions.h        |    6 +-
 .../drivers/swr/rasterizer/memory/tilingtraits.h   |   20 +-
 69 files changed, 3836 insertions(+), 1923 deletions(-)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/gen_archrast.py (100%)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/gen_backends.py
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/gen_knobs.py (97%)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
 rename src/gallium/drivers/swr/rasterizer/{jitter/scripts => codegen}/gen_llvm_types.py (60%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/knob_defs.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/__init__.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/_ast_util.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/ast.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/cache.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/cmd.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/codegen.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/compat.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/exceptions.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/filters.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/lexer.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/lookup.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/parsetree.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/pygen.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/pyparser.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/runtime.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/template.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/mako/util.py (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/templates/ar_event_cpp.template (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/templates/ar_event_h.template (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/templates/ar_eventhandler_h.template (94%)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/templates/ar_eventhandlerfile_h.template (97%)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/backend_template.cpp
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder_template.hpp
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_llvm.hpp
 rename src/gallium/drivers/swr/rasterizer/{scripts/templates/knobs.template => codegen/templates/knobs_template.cpp} (98%)
 delete mode 100644 src/gallium/drivers/swr/rasterizer/jitter/scripts/gen_llvm_ir_macros.py

-- 
2.7.4



More information about the mesa-dev mailing list