[Mesa-dev] [PATCH 00/11] update swr rasterizer
Highlights are more avx512 work and api cleanup. Tim Rowley (11): swr: [rasterizer core] viewport rounding for disabled scissor swr: [rasterizer core] avx512 work in progress initial step swr: [rasterizer jitter] rework vertex/instance ID storage in fetch swr: [rasterizer common] icc declspec definitions swr: [rasterizer] attribute swizzling and linkage swr: [rasterizer core] ensure adjacent topologies use the cut-aware PA swr: [rasterizer core] support range of values in TemplateArgUnroller swr: [rasterizer core] centroid correction swr: [rasterizer core] rename *_MAX enum values to *_COUNT swr: [rasterizer core] fix for possible int32 overflow condition swr: [rasterizer core] introduce simd16intrin.h src/gallium/drivers/swr/Makefile.sources | 1 + src/gallium/drivers/swr/rasterizer/common/os.h | 18 +- .../drivers/swr/rasterizer/common/simd16intrin.h | 717 + .../drivers/swr/rasterizer/common/simdintrin.h | 650 +++ src/gallium/drivers/swr/rasterizer/core/api.cpp| 68 +- src/gallium/drivers/swr/rasterizer/core/api.h | 13 - .../drivers/swr/rasterizer/core/backend.cpp| 44 +- src/gallium/drivers/swr/rasterizer/core/clip.h | 9 +- src/gallium/drivers/swr/rasterizer/core/context.h | 11 +- .../drivers/swr/rasterizer/core/format_types.h | 194 +- .../drivers/swr/rasterizer/core/frontend.cpp | 221 --- src/gallium/drivers/swr/rasterizer/core/knobs.h| 46 +- .../drivers/swr/rasterizer/core/multisample.h | 4 +- src/gallium/drivers/swr/rasterizer/core/pa.h | 18 +- .../drivers/swr/rasterizer/core/rasterizer.cpp | 8 +- src/gallium/drivers/swr/rasterizer/core/state.h| 40 +- src/gallium/drivers/swr/rasterizer/core/utils.h| 236 ++- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 78 +-- .../drivers/swr/rasterizer/jitter/fetch_jit.h | 32 +- src/gallium/drivers/swr/swr_shader.cpp | 12 - src/gallium/drivers/swr/swr_state.cpp | 13 +- src/gallium/drivers/swr/swr_state.h| 1 - 22 files changed, 2133 insertions(+), 301 deletions(-) create mode 100644 src/gallium/drivers/swr/rasterizer/common/simd16intrin.h -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 00/11] update swr rasterizer
Reviewed-by: Bruce Cherniak> On May 3, 2016, at 11:13 AM, Tim Rowley wrote: > > Smallish changes this time around, some changes that hopefully > start improving coverity's opinion of the rasterizer, and a small > performance tweak. > > Tim Rowley (11): > swr: [rasterizer] Whitespace cleanup and misc changes > swr: [rasterizer core] Fix threadviz support in buckets > swr: [rasterizer core] Fix thread allocation > swr: [rasterizer jitter] Add asserts for supported formats in fetch >shader > swr: [rasterizer memory] Add missing store tiles function > swr: [rasterizer jitter] Fix printing bugs for tracing. > swr: [rasterizer] Add support for X24_TYPELESS_G8_UINT format > swr: [rasterizer] Miscellaneous backend changes > swr: [rasterizer] Add SWR_ASSUME / SWR_ASSUME_ASSERT macros > swr: [rasterizer] Small warning cleanup > swr: [rasterizer core] Faster modulo operator in ProcessVerts > > .../drivers/swr/rasterizer/common/formats.cpp | 25 +++-- > .../drivers/swr/rasterizer/common/formats.h| 1 + > src/gallium/drivers/swr/rasterizer/common/os.h | 1 + > .../swr/rasterizer/common/rdtsc_buckets.cpp| 12 +++ > .../drivers/swr/rasterizer/common/rdtsc_buckets.h | 12 +-- > .../drivers/swr/rasterizer/common/simdintrin.h | 20 > .../drivers/swr/rasterizer/common/swr_assert.h | 50 +- > src/gallium/drivers/swr/rasterizer/core/arena.h| 16 ++-- > .../drivers/swr/rasterizer/core/backend.cpp| 26 ++--- > src/gallium/drivers/swr/rasterizer/core/backend.h | 7 +- > .../drivers/swr/rasterizer/core/format_traits.h| 22 + > .../drivers/swr/rasterizer/core/frontend.cpp | 5 +- > src/gallium/drivers/swr/rasterizer/core/pa.h | 5 +- > .../drivers/swr/rasterizer/core/rdtsc_core.cpp | 2 +- > .../drivers/swr/rasterizer/core/threads.cpp| 64 + > .../drivers/swr/rasterizer/jitter/JitManager.h | 7 -- > .../drivers/swr/rasterizer/jitter/blend_jit.h | 1 - > .../drivers/swr/rasterizer/jitter/builder_misc.cpp | 105 + > .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 2 + > .../drivers/swr/rasterizer/jitter/jit_api.h| 1 - > .../drivers/swr/rasterizer/memory/StoreTile.cpp| 5 +- > .../rasterizer/scripts/templates/knobs.template| 3 - > src/gallium/drivers/swr/swr_state.h| 1 + > 23 files changed, 225 insertions(+), 168 deletions(-) > > -- > 1.9.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 00/11] update swr rasterizer
Smallish changes this time around, some changes that hopefully start improving coverity's opinion of the rasterizer, and a small performance tweak. Tim Rowley (11): swr: [rasterizer] Whitespace cleanup and misc changes swr: [rasterizer core] Fix threadviz support in buckets swr: [rasterizer core] Fix thread allocation swr: [rasterizer jitter] Add asserts for supported formats in fetch shader swr: [rasterizer memory] Add missing store tiles function swr: [rasterizer jitter] Fix printing bugs for tracing. swr: [rasterizer] Add support for X24_TYPELESS_G8_UINT format swr: [rasterizer] Miscellaneous backend changes swr: [rasterizer] Add SWR_ASSUME / SWR_ASSUME_ASSERT macros swr: [rasterizer] Small warning cleanup swr: [rasterizer core] Faster modulo operator in ProcessVerts .../drivers/swr/rasterizer/common/formats.cpp | 25 +++-- .../drivers/swr/rasterizer/common/formats.h| 1 + src/gallium/drivers/swr/rasterizer/common/os.h | 1 + .../swr/rasterizer/common/rdtsc_buckets.cpp| 12 +++ .../drivers/swr/rasterizer/common/rdtsc_buckets.h | 12 +-- .../drivers/swr/rasterizer/common/simdintrin.h | 20 .../drivers/swr/rasterizer/common/swr_assert.h | 50 +- src/gallium/drivers/swr/rasterizer/core/arena.h| 16 ++-- .../drivers/swr/rasterizer/core/backend.cpp| 26 ++--- src/gallium/drivers/swr/rasterizer/core/backend.h | 7 +- .../drivers/swr/rasterizer/core/format_traits.h| 22 + .../drivers/swr/rasterizer/core/frontend.cpp | 5 +- src/gallium/drivers/swr/rasterizer/core/pa.h | 5 +- .../drivers/swr/rasterizer/core/rdtsc_core.cpp | 2 +- .../drivers/swr/rasterizer/core/threads.cpp| 64 + .../drivers/swr/rasterizer/jitter/JitManager.h | 7 -- .../drivers/swr/rasterizer/jitter/blend_jit.h | 1 - .../drivers/swr/rasterizer/jitter/builder_misc.cpp | 105 + .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 2 + .../drivers/swr/rasterizer/jitter/jit_api.h| 1 - .../drivers/swr/rasterizer/memory/StoreTile.cpp| 5 +- .../rasterizer/scripts/templates/knobs.template| 3 - src/gallium/drivers/swr/swr_state.h| 1 + 23 files changed, 225 insertions(+), 168 deletions(-) -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 00/11] update swr rasterizer
Reviewed-by: Bruce CherniakOn Apr 14, 2016, at 2:53 PM, Tim Rowley wrote: > > Another batch of updates to the swr rasterizer. No huge new features, > but should fix at least one of the coverity flagged issues. > > Tim Rowley (11): > swr: [rasterizer core] Use CS spill/fill size in core > swr: [rasterizer fetch] Add support for fetching non-uniform component >formats > swr: [rasterizer core] Fix thread binding for 32-bit windows > swr: [rasterizer core] Fix global arena allocator bug > swr: [rasterizer core] Arena: make most allocated blocks the same size > swr: [rasterizer core] TemplateArgUnroller > swr: [rasterizer] Interpolation utility functions > swr: [rasterizer scripts] Knob scripts tweaks > swr: [rasterizer] Small cleanups > swr: [rasterizer core] CompleteDrawContext changes for gcc > swr: [rasterizer memory] Constify load tiles > > .../drivers/swr/rasterizer/common/simdintrin.h | 51 +- > src/gallium/drivers/swr/rasterizer/core/api.cpp| 45 + > src/gallium/drivers/swr/rasterizer/core/api.h | 6 +- > src/gallium/drivers/swr/rasterizer/core/arena.h| 146 ++-- > .../drivers/swr/rasterizer/core/backend.cpp| 6 +- > src/gallium/drivers/swr/rasterizer/core/context.h | 1 + > .../drivers/swr/rasterizer/core/frontend.cpp | 123 +++-- > src/gallium/drivers/swr/rasterizer/core/frontend.h | 24 ++- > src/gallium/drivers/swr/rasterizer/core/pa.h | 6 +- > src/gallium/drivers/swr/rasterizer/core/state.h| 2 - > .../drivers/swr/rasterizer/core/threads.cpp| 31 +++- > src/gallium/drivers/swr/rasterizer/core/utils.cpp | 31 ++-- > src/gallium/drivers/swr/rasterizer/core/utils.h| 34 +++- > .../drivers/swr/rasterizer/jitter/JitManager.cpp | 6 - > .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 190 - > .../drivers/swr/rasterizer/jitter/jit_api.h| 3 + > .../drivers/swr/rasterizer/memory/LoadTile.cpp | 12 +- > .../drivers/swr/rasterizer/memory/StoreTile.cpp| 1 - > .../drivers/swr/rasterizer/scripts/knob_defs.py| 4 +- > .../rasterizer/scripts/templates/knobs.template| 25 ++- > src/gallium/drivers/swr/swr_memory.h | 2 +- > 21 files changed, 544 insertions(+), 205 deletions(-) > > -- > 1.9.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 00/11] update swr rasterizer
Another batch of updates to the swr rasterizer. No huge new features, but should fix at least one of the coverity flagged issues. Tim Rowley (11): swr: [rasterizer core] Use CS spill/fill size in core swr: [rasterizer fetch] Add support for fetching non-uniform component formats swr: [rasterizer core] Fix thread binding for 32-bit windows swr: [rasterizer core] Fix global arena allocator bug swr: [rasterizer core] Arena: make most allocated blocks the same size swr: [rasterizer core] TemplateArgUnroller swr: [rasterizer] Interpolation utility functions swr: [rasterizer scripts] Knob scripts tweaks swr: [rasterizer] Small cleanups swr: [rasterizer core] CompleteDrawContext changes for gcc swr: [rasterizer memory] Constify load tiles .../drivers/swr/rasterizer/common/simdintrin.h | 51 +- src/gallium/drivers/swr/rasterizer/core/api.cpp| 45 + src/gallium/drivers/swr/rasterizer/core/api.h | 6 +- src/gallium/drivers/swr/rasterizer/core/arena.h| 146 ++-- .../drivers/swr/rasterizer/core/backend.cpp| 6 +- src/gallium/drivers/swr/rasterizer/core/context.h | 1 + .../drivers/swr/rasterizer/core/frontend.cpp | 123 +++-- src/gallium/drivers/swr/rasterizer/core/frontend.h | 24 ++- src/gallium/drivers/swr/rasterizer/core/pa.h | 6 +- src/gallium/drivers/swr/rasterizer/core/state.h| 2 - .../drivers/swr/rasterizer/core/threads.cpp| 31 +++- src/gallium/drivers/swr/rasterizer/core/utils.cpp | 31 ++-- src/gallium/drivers/swr/rasterizer/core/utils.h| 34 +++- .../drivers/swr/rasterizer/jitter/JitManager.cpp | 6 - .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 190 - .../drivers/swr/rasterizer/jitter/jit_api.h| 3 + .../drivers/swr/rasterizer/memory/LoadTile.cpp | 12 +- .../drivers/swr/rasterizer/memory/StoreTile.cpp| 1 - .../drivers/swr/rasterizer/scripts/knob_defs.py| 4 +- .../rasterizer/scripts/templates/knobs.template| 25 ++- src/gallium/drivers/swr/swr_memory.h | 2 +- 21 files changed, 544 insertions(+), 205 deletions(-) -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 00/11] update swr rasterizer
On 04/01/2016 06:22 PM, Tim Rowley wrote: More development of the swr rasterizer. Tim Rowley (11): swr: [rasterizer] Misc fixes identified by static code analysis swr: [rasterizer core] Affinitize thread scratch space to numa node of worker swr: [rasterizer common] win32 build fixups swr: [rasterizer core] Quantize depth to depth buffer precision prior to depth test/write. Fixes z-fighting issues. swr: [rasterizer] Ensure correct alignment of stack variables used as vectors swr: [rasterizer core] Replace all naked OSALIGN macro uses with OSALIGNSIMD / OSALIGNLINE swr: [rasterizer] Avoid segv in thread creation on machines with non-consecutive NUMA topology. swr: [rasterizer core] Add experimental support for hyper-threaded front-end swr: [rasterizer core] Put DRAW_CONTEXT on a diet swr: [rasterizer] Put in rudimentary garbage collection for the global arena allocator swr: [rasterizer core] warning cleanup I don't know if one of your coworkers will be reviewing these patches. If not, Acked-by: Brian Paul___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 00/11] update swr rasterizer
More development of the swr rasterizer. Tim Rowley (11): swr: [rasterizer] Misc fixes identified by static code analysis swr: [rasterizer core] Affinitize thread scratch space to numa node of worker swr: [rasterizer common] win32 build fixups swr: [rasterizer core] Quantize depth to depth buffer precision prior to depth test/write. Fixes z-fighting issues. swr: [rasterizer] Ensure correct alignment of stack variables used as vectors swr: [rasterizer core] Replace all naked OSALIGN macro uses with OSALIGNSIMD / OSALIGNLINE swr: [rasterizer] Avoid segv in thread creation on machines with non-consecutive NUMA topology. swr: [rasterizer core] Add experimental support for hyper-threaded front-end swr: [rasterizer core] Put DRAW_CONTEXT on a diet swr: [rasterizer] Put in rudimentary garbage collection for the global arena allocator swr: [rasterizer core] warning cleanup src/gallium/drivers/swr/rasterizer/common/os.h | 10 +- src/gallium/drivers/swr/rasterizer/core/api.cpp| 100 +++-- src/gallium/drivers/swr/rasterizer/core/arena.h| 232 +++-- .../drivers/swr/rasterizer/core/backend.cpp| 39 ++-- src/gallium/drivers/swr/rasterizer/core/backend.h | 2 +- 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 | 47 +++-- .../drivers/swr/rasterizer/core/depthstencil.h | 40 +++- .../drivers/swr/rasterizer/core/frontend.cpp | 10 +- src/gallium/drivers/swr/rasterizer/core/knobs.h| 3 + src/gallium/drivers/swr/rasterizer/core/pa.h | 14 +- .../drivers/swr/rasterizer/core/rasterizer.cpp | 16 +- src/gallium/drivers/swr/rasterizer/core/state.h| 1 + .../drivers/swr/rasterizer/core/threads.cpp| 141 ++--- src/gallium/drivers/swr/rasterizer/core/threads.h | 4 +- .../drivers/swr/rasterizer/core/tilemgr.cpp| 22 -- src/gallium/drivers/swr/rasterizer/core/tilemgr.h | 8 +- .../drivers/swr/rasterizer/scripts/knob_defs.py| 19 ++ 19 files changed, 506 insertions(+), 210 deletions(-) -- 1.9.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev