[Mesa-dev] [PATCH v2 0/6] OpenSWR driver addition
Tim Rowley
timothy.o.rowley at intel.com
Fri Feb 19 04:23:25 UTC 2016
Thanks for review comments. Changes since v1:
* split patch 3/4 (mesa changes) into two patches
* restore llvmpipe as the default software renderer
* add documentation
Not resending old patches still current:
* 1/4 (OpenSWR driver)
* 2/4 (OpenSWR rasterizer)
* 4/4 (OpenSWR build changes)
Tim Rowley (6):
OpenSWR driver
OpenSWR rasterizer
__cplusplus exports around more gallium utilities
OpenSWR added to mesa software renderers
OpenSWR build changes
OpenSWR documentation
configure.ac | 18 +
scons/custom.py | 2 +-
scons/llvm.py | 8 +-
src/gallium/Makefile.am | 6 +
src/gallium/SConscript | 3 +
src/gallium/auxiliary/gallivm/lp_bld_flow.h | 7 +
src/gallium/auxiliary/gallivm/lp_bld_init.h | 7 +
src/gallium/auxiliary/gallivm/lp_bld_sample.h | 6 +
src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 8 +
.../auxiliary/target-helpers/inline_sw_helper.h | 11 +
.../target-helpers/inline_wrapper_sw_helper.h | 2 +-
src/gallium/auxiliary/util/u_dl.h | 6 +
src/gallium/docs/source/openswr.rst | 21 +
src/gallium/docs/source/openswr/faq.rst | 141 +
src/gallium/docs/source/openswr/knobs.rst | 114 +
src/gallium/docs/source/openswr/profiling.rst | 67 +
src/gallium/docs/source/openswr/usage.rst | 42 +
src/gallium/drivers/swr/.clang-format | 64 +
src/gallium/drivers/swr/Automake.inc | 30 +
src/gallium/drivers/swr/Makefile.am | 37 +
src/gallium/drivers/swr/Makefile.sources | 23 +
src/gallium/drivers/swr/Makefile.sources-arch | 111 +
src/gallium/drivers/swr/SConscript | 31 +
src/gallium/drivers/swr/SConscript-arch | 117 +
src/gallium/drivers/swr/avx/Makefile.am | 112 +
src/gallium/drivers/swr/avx2/Makefile.am | 112 +
.../drivers/swr/rasterizer/common/containers.hpp | 208 +
.../drivers/swr/rasterizer/common/formats.cpp | 5469 ++++++++++++++++++++
.../drivers/swr/rasterizer/common/formats.h | 251 +
src/gallium/drivers/swr/rasterizer/common/isa.hpp | 235 +
src/gallium/drivers/swr/rasterizer/common/os.h | 221 +
.../swr/rasterizer/common/rdtsc_buckets.cpp | 188 +
.../drivers/swr/rasterizer/common/rdtsc_buckets.h | 229 +
.../swr/rasterizer/common/rdtsc_buckets_shared.h | 167 +
.../drivers/swr/rasterizer/common/simdintrin.h | 787 +++
.../drivers/swr/rasterizer/common/swr_assert.cpp | 238 +
.../drivers/swr/rasterizer/common/swr_assert.h | 109 +
src/gallium/drivers/swr/rasterizer/core/api.cpp | 1511 ++++++
src/gallium/drivers/swr/rasterizer/core/api.h | 500 ++
src/gallium/drivers/swr/rasterizer/core/arena.cpp | 166 +
src/gallium/drivers/swr/rasterizer/core/arena.h | 69 +
.../drivers/swr/rasterizer/core/backend.cpp | 1899 +++++++
src/gallium/drivers/swr/rasterizer/core/backend.h | 59 +
src/gallium/drivers/swr/rasterizer/core/blend.h | 318 ++
src/gallium/drivers/swr/rasterizer/core/clip.cpp | 201 +
src/gallium/drivers/swr/rasterizer/core/clip.h | 868 ++++
src/gallium/drivers/swr/rasterizer/core/context.h | 495 ++
.../drivers/swr/rasterizer/core/depthstencil.h | 245 +
src/gallium/drivers/swr/rasterizer/core/fifo.hpp | 136 +
.../swr/rasterizer/core/format_conversion.h | 196 +
.../drivers/swr/rasterizer/core/format_traits.h | 3548 +++++++++++++
.../drivers/swr/rasterizer/core/format_types.h | 1075 ++++
.../drivers/swr/rasterizer/core/frontend.cpp | 2345 +++++++++
src/gallium/drivers/swr/rasterizer/core/frontend.h | 327 ++
src/gallium/drivers/swr/rasterizer/core/knobs.h | 142 +
.../drivers/swr/rasterizer/core/knobs_init.h | 98 +
.../drivers/swr/rasterizer/core/multisample.cpp | 51 +
.../drivers/swr/rasterizer/core/multisample.h | 620 +++
src/gallium/drivers/swr/rasterizer/core/pa.h | 1208 +++++
src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp | 1177 +++++
.../drivers/swr/rasterizer/core/rasterizer.cpp | 1393 +++++
.../drivers/swr/rasterizer/core/rasterizer.h | 35 +
.../drivers/swr/rasterizer/core/rdtsc_core.cpp | 91 +
.../drivers/swr/rasterizer/core/rdtsc_core.h | 177 +
src/gallium/drivers/swr/rasterizer/core/state.h | 1027 ++++
.../drivers/swr/rasterizer/core/tessellator.h | 88 +
.../drivers/swr/rasterizer/core/threads.cpp | 962 ++++
src/gallium/drivers/swr/rasterizer/core/threads.h | 63 +
.../drivers/swr/rasterizer/core/tilemgr.cpp | 105 +
src/gallium/drivers/swr/rasterizer/core/tilemgr.h | 390 ++
src/gallium/drivers/swr/rasterizer/core/utils.cpp | 148 +
src/gallium/drivers/swr/rasterizer/core/utils.h | 831 +++
.../drivers/swr/rasterizer/jitter/JitManager.cpp | 313 ++
.../drivers/swr/rasterizer/jitter/JitManager.h | 186 +
.../drivers/swr/rasterizer/jitter/blend_jit.cpp | 772 +++
.../drivers/swr/rasterizer/jitter/blend_jit.h | 93 +
.../drivers/swr/rasterizer/jitter/builder.cpp | 71 +
.../drivers/swr/rasterizer/jitter/builder.h | 71 +
.../drivers/swr/rasterizer/jitter/builder_math.h | 34 +
.../drivers/swr/rasterizer/jitter/builder_misc.cpp | 1447 ++++++
.../drivers/swr/rasterizer/jitter/builder_misc.h | 149 +
.../drivers/swr/rasterizer/jitter/fetch_jit.cpp | 1431 +++++
.../drivers/swr/rasterizer/jitter/fetch_jit.h | 128 +
.../drivers/swr/rasterizer/jitter/jit_api.h | 108 +
.../jitter/scripts/gen_llvm_ir_macros.py | 401 ++
.../rasterizer/jitter/scripts/gen_llvm_types.py | 341 ++
.../swr/rasterizer/jitter/streamout_jit.cpp | 357 ++
.../drivers/swr/rasterizer/jitter/streamout_jit.h | 94 +
.../drivers/swr/rasterizer/memory/ClearTile.cpp | 287 +
.../drivers/swr/rasterizer/memory/Convert.h | 698 +++
.../drivers/swr/rasterizer/memory/LoadTile.cpp | 396 ++
.../drivers/swr/rasterizer/memory/StoreTile.cpp | 1717 ++++++
.../swr/rasterizer/memory/TilingFunctions.h | 581 +++
.../drivers/swr/rasterizer/memory/tilingtraits.h | 263 +
.../drivers/swr/rasterizer/scripts/gen_knobs.py | 79 +
.../drivers/swr/rasterizer/scripts/knob_defs.py | 226 +
.../swr/rasterizer/scripts/mako/__init__.py | 8 +
.../swr/rasterizer/scripts/mako/_ast_util.py | 845 +++
.../drivers/swr/rasterizer/scripts/mako/ast.py | 178 +
.../drivers/swr/rasterizer/scripts/mako/cache.py | 238 +
.../drivers/swr/rasterizer/scripts/mako/cmd.py | 62 +
.../drivers/swr/rasterizer/scripts/mako/codegen.py | 1237 +++++
.../drivers/swr/rasterizer/scripts/mako/compat.py | 174 +
.../swr/rasterizer/scripts/mako/exceptions.py | 373 ++
.../drivers/swr/rasterizer/scripts/mako/filters.py | 201 +
.../drivers/swr/rasterizer/scripts/mako/lexer.py | 441 ++
.../drivers/swr/rasterizer/scripts/mako/lookup.py | 359 ++
.../swr/rasterizer/scripts/mako/parsetree.py | 594 +++
.../drivers/swr/rasterizer/scripts/mako/pygen.py | 299 ++
.../swr/rasterizer/scripts/mako/pyparser.py | 232 +
.../drivers/swr/rasterizer/scripts/mako/runtime.py | 878 ++++
.../swr/rasterizer/scripts/mako/template.py | 705 +++
.../drivers/swr/rasterizer/scripts/mako/util.py | 360 ++
.../rasterizer/scripts/templates/knobs.template | 141 +
src/gallium/drivers/swr/swr_clear.cpp | 142 +
src/gallium/drivers/swr/swr_context.cpp | 407 ++
src/gallium/drivers/swr/swr_context.h | 182 +
src/gallium/drivers/swr/swr_context_llvm.h | 124 +
src/gallium/drivers/swr/swr_draw.cpp | 271 +
src/gallium/drivers/swr/swr_fence.cpp | 143 +
src/gallium/drivers/swr/swr_fence.h | 70 +
src/gallium/drivers/swr/swr_loader.cpp | 67 +
src/gallium/drivers/swr/swr_memory.h | 99 +
src/gallium/drivers/swr/swr_public.h | 46 +
src/gallium/drivers/swr/swr_query.cpp | 334 ++
src/gallium/drivers/swr/swr_query.h | 46 +
src/gallium/drivers/swr/swr_resource.h | 97 +
src/gallium/drivers/swr/swr_scratch.cpp | 116 +
src/gallium/drivers/swr/swr_scratch.h | 63 +
src/gallium/drivers/swr/swr_screen.cpp | 746 +++
src/gallium/drivers/swr/swr_screen.h | 52 +
src/gallium/drivers/swr/swr_shader.cpp | 591 +++
src/gallium/drivers/swr/swr_shader.h | 60 +
src/gallium/drivers/swr/swr_state.cpp | 1370 +++++
src/gallium/drivers/swr/swr_state.h | 307 ++
src/gallium/drivers/swr/swr_tex_sample.cpp | 338 ++
src/gallium/drivers/swr/swr_tex_sample.h | 47 +
src/gallium/targets/libgl-gdi/SConscript | 8 +-
src/gallium/targets/libgl-gdi/libgl_gdi.c | 28 +-
src/gallium/targets/libgl-xlib/Makefile.am | 5 +
src/gallium/targets/libgl-xlib/SConscript | 4 +
src/gallium/targets/osmesa/Makefile.am | 6 +
src/gallium/targets/osmesa/SConscript | 4 +
143 files changed, 55103 insertions(+), 10 deletions(-)
create mode 100644 src/gallium/docs/source/openswr.rst
create mode 100644 src/gallium/docs/source/openswr/faq.rst
create mode 100644 src/gallium/docs/source/openswr/knobs.rst
create mode 100644 src/gallium/docs/source/openswr/profiling.rst
create mode 100644 src/gallium/docs/source/openswr/usage.rst
create mode 100644 src/gallium/drivers/swr/.clang-format
create mode 100644 src/gallium/drivers/swr/Automake.inc
create mode 100644 src/gallium/drivers/swr/Makefile.am
create mode 100644 src/gallium/drivers/swr/Makefile.sources
create mode 100644 src/gallium/drivers/swr/Makefile.sources-arch
create mode 100644 src/gallium/drivers/swr/SConscript
create mode 100644 src/gallium/drivers/swr/SConscript-arch
create mode 100644 src/gallium/drivers/swr/avx/Makefile.am
create mode 100644 src/gallium/drivers/swr/avx2/Makefile.am
create mode 100644 src/gallium/drivers/swr/rasterizer/common/containers.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/formats.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/formats.h
create mode 100644 src/gallium/drivers/swr/rasterizer/common/isa.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/os.h
create mode 100644 src/gallium/drivers/swr/rasterizer/common/rdtsc_buckets.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/rdtsc_buckets.h
create mode 100644 src/gallium/drivers/swr/rasterizer/common/rdtsc_buckets_shared.h
create mode 100644 src/gallium/drivers/swr/rasterizer/common/simdintrin.h
create mode 100644 src/gallium/drivers/swr/rasterizer/common/swr_assert.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/common/swr_assert.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/api.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/api.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/arena.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/arena.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/backend.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/backend.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/blend.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/clip.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/clip.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/context.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/depthstencil.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/fifo.hpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/format_conversion.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/format_traits.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/format_types.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/frontend.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/frontend.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/knobs.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/knobs_init.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/multisample.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/multisample.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/pa.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/pa_avx.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/rasterizer.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/rasterizer.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/rdtsc_core.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/rdtsc_core.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/state.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/tessellator.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/threads.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/threads.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/tilemgr.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/tilemgr.h
create mode 100644 src/gallium/drivers/swr/rasterizer/core/utils.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/core/utils.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/JitManager.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/blend_jit.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/builder.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/builder_math.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/builder_misc.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/jit_api.h
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/scripts/gen_llvm_ir_macros.py
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/scripts/gen_llvm_types.py
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/streamout_jit.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/jitter/streamout_jit.h
create mode 100644 src/gallium/drivers/swr/rasterizer/memory/ClearTile.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/memory/Convert.h
create mode 100644 src/gallium/drivers/swr/rasterizer/memory/LoadTile.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/memory/StoreTile.cpp
create mode 100644 src/gallium/drivers/swr/rasterizer/memory/TilingFunctions.h
create mode 100644 src/gallium/drivers/swr/rasterizer/memory/tilingtraits.h
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/gen_knobs.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/knob_defs.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/__init__.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/_ast_util.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/ast.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/cache.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/cmd.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/codegen.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/compat.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/exceptions.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/filters.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/lexer.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/lookup.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/parsetree.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/pygen.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/pyparser.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/runtime.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/template.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/mako/util.py
create mode 100644 src/gallium/drivers/swr/rasterizer/scripts/templates/knobs.template
create mode 100644 src/gallium/drivers/swr/swr_clear.cpp
create mode 100644 src/gallium/drivers/swr/swr_context.cpp
create mode 100644 src/gallium/drivers/swr/swr_context.h
create mode 100644 src/gallium/drivers/swr/swr_context_llvm.h
create mode 100644 src/gallium/drivers/swr/swr_draw.cpp
create mode 100644 src/gallium/drivers/swr/swr_fence.cpp
create mode 100644 src/gallium/drivers/swr/swr_fence.h
create mode 100644 src/gallium/drivers/swr/swr_loader.cpp
create mode 100644 src/gallium/drivers/swr/swr_memory.h
create mode 100644 src/gallium/drivers/swr/swr_public.h
create mode 100644 src/gallium/drivers/swr/swr_query.cpp
create mode 100644 src/gallium/drivers/swr/swr_query.h
create mode 100644 src/gallium/drivers/swr/swr_resource.h
create mode 100644 src/gallium/drivers/swr/swr_scratch.cpp
create mode 100644 src/gallium/drivers/swr/swr_scratch.h
create mode 100644 src/gallium/drivers/swr/swr_screen.cpp
create mode 100644 src/gallium/drivers/swr/swr_screen.h
create mode 100644 src/gallium/drivers/swr/swr_shader.cpp
create mode 100644 src/gallium/drivers/swr/swr_shader.h
create mode 100644 src/gallium/drivers/swr/swr_state.cpp
create mode 100644 src/gallium/drivers/swr/swr_state.h
create mode 100644 src/gallium/drivers/swr/swr_tex_sample.cpp
create mode 100644 src/gallium/drivers/swr/swr_tex_sample.h
--
1.9.1
More information about the mesa-dev
mailing list