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

Tim Rowley timothy.o.rowley at intel.com
Thu Mar 16 19:09:25 UTC 2017


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

v2:
* adjust scons build system along with automake
* separate backend template comment style change
* only one declaration of gBackendPixelRateTable
* prefix template and generated files with gen_

Tim Rowley (32):
  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] backend.h declares gBackendPixelRateTable
  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 886a196cf2
  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] Change backend template comment style
  swr: [rasterizer codegen] Fix generation of knobs
  swr: [rasterizer codegen] Rewrite gen_llvm_types.py to use mako
  swr: [rasterizer codegen] Remove BOM from knob_defs.py
  swr: [rasterizer] Cleanup naming of codegen files

 src/gallium/drivers/swr/.gitignore                 |   21 +-
 src/gallium/drivers/swr/Makefile.am                |  204 +--
 src/gallium/drivers/swr/SConscript                 |   79 +-
 .../drivers/swr/rasterizer/archrast/archrast.cpp   |  282 ++-
 .../drivers/swr/rasterizer/archrast/archrast.h     |    3 +-
 .../drivers/swr/rasterizer/archrast/eventmanager.h |   14 +-
 .../drivers/swr/rasterizer/archrast/events.proto   |  234 +--
 .../{scripts => codegen}/gen_archrast.py           |   60 +-
 .../drivers/swr/rasterizer/codegen/gen_backends.py |  127 ++
 .../rasterizer/{scripts => codegen}/gen_knobs.py   |    4 +-
 .../swr/rasterizer/codegen/gen_llvm_ir_macros.py   |  286 +++
 .../{jitter/scripts => codegen}/gen_llvm_types.py  |  206 +--
 .../rasterizer/{scripts => codegen}/knob_defs.py   |    2 +-
 .../{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/gen_ar_event.cpp}                    |    4 +-
 .../templates/gen_ar_event.hpp}                    |    0
 .../templates/gen_ar_eventhandler.hpp}             |    4 +-
 .../templates/gen_ar_eventhandlerfile.hpp}         |    4 +-
 .../rasterizer/codegen/templates/gen_backend.cpp   |   41 +
 .../rasterizer/codegen/templates/gen_builder.hpp   |   50 +
 .../templates/gen_knobs.cpp}                       |   62 +-
 .../swr/rasterizer/codegen/templates/gen_llvm.hpp  |   73 +
 .../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  |  285 ++-
 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   |    6 +-
 .../drivers/swr/rasterizer/jitter/blend_jit.cpp    |   49 +-
 .../drivers/swr/rasterizer/jitter/builder.h        |    4 +-
 .../drivers/swr/rasterizer/jitter/builder_misc.cpp |    4 +-
 .../drivers/swr/rasterizer/jitter/fetch_jit.cpp    |   36 +-
 .../drivers/swr/rasterizer/jitter/fetch_jit.h      |    2 +-
 .../jitter/scripts/gen_llvm_ir_macros.py           |  431 -----
 .../swr/rasterizer/jitter/streamout_jit.cpp        |    2 +-
 .../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 +-
 src/gallium/drivers/swr/swr_shader.cpp             |    4 +-
 src/gallium/drivers/swr/swr_state.cpp              |    4 +-
 src/gallium/drivers/swr/swr_tex_sample.cpp         |    4 +-
 75 files changed, 3972 insertions(+), 2057 deletions(-)
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/gen_archrast.py (73%)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/gen_backends.py
 rename src/gallium/drivers/swr/rasterizer/{scripts => codegen}/gen_knobs.py (94%)
 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 (99%)
 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/templates/ar_event_cpp.template => codegen/templates/gen_ar_event.cpp} (96%)
 rename src/gallium/drivers/swr/rasterizer/{scripts/templates/ar_event_h.template => codegen/templates/gen_ar_event.hpp} (100%)
 rename src/gallium/drivers/swr/rasterizer/{scripts/templates/ar_eventhandler_h.template => codegen/templates/gen_ar_eventhandler.hpp} (94%)
 rename src/gallium/drivers/swr/rasterizer/{scripts/templates/ar_eventhandlerfile_h.template => codegen/templates/gen_ar_eventhandlerfile.hpp} (97%)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_backend.cpp
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_builder.hpp
 rename src/gallium/drivers/swr/rasterizer/{scripts/templates/knobs.template => codegen/templates/gen_knobs.cpp} (90%)
 create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_llvm.hpp
 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