[Mesa-dev] [PATCH v2 00/13] swr: update rasterizer
Tim Rowley
timothy.o.rowley at intel.com
Tue Jun 27 18:09:02 UTC 2017
Highlights include splitting the heavily templated files into multiple
chunks to speed compile (2x for a large machine), and switching the
simd intrinsic usage from a macro-based header to a more c++ feeling
library.
No regressions on piglit or vtk tests, passes "make dist"/compile.
v2:
* split changes to generators to seperate functionality/cleanups
* add scons patch so that .inl files can be handled
* add comments explaining makefile .INTERMEDIATE usage
Tim Rowley (13):
swr/rast: generators will create target directories
swr/rast: gen_backends.py quote cleanup
swr/rast: gen_backends.py removal of commented debug prints
swr/rast: Split backend.cpp to improve compile time
swr/rast: Support dynamically sized vertex layout
swr/rast: gen_backends.py remove extraneous semicolon
swr/rast: Split rasterizer.cpp to improve compile time
swr/rast: Fix unused variable warnings
scons: allow .inl file extension
swr/rast: Switch intrinsic usage to SIMDLib
swr/rast: Fix missing setup of psContext.pColorBuffer
swr/rast: move default split size from driver to rasterizer
swr/rast: increase number of possible draws in flight
scons/custom.py | 2 +-
src/gallium/drivers/swr/Makefile.am | 66 +-
src/gallium/drivers/swr/Makefile.sources | 19 +-
src/gallium/drivers/swr/SConscript | 41 +-
.../drivers/swr/rasterizer/codegen/gen_backends.py | 55 +-
.../drivers/swr/rasterizer/codegen/gen_common.py | 7 +
.../drivers/swr/rasterizer/codegen/knob_defs.py | 4 +-
.../rasterizer/codegen/templates/gen_backend.cpp | 1 +
.../codegen/templates/gen_header_init.hpp | 43 +
.../codegen/templates/gen_rasterizer.cpp | 42 +
src/gallium/drivers/swr/rasterizer/common/intrin.h | 102 +-
.../drivers/swr/rasterizer/common/simd16intrin.h | 1223 ++-----------
.../drivers/swr/rasterizer/common/simdintrin.h | 1257 +++-----------
.../drivers/swr/rasterizer/common/simdlib.hpp | 550 ++++++
.../swr/rasterizer/common/simdlib_128_avx.inl | 545 ++++++
.../swr/rasterizer/common/simdlib_128_avx2.inl | 68 +
.../swr/rasterizer/common/simdlib_128_avx512.inl | 408 +++++
.../swr/rasterizer/common/simdlib_256_avx.inl | 757 +++++++++
.../swr/rasterizer/common/simdlib_256_avx2.inl | 234 +++
.../swr/rasterizer/common/simdlib_256_avx512.inl | 409 +++++
.../swr/rasterizer/common/simdlib_512_avx512.inl | 682 ++++++++
.../rasterizer/common/simdlib_512_avx512_masks.inl | 27 +
.../swr/rasterizer/common/simdlib_512_emu.inl | 842 +++++++++
.../rasterizer/common/simdlib_512_emu_masks.inl | 28 +
.../swr/rasterizer/common/simdlib_interface.hpp | 428 +++++
.../swr/rasterizer/common/simdlib_types.hpp | 377 +++++
src/gallium/drivers/swr/rasterizer/core/api.cpp | 8 +-
.../drivers/swr/rasterizer/core/backend.cpp | 809 +--------
src/gallium/drivers/swr/rasterizer/core/backend.h | 1033 +----------
.../drivers/swr/rasterizer/core/backend_clear.cpp | 281 +++
.../drivers/swr/rasterizer/core/backend_impl.h | 1067 ++++++++++++
.../drivers/swr/rasterizer/core/backend_sample.cpp | 344 ++++
.../swr/rasterizer/core/backend_singlesample.cpp | 320 ++++
src/gallium/drivers/swr/rasterizer/core/binner.cpp | 293 ++--
src/gallium/drivers/swr/rasterizer/core/clip.cpp | 6 +-
src/gallium/drivers/swr/rasterizer/core/clip.h | 50 +-
src/gallium/drivers/swr/rasterizer/core/context.h | 2 +-
.../swr/rasterizer/core/format_conversion.h | 8 +-
.../drivers/swr/rasterizer/core/format_types.h | 30 +-
.../drivers/swr/rasterizer/core/format_utils.h | 268 +--
.../drivers/swr/rasterizer/core/frontend.cpp | 16 +-
src/gallium/drivers/swr/rasterizer/core/frontend.h | 4 +-
.../drivers/swr/rasterizer/core/multisample.cpp | 48 -
src/gallium/drivers/swr/rasterizer/core/pa.h | 16 +-
src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp | 106 +-
.../drivers/swr/rasterizer/core/rasterizer.cpp | 1788 +++-----------------
.../drivers/swr/rasterizer/core/rasterizer.h | 31 +-
.../drivers/swr/rasterizer/core/rasterizer_impl.h | 1376 +++++++++++++++
src/gallium/drivers/swr/rasterizer/core/state.h | 12 +
.../drivers/swr/rasterizer/memory/StoreTile.h | 156 +-
src/gallium/drivers/swr/swr_screen.cpp | 4 -
src/gallium/drivers/swr/swr_shader.cpp | 2 +
src/gallium/drivers/swr/swr_state.cpp | 2 +
53 files changed, 10145 insertions(+), 6152 deletions(-)
create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_header_init.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/codegen/templates/gen_rasterizer.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx2.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx2.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_masks.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_emu.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_512_emu_masks.inl
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_interface.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdlib_types.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/backend_clear.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/backend_impl.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/backend_sample.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/backend_singlesample.cpp
delete mode 100644 src/gallium/drivers/swr/rasterizer/core/multisample.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/rasterizer_impl.h
--
2.7.4
More information about the mesa-dev
mailing list