[Mesa-stable] [PATCH v3 0/6] OpenSWR driver addition

Rowley, Timothy O timothy.o.rowley at intel.com
Mon Feb 29 21:07:30 UTC 2016


Modest ping: haven’t had any comments on these patches for a few days.

I don’t have freedesktop git write privileges, so once the patches are cleared it would be great if someone could push them.

Thanks.

-Tim

> On Feb 24, 2016, at 9:20 PM, Rowley, Timothy O <timothy.o.rowley at intel.com> wrote:
> 
> Updating parts 3 through 6 (1 and 2 are still current) based on review
> comments.  Since we're only targeting linux at the moment, I've
> removed the scons build and libgl-gdi changes to simplify the review
> process.  In the future when we get windows working as well we'll get
> the scons build system changes ready for review.
> 
> Tim Rowley (6):
>  OpenSWR driver
>  OpenSWR rasterizer
>  gallium/auxilary: more __cplusplus exports
>  gallium/target-helpers: add OpenSWR driver
>  mesa/build: add OpenSWR to build
>  gallium/docs - add OpenSWR documentation
> 
> configure.ac                                       |   38 +
> m4/ax_cxx_compile_stdcxx.m4                        |  558 ++
> src/gallium/Makefile.am                            |    6 +
> 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    |   12 +-
> src/gallium/auxiliary/util/u_dl.h                  |    6 +
> src/gallium/docs/source/drivers/openswr.rst        |   21 +
> src/gallium/docs/source/drivers/openswr/faq.rst    |  141 +
> src/gallium/docs/source/drivers/openswr/knobs.rst  |  114 +
> .../docs/source/drivers/openswr/profiling.rst      |   67 +
> src/gallium/docs/source/drivers/openswr/usage.rst  |   38 +
> src/gallium/drivers/swr/.clang-format              |   64 +
> src/gallium/drivers/swr/Makefile.am                |   31 +
> src/gallium/drivers/swr/Makefile.sources           |   23 +
> src/gallium/drivers/swr/Makefile.sources-arch      |  111 +
> src/gallium/drivers/swr/avx/Makefile.am            |   99 +
> src/gallium/drivers/swr/avx2/Makefile.am           |   99 +
> .../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-xlib/Makefile.am         |    5 +
> src/gallium/targets/osmesa/Makefile.am             |    6 +
> 133 files changed, 55418 insertions(+), 1 deletion(-)
> create mode 100644 m4/ax_cxx_compile_stdcxx.m4
> create mode 100644 src/gallium/docs/source/drivers/openswr.rst
> create mode 100644 src/gallium/docs/source/drivers/openswr/faq.rst
> create mode 100644 src/gallium/docs/source/drivers/openswr/knobs.rst
> create mode 100644 src/gallium/docs/source/drivers/openswr/profiling.rst
> create mode 100644 src/gallium/docs/source/drivers/openswr/usage.rst
> create mode 100644 src/gallium/drivers/swr/.clang-format
> 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/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-stable mailing list