[Mesa-dev] [PATCH] swr: [rasterizer] fix clear with multiple color attachments

2016-11-15 Thread Tim Rowley
Fixes fbo-mrt-alphatest --- src/gallium/drivers/swr/rasterizer/core/api.cpp| 10 ++--- src/gallium/drivers/swr/rasterizer/core/api.h | 4 +- .../drivers/swr/rasterizer/core/backend.cpp| 46 +++--- src/gallium/drivers/swr/rasterizer/core/context.h | 11 +- src

[Mesa-dev] [PATCH 01/14] swr: [rasterizer jitter] code style fix

2016-11-09 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp b/src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp index 46ea495..d69d503 100644 --- a/src/gallium/drive

[Mesa-dev] [PATCH 11/14] swr: [rasterizer common] don't bleed NOMINMAX definition after

2016-11-09 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/common/os.h | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h index ac52b60..28e7ff5 100644 --- a/src/gallium/drivers/swr/rasterizer/common/

[Mesa-dev] [PATCH 05/14] swr: [rasterizer archrast] fix open file handle limit issue

2016-11-09 Thread Tim Rowley
Buffer events ourselves and then when that's full or we're destroying the context then write the contents to file. Previously, we're relying ofstream to buffer for us. --- .../templates/ar_eventhandlerfile_h.template | 50 +++--- 1 file changed, 44 insertions(+), 6 deletions(

[Mesa-dev] [PATCH 09/14] swr: [rasterizer core] fix culling issues

2016-11-09 Thread Tim Rowley
- Do proper culling of wireframe triangles (including non-culling of degenerates) - Fix degenerate culling of CCW front-facing triangles in wireframe and conservative rast --- src/gallium/drivers/swr/rasterizer/core/binner.cpp | 185 + 1 file changed, 119 insertions(+), 66

[Mesa-dev] [PATCH 02/14] swr: [rasterizer core] 16-wide tile store nearly completed

2016-11-09 Thread Tim Rowley
* All format combinations coded * Fully emulated on AVX2 and AVX * Known issue: the MSAA sample locations need to be adjusted for 8x2 Set ENABLE_AVX512_SIMD16 and USD_8x2_TILE_BACKEND to 1 in knobs.h to enable --- .../drivers/swr/rasterizer/common/simd16intrin.h | 61 +- .../drivers/swr/raster

[Mesa-dev] [PATCH 14/14] swr: [rasterizer core] remove driverType

2016-11-09 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/api.cpp | 40 ++- src/gallium/drivers/swr/rasterizer/core/api.h | 2 -- src/gallium/drivers/swr/rasterizer/core/context.h | 2 -- src/gallium/drivers/swr/rasterizer/core/state.h | 6 src/gallium/drivers/swr/swr_context

[Mesa-dev] [PATCH 08/14] swr: [rasterizer core/jitter] fix alpha test bug

2016-11-09 Thread Tim Rowley
Alpha from render target 0 should always be used for alpha test for all render targets, according to GL and DX9 specs. Previously we were using alpha from the current render target. --- src/gallium/drivers/swr/rasterizer/core/backend.h | 1 + src/gallium/drivers/swr/rasterizer/core/state.h

[Mesa-dev] [PATCH 12/14] swr: [rasterizer core] add mode for aux buffer in the SWR_SURFACE_STATE

2016-11-09 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/state.h | 16 1 file changed, 16 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/core/state.h b/src/gallium/drivers/swr/rasterizer/core/state.h index 24927cd..062a1de 100644 --- a/src/gallium/drivers/swr/rasterizer/core/s

[Mesa-dev] [PATCH 13/14] swr: [rasterizer archrast] move to pass by value

2016-11-09 Thread Tim Rowley
Move to pass by value since most events are very small in size. We can look at pass by reference but will need to create multiple versions to handle temp objects. --- .../drivers/swr/rasterizer/scripts/templates/ar_eventhandler_h.template | 2 +- .../swr/rasterizer/scripts/templates/ar_eventhandl

[Mesa-dev] [PATCH 10/14] swr: [rasterizer archrast] add events

2016-11-09 Thread Tim Rowley
Added events for tracking early/late Depth and stencil events, TE patch info, GS prim info, and FrontEnd/BackEnd DrawEnd events. --- .../drivers/swr/rasterizer/archrast/archrast.cpp | 279 - .../drivers/swr/rasterizer/archrast/events.proto | 255 +++ .../dri

[Mesa-dev] [PATCH 06/14] swr: [rasterizer archrast] don't generate empty files

2016-11-09 Thread Tim Rowley
Don't generate files when no events have been generated outside the header events. --- .../drivers/swr/rasterizer/archrast/archrast.cpp| 16 ++-- src/gallium/drivers/swr/rasterizer/archrast/archrast.h | 8 +++- src/gallium/drivers/swr/rasterizer/core/api.cpp | 6

[Mesa-dev] [PATCH 04/14] swr: [rasterizer archrast] fix double free issue

2016-11-09 Thread Tim Rowley
--- .../drivers/swr/rasterizer/archrast/archrast.cpp | 10 +- .../drivers/swr/rasterizer/archrast/archrast.h | 2 +- .../drivers/swr/rasterizer/archrast/eventmanager.h | 20 src/gallium/drivers/swr/rasterizer/core/api.cpp | 1 - src/gallium/drivers/s

[Mesa-dev] [PATCH 00/14] swr: update rasterizer

2016-11-09 Thread Tim Rowley
Highlights include more 8x2 render work, fix for alphatest, and archrast updates. Tim Rowley (14): swr: [rasterizer jitter] code style fix swr: [rasterizer core] 16-wide tile store nearly completed swr: [rasterizer core] separate frontend/backend stats enables swr: [rasterizer archrast

[Mesa-dev] [PATCH 07/14] swr: [rasterizer core] various code style changes

2016-11-09 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/api.cpp | 15 ++- src/gallium/drivers/swr/rasterizer/core/api.h| 4 +++- src/gallium/drivers/swr/rasterizer/core/binner.cpp | 4 +++- src/gallium/drivers/swr/rasterizer/core/clip.h | 4 ++-- src/gallium/drivers/swr/ras

[Mesa-dev] [PATCH 03/14] swr: [rasterizer core] separate frontend/backend stats enables

2016-11-09 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/api.cpp | 18 -- src/gallium/drivers/swr/rasterizer/core/api.h | 10 +- src/gallium/drivers/swr/rasterizer/core/backend.cpp | 18 +- src/gallium/drivers/swr/rasterizer/core/context.h | 15 +++---

[Mesa-dev] [PATCH] swr: allow alphatest without blend or logicop

2016-11-07 Thread Tim Rowley
We need to compile a blend function when alphatest is enabled. --- src/gallium/drivers/swr/swr_state.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp index 3e02322..424bff2 100644 --- a/src/gall

[Mesa-dev] [PATCH 1/2] gallium: detect avx512 cpu features

2016-11-03 Thread Tim Rowley
v3: fix check for xmm/ymm test v2: style code, add avx512 to cpu dump --- src/gallium/auxiliary/util/u_cpu_detect.c | 26 ++ src/gallium/auxiliary/util/u_cpu_detect.h | 10 ++ 2 files changed, 36 insertions(+) diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c

[Mesa-dev] [PATCH 2/2] gallivm: permit use of avx512 instructions on llvm-3.9+

2016-11-03 Thread Tim Rowley
--- src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp index bd4d4d3..bff2198 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +++ b/src/galliu

[Mesa-dev] [PATCH 0/2] avx512 initial usage

2016-11-03 Thread Tim Rowley
Add code to detect avx512 cpu features, and allow llvm to generate avx512 instructions with llvm-3.9+. gallivm will still treat avx512 capable processors as avx2 (256-bit vectors). No piglit regressions with llvmpipe on llvm-3.9.0 and KNL. Tim Rowley (2): gallium: detect avx512 cpu features

[Mesa-dev] [PATCH] swr: replace mesa->swr format enum conversion

2016-09-20 Thread Tim Rowley
Replace old string comparison with a mapping table. --- src/gallium/drivers/swr/swr_screen.cpp | 344 - 1 file changed, 293 insertions(+), 51 deletions(-) diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp index 2ffb3a7..9

[Mesa-dev] [PATCH v2] configure.ac: add llvm inteljitevents component if enabled

2016-08-26 Thread Tim Rowley
Needed to successfully link llvmpipe or swr when using shared llvm libs built with inteljitevents enabled. v2: Make adding inteljitevents component global rather than just llvmpipe/swr, since libgallium will have a symbol dependency. --- configure.ac | 4 1 file changed, 4 insertions(+) dif

[Mesa-dev] [PATCH] vbo: increase VBO_SAVE_BUFFER_SIZE from 8k to 256k dwords

2016-08-17 Thread Tim Rowley
Increases the performance of legacy geometry-heavy apps still using display lists. --- src/mesa/vbo/vbo_save.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/vbo/vbo_save.h b/src/mesa/vbo/vbo_save.h index 2843b3c..d1d7fb0 100644 --- a/src/mesa/vbo/vbo_save.h +++ b/src

[Mesa-dev] [PATCH v2] swr: build swr with -fno-strict-aliasing

2016-08-02 Thread Tim Rowley
swr rasterizer contains numerous data transfers between vectors and ordinary C types. Fixing for strict aliasing will take time. --- src/gallium/drivers/swr/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am i

[Mesa-dev] [PATCH] configure.ac: add llvm inteljitevents component if enabled

2016-08-02 Thread Tim Rowley
Needed to successfully link llvmpipe or swr when using shared llvm libs. --- configure.ac | 5 + 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac index fb4a12a..edbc95b 100644 --- a/configure.ac +++ b/configure.ac @@ -2497,6 +2497,11 @@ dnl in LLVM_LIBS. if test "x$

[Mesa-dev] [PATCH] configure.ac/swr: build swr with -fno-strict-aliasing

2016-08-02 Thread Tim Rowley
swr rasterizer contains numerous data transfers between vectors and ordinary C types. Fixing for strict aliasing will take time. --- configure.ac| 7 +++ src/gallium/drivers/swr/Makefile.am | 1 + 2 files changed, 8 insertions(+) diff --git a/configure.ac b/configure.

[Mesa-dev] [PATCH 11/11] swr: [rasterizer core] introduce simd16intrin.h

2016-07-18 Thread Tim Rowley
Refactoring to leave existing simd_* intrinsics in "simdintrin.h" unchanged, adding corresponding simd16_* intrinsics in "simd16intrin.h" on the side, with emulation, that we can use piecemeal, rather than the all-or-nothing approach to bring up avx512. --- src/gallium/drivers/swr/Makefile.sources

[Mesa-dev] [PATCH 10/11] swr: [rasterizer core] fix for possible int32 overflow condition

2016-07-18 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/rasterizer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/rasterizer.cpp b/src/gallium/drivers/swr/rasterizer/core/rasterizer.cpp index 897556a..1909ddb 100644 --- a/src/gallium/drivers/sw

[Mesa-dev] [PATCH 08/11] swr: [rasterizer core] centroid correction

2016-07-18 Thread Tim Rowley
--- .../drivers/swr/rasterizer/core/backend.cpp| 26 ++ 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/backend.cpp b/src/gallium/drivers/swr/rasterizer/core/backend.cpp index b492810..5d83baf 100644 --- a/src/gall

[Mesa-dev] [PATCH 07/11] swr: [rasterizer core] support range of values in TemplateArgUnroller

2016-07-18 Thread Tim Rowley
Fixes Linux warnings. --- .../drivers/swr/rasterizer/core/frontend.cpp | 13 +++-- .../drivers/swr/rasterizer/core/rasterizer.cpp | 6 ++- src/gallium/drivers/swr/rasterizer/core/utils.h| 63 +++--- 3 files changed, 56 insertions(+), 26 deletions(-) diff --git a/src

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

2016-07-18 Thread Tim Rowley
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

[Mesa-dev] [PATCH 05/11] swr: [rasterizer] attribute swizzling and linkage

2016-07-18 Thread Tim Rowley
Add support for enhanced attribute swizzling. Currently supports constant source overrides to handle PrimitiveID support. No support yet for input select swizzling or wrap shortest. Removes obsoleted linkageMask and associated code. --- src/gallium/drivers/swr/rasterizer/core/api.cpp| 56 +++-

[Mesa-dev] [PATCH 06/11] swr: [rasterizer core] ensure adjacent topologies use the cut-aware PA

2016-07-18 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/pa.h | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/pa.h b/src/gallium/drivers/swr/rasterizer/core/pa.h index 64932af..2b8110f 100644 --- a/src/gallium/drivers/swr/rasterizer/core/pa.h

[Mesa-dev] [PATCH 04/11] swr: [rasterizer common] icc declspec definitions

2016-07-18 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/common/os.h | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h index 45517f6..32eca68 100644 --- a/src/gallium/drivers/swr/ras

[Mesa-dev] [PATCH 02/11] swr: [rasterizer core] avx512 work in progress initial step

2016-07-18 Thread Tim Rowley
Enabling KNOB_SIMD_WIDTH = 16 for AVX512 pre-work and low level simd utils --- .../drivers/swr/rasterizer/common/simdintrin.h | 644 + .../drivers/swr/rasterizer/core/format_types.h | 194 ++- src/gallium/drivers/swr/rasterizer/core/knobs.h| 25 +- src/gallium/

[Mesa-dev] [PATCH 09/11] swr: [rasterizer core] rename *_MAX enum values to *_COUNT

2016-07-18 Thread Tim Rowley
Makes these names semantically correct. --- src/gallium/drivers/swr/rasterizer/core/api.cpp| 6 +++--- src/gallium/drivers/swr/rasterizer/core/backend.cpp| 18 +- src/gallium/drivers/swr/rasterizer/core/multisample.h | 4 ++-- src/gallium/drivers/swr/rasterizer/core/

[Mesa-dev] [PATCH 03/11] swr: [rasterizer jitter] rework vertex/instance ID storage in fetch

2016-07-18 Thread Tim Rowley
Moved the setting into the existing component control code. Fixes bad interaction between attribute/component setting for vertex/instance ID and component packing. --- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 78 ++ .../drivers/swr/rasterizer/jitter/fetch_jit.h

[Mesa-dev] [PATCH 01/11] swr: [rasterizer core] viewport rounding for disabled scissor

2016-07-18 Thread Tim Rowley
Adjust viewport rounding when scissor rect is disabled during macro tile scissor setup. --- src/gallium/drivers/swr/rasterizer/core/api.cpp | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/api.cpp b/src/gallium/drivers/swr/rasterize

[Mesa-dev] [PATCH] Revert "gallium: Force blend color to 16-byte alignment"

2016-07-13 Thread Tim Rowley
This reverts commit d8d6091a846ac2a40a011d512d6d57f6c8442e6a. Cc: Signed-off-by: Tim Rowley --- src/gallium/include/pipe/p_state.h | 12 +--- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index

[Mesa-dev] [PATCH v2 1/5] swr: [rasterizer] add support for llvm-3.9

2016-07-07 Thread Tim Rowley
v2: use signed compare, remove unneeded vmask --- .../drivers/swr/rasterizer/jitter/builder_misc.cpp | 38 -- .../jitter/scripts/gen_llvm_ir_macros.py | 5 --- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/

[Mesa-dev] [PATCH 2/5] swr: [rasterizer core] make all api functions call GetContext

2016-07-06 Thread Tim Rowley
Small api cleanup. Make all api functions call GetContext instead of locally casting handle. Makes debugging easier by providing a single point to track context changes. --- src/gallium/drivers/swr/rasterizer/core/api.cpp | 28 - 1 file changed, 14 insertions(+), 14 delet

[Mesa-dev] [PATCH 1/5] swr: [rasterizer] add support for llvm-3.9

2016-07-06 Thread Tim Rowley
--- .../drivers/swr/rasterizer/jitter/builder_misc.cpp | 38 -- .../jitter/scripts/gen_llvm_ir_macros.py | 5 --- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp b/src/gallium/drivers/swr/ra

[Mesa-dev] [PATCH 5/5] swr: [rasterizer core] correct MSAA behavior for conservative rasterization

2016-07-06 Thread Tim Rowley
--- .../drivers/swr/rasterizer/core/multisample.h | 4 +++ .../drivers/swr/rasterizer/core/rasterizer.cpp | 35 +++--- .../drivers/swr/rasterizer/core/rasterizer.h | 3 ++ 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/gallium/drivers/swr/rast

[Mesa-dev] [PATCH 4/5] swr: [rasterizer core] conservative rast backend changes

2016-07-06 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/api.cpp| 6 +- .../drivers/swr/rasterizer/core/backend.cpp| 22 +- .../drivers/swr/rasterizer/core/conservativeRast.h | 111 - .../drivers/swr/rasterizer/core/frontend.cpp | 28 +- src/gallium/drivers/swr/rasterizer/core/fronten

[Mesa-dev] [PATCH 0/5] update swr rasterizer

2016-07-06 Thread Tim Rowley
Highlights include llvm-3.9 support, conservative rasterization work, and small cleanups. Tim Rowley (5): swr: [rasterizer] add support for llvm-3.9 swr: [rasterizer core] make all api functions call GetContext swr: [rasterizer] buckets cleanup swr: [rasterizer core] conservative rast

[Mesa-dev] [PATCH 3/5] swr: [rasterizer] buckets cleanup

2016-07-06 Thread Tim Rowley
--- .../swr/rasterizer/common/rdtsc_buckets.cpp| 16 ++- .../drivers/swr/rasterizer/common/rdtsc_buckets.h | 33 -- .../swr/rasterizer/common/rdtsc_buckets_shared.h | 2 ++ .../drivers/swr/rasterizer/core/rdtsc_core.h | 4 +-- 4 files changed, 43 inse

[Mesa-dev] [PATCH] swr: [rasterizer jitter] fix llvm-3.7 compile

2016-07-06 Thread Tim Rowley
d3d97f8 broke llvm-3.7, which has a mismatched API for setDataLayout/getDataLayout. --- src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 5 + 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp b/src/gallium/drivers/swr/rasterizer/j

[Mesa-dev] [PATCH v2 10/14] swr: [rasterizer core] GS viewport array index attribute

2016-06-20 Thread Tim Rowley
Only adds the attribute mapping to the jitter; no implementation yet. --- src/gallium/drivers/swr/rasterizer/core/knobs.h | 2 +- src/gallium/drivers/swr/rasterizer/core/state.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs.h b/

[Mesa-dev] [PATCH v2 05/14] swr: [rasterizer jitter] cleanup supporting different llvm versions

2016-06-20 Thread Tim Rowley
--- .../drivers/swr/rasterizer/jitter/JitManager.cpp | 9 +-- .../drivers/swr/rasterizer/jitter/JitManager.h | 7 - .../drivers/swr/rasterizer/jitter/blend_jit.cpp| 8 +- .../drivers/swr/rasterizer/jitter/builder_misc.cpp | 31 +++--- .../drivers/swr/raster

[Mesa-dev] [PATCH v2 09/14] swr: [rasterizer core] conservative rasterization frontend support

2016-06-20 Thread Tim Rowley
--- src/gallium/drivers/swr/Makefile.sources | 1 + src/gallium/drivers/swr/rasterizer/core/api.cpp| 13 +- src/gallium/drivers/swr/rasterizer/core/clip.h | 4 +- .../drivers/swr/rasterizer/core/conservativeRast.h | 120 +++ src/gallium/drivers/swr/rasterizer/cor

[Mesa-dev] [PATCH v2 01/14] swr: [rasterizer common] workaround clang for windows __cpuid() bug

2016-06-20 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/common/isa.hpp | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/isa.hpp b/src/gallium/drivers/swr/rasterizer/common/isa.hpp index ef38179..a62350f 100644 --- a/src/gallium/drivers/sw

[Mesa-dev] [PATCH v2 08/14] swr: [rasterizer core] stop single threaded crash exit crash

2016-06-20 Thread Tim Rowley
Function static destructors were getting called by exit handlers before context teardown. --- src/gallium/drivers/swr/rasterizer/core/api.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/api.cpp b/src/gallium/drivers/swr/rasteriz

[Mesa-dev] [PATCH v2 12/14] swr: [rasterizer jitter] add support for component packing for 'odd' formats

2016-06-20 Thread Tim Rowley
Add early-out if no components are enabled. Add asserts. --- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 27 ++ 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp b/src/gallium/drivers/swr/rasterizer/

[Mesa-dev] [PATCH v2 13/14] swr: [rasterizer core] use wrap-around safe compares for dependency checking

2016-06-20 Thread Tim Rowley
Move drawIDs from 64-bit to 32-bit to increase perf. --- src/gallium/drivers/swr/rasterizer/core/api.cpp| 4 +- src/gallium/drivers/swr/rasterizer/core/context.h | 4 +- .../drivers/swr/rasterizer/core/ringbuffer.h | 8 ++-- .../drivers/swr/rasterizer/core/threads.cpp| 54 +++

[Mesa-dev] [PATCH v2 07/14] swr: [rasterizer jitter] small fetch jit cleanup

2016-06-20 Thread Tim Rowley
Handle SGV stores separate from the stream fetch code. Because of this change, there is a potential to jit an extra unused store. --- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 170 + 1 file changed, 36 insertions(+), 134 deletions(-) diff --git a/src/gallium/driver

[Mesa-dev] [PATCH v2 11/14] swr: [rasterizer core] track whether GS outputs viewport array index

2016-06-20 Thread Tim Rowley
So we can skip the index gather in PA. --- src/gallium/drivers/swr/rasterizer/core/state.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/core/state.h b/src/gallium/drivers/swr/rasterizer/core/state.h index 29048f1..bfa9929 100644 --- a/src/gallium/drive

[Mesa-dev] [PATCH v2 03/14] swr: [rasterizer] add support for building avx512 version

2016-06-20 Thread Tim Rowley
Currently, most code paths between AVX2 and AVX512 are identical (see changes to knobs.h). --- src/gallium/drivers/swr/rasterizer/common/simdintrin.h | 4 ++-- src/gallium/drivers/swr/rasterizer/core/format_types.h | 8 src/gallium/drivers/swr/rasterizer/core/knobs.h | 15

[Mesa-dev] [PATCH v2 14/14] swr: [rasterizer core] fix dependency bug

2016-06-20 Thread Tim Rowley
Never be dependent on "draw 0", instead have a bool that makes the draw dependent on the previous draw or not dependent at all. --- src/gallium/drivers/swr/rasterizer/core/api.cpp | 6 +++--- src/gallium/drivers/swr/rasterizer/core/context.h| 4 ++-- src/gallium/drivers/swr/rasterizer/cor

[Mesa-dev] [PATCH v2 00/14] update swr rasterizer

2016-06-20 Thread Tim Rowley
v2: add conservativeRast.h to Makefile.sources minimize changes in llvm support cleanup remove tabs that were added by the v1 patches Tim Rowley (14): swr: [rasterizer common] workaround clang for windows __cpuid() bug swr: [rasterizer common] fix include for Intel

[Mesa-dev] [PATCH v2 04/14] swr: [rasterizer jitter] unitialized component fix in fetch jit

2016-06-20 Thread Tim Rowley
Was trying to store an extra uninitialized component. Only affects component packing, which isn't enabled (yet). --- src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp

[Mesa-dev] [PATCH v2 02/14] swr: [rasterizer common] fix include for Intel compiler

2016-06-20 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/common/os.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h index 370c619..45517f6 100644 --- a/src/gallium/drivers/swr/rasterizer/common/os.h

[Mesa-dev] [PATCH v2 06/14] swr: [rasterizer core] remove old comment

2016-06-20 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp index 6e1bc0e..f86f8fa 100644 --- a/src/gallium/drivers/swr/rasterizer/core/front

[Mesa-dev] [PATCH 11/14] swr: [rasterizer core] track whether GS outputs viewport array index

2016-06-17 Thread Tim Rowley
So we can skip the index gather in PA. --- src/gallium/drivers/swr/rasterizer/core/state.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/core/state.h b/src/gallium/drivers/swr/rasterizer/core/state.h index 29048f1..bfa9929 100644 --- a/src/gallium/drive

[Mesa-dev] [PATCH 12/14] swr: [rasterizer jitter] add support for component packing for 'odd' formats

2016-06-17 Thread Tim Rowley
Add early-out if no components are enabled. Add asserts. --- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 27 ++ 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp b/src/gallium/drivers/swr/rasterizer/

[Mesa-dev] [PATCH 05/14] swr: [rasterizer jitter] cleanup supporting different llvm versions

2016-06-17 Thread Tim Rowley
--- src/gallium/drivers/swr/Makefile.am| 2 + .../drivers/swr/rasterizer/jitter/JitManager.cpp | 33 +--- .../drivers/swr/rasterizer/jitter/JitManager.h | 22 --- .../drivers/swr/rasterizer/jitter/blend_jit.cpp| 13 ++- .../drivers/swr/rasterizer/

[Mesa-dev] [PATCH 08/14] swr: [rasterizer core] stop single threaded crash exit crash

2016-06-17 Thread Tim Rowley
Function static destructors were getting called by exit handlers before context teardown. --- src/gallium/drivers/swr/rasterizer/core/api.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/api.cpp b/src/gallium/drivers/swr/rasteriz

[Mesa-dev] [PATCH 09/14] swr: [rasterizer core] conservative rasterization frontend support

2016-06-17 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/api.cpp| 13 +- src/gallium/drivers/swr/rasterizer/core/clip.h | 4 +- .../drivers/swr/rasterizer/core/conservativeRast.h | 120 +++ src/gallium/drivers/swr/rasterizer/core/context.h | 2 + .../drivers/swr/rasterizer/core/fronte

[Mesa-dev] [PATCH 07/14] swr: [rasterizer jitter] small fetch jit cleanup

2016-06-17 Thread Tim Rowley
Handle SGV stores separate from the stream fetch code. Because of this change, there is a potential to jit an extra unused store. --- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 170 + 1 file changed, 36 insertions(+), 134 deletions(-) diff --git a/src/gallium/driver

[Mesa-dev] [PATCH 10/14] swr: [rasterizer core] GS viewport array index attribute

2016-06-17 Thread Tim Rowley
Only adds the attribute mapping to the jitter; no implementation yet. --- src/gallium/drivers/swr/rasterizer/core/knobs.h | 2 +- src/gallium/drivers/swr/rasterizer/core/state.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs.h b/

[Mesa-dev] [PATCH 06/14] swr: [rasterizer core] remove old comment

2016-06-17 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp index 6e1bc0e..f86f8fa 100644 --- a/src/gallium/drivers/swr/rasterizer/core/front

[Mesa-dev] [PATCH 04/14] swr: [rasterizer jitter] unitialized component fix in fetch jit

2016-06-17 Thread Tim Rowley
Was trying to store an extra uninitialized component. Only affects component packing, which isn't enabled (yet). --- src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp

[Mesa-dev] [PATCH 13/14] swr: [rasterizer core] use wrap-around safe compares for dependency checking

2016-06-17 Thread Tim Rowley
Move drawIDs from 64-bit to 32-bit to increase perf. --- src/gallium/drivers/swr/rasterizer/core/api.cpp| 4 +- src/gallium/drivers/swr/rasterizer/core/context.h | 6 +-- .../drivers/swr/rasterizer/core/ringbuffer.h | 8 ++-- .../drivers/swr/rasterizer/core/threads.cpp| 54 ++

[Mesa-dev] [PATCH 14/14] swr: [rasterizer core] fix dependency bug

2016-06-17 Thread Tim Rowley
Never be dependent on "draw 0", instead have a bool that makes the draw dependent on the previous draw or not dependent at all. --- src/gallium/drivers/swr/rasterizer/core/api.cpp | 6 +++--- src/gallium/drivers/swr/rasterizer/core/context.h| 6 +++--- src/gallium/drivers/swr/rasterizer/c

[Mesa-dev] [PATCH 01/14] swr: [rasterizer common] workaround clang for windows __cpuid() bug

2016-06-17 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/common/isa.hpp | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/isa.hpp b/src/gallium/drivers/swr/rasterizer/common/isa.hpp index ef38179..31ea787 100644 --- a/src/gallium/dri

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

2016-06-17 Thread Tim Rowley
Mostly bug fixes and cleanups. Tim Rowley (14): swr: [rasterizer common] workaround clang for windows __cpuid() bug swr: [rasterizer common] fix include for Intel compiler swr: [rasterizer] add support for building avx512 version swr: [rasterizer jitter] unitialized component fix in fetch

[Mesa-dev] [PATCH 02/14] swr: [rasterizer common] fix include for Intel compiler

2016-06-17 Thread Tim Rowley
--- src/gallium/drivers/swr/rasterizer/common/os.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h index 370c619..45517f6 100644 --- a/src/gallium/drivers/swr/rasterizer/common/os.h

[Mesa-dev] [PATCH 03/14] swr: [rasterizer] add support for building avx512 version

2016-06-17 Thread Tim Rowley
Currently, most code paths between AVX2 and AVX512 are identical (see changes to knobs.h). --- src/gallium/drivers/swr/rasterizer/common/simdintrin.h | 4 ++-- src/gallium/drivers/swr/rasterizer/core/format_types.h | 8 src/gallium/drivers/swr/rasterizer/core/knobs.h | 15

[Mesa-dev] [PATCH v2] swr: push/pop DEBUG macro around llvm includes

2016-06-17 Thread Tim Rowley
llvm redefines DEBUG; adding push/pop prevents a undefined reference to debug_refcnt_state in llvm-3.7+. v2: add undef DEBUG --- src/gallium/drivers/swr/swr_shader.cpp | 10 +++--- src/gallium/drivers/swr/swr_state.cpp | 7 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --g

[Mesa-dev] [PATCH] swr: push/pop DEBUG macro around llvm includes

2016-06-16 Thread Tim Rowley
llvm redefines DEBUG; adding push/pop prevents a undefined reference to debug_refcnt_state in llvm-3.7+. --- src/gallium/drivers/swr/swr_shader.cpp | 9 ++--- src/gallium/drivers/swr/swr_state.cpp | 6 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/

[Mesa-dev] [PATCH] swr: switch from overriding -march to selecting features

2016-06-16 Thread Tim Rowley
--- configure.ac| 11 +++ src/gallium/drivers/swr/Makefile.am | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index c492e15..cc9bc47 100644 --- a/configure.ac +++ b/configure.ac @@ -2400,8 +2400,8 @@ if test -n "

[Mesa-dev] [PATCH v2] swr: fix -march flag for AVX

2016-06-10 Thread Tim Rowley
Previously used core-avx-i was for ivybridge; corei7-avx allows sandybridge. v2: move flag check up to configure.ac; attempt to use gcc 4.9+ documented flags instead of the older architecture naming. --- configure.ac| 33 + src/gallium/drive

[Mesa-dev] [PATCH] swr: fix -march flag for AVX

2016-06-10 Thread Tim Rowley
Previously used core-avx-i was for ivybridge; corei7-avx allows sandybridge. --- src/gallium/drivers/swr/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am index d211f2e..8156cf2 100644 --- a/sr

[Mesa-dev] [PATCH v6] swr: implement clipPlanes/clipVertex/clipDistance/cullDistance

2016-06-08 Thread Tim Rowley
v2: only load the clip vertex once v3: fix clip enable logic, add cullDistance v4: remove duplicate fields in vs jit key, fix test of clip fixup needed v5: fix clipdistance linkage for slot!=0,4 v6: support clip+cull; passes most piglit clip (failures understood) --- docs/GL3.txt

[Mesa-dev] [PATCH v2] swr: fix provoking vertex

2016-06-03 Thread Tim Rowley
Use rasterizer provoking vertex API. Fix rasterizer provoking vertex for tristrips and quad list/strips. v2: make provoking vertex tables static const --- .../drivers/swr/rasterizer/core/frontend.cpp | 38 -- src/gallium/drivers/swr/swr_draw.cpp | 30 +

[Mesa-dev] [PATCH] swr: fix provoking vertex

2016-06-03 Thread Tim Rowley
Use rasterizer provoking vertex API. Fix rasterizer provoking vertex for tristrips and quad list/strips. --- .../drivers/swr/rasterizer/core/frontend.cpp | 38 -- src/gallium/drivers/swr/swr_draw.cpp | 30 + src/gallium/drivers/swr/swr_scree

[Mesa-dev] [PATCH v2] gallium: detect avx512 cpu features

2016-05-26 Thread Tim Rowley
v2: style code, add avx512 to cpu dump --- src/gallium/auxiliary/util/u_cpu_detect.c | 26 ++ src/gallium/auxiliary/util/u_cpu_detect.h | 10 ++ 2 files changed, 36 insertions(+) diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c b/src/gallium/auxiliary/util/u

[Mesa-dev] [PATCH v4] swr: implement clipPlanes/clipVertex/clipDistance/cullDistance

2016-05-26 Thread Tim Rowley
v2: only load the clip vertex once v3: fix clip enable logic, add cullDistance v4: remove duplicate fields in vs jit key, fix test of clip fixup needed --- docs/GL3.txt | 2 +- src/gallium/drivers/swr/swr_context.h | 2 ++ src/gallium/drivers/swr/swr_screen.cpp | 3

[Mesa-dev] [PATCH v3] swr: implement clipPlanes/clipVertex/clipDistance/cullDistance

2016-05-25 Thread Tim Rowley
v2: only load the clip vertex once v3: fix clip enable logic, add cullDistance --- docs/GL3.txt | 2 +- src/gallium/drivers/swr/swr_context.h | 2 ++ src/gallium/drivers/swr/swr_screen.cpp | 3 +- src/gallium/drivers/swr/swr_shader.cpp | 63 ++

[Mesa-dev] [PATCH v2] swr: implement clipPlanes/clipVertex/clipDistance

2016-05-25 Thread Tim Rowley
v2: only load the clip vertex once --- src/gallium/drivers/swr/swr_context.h | 2 ++ src/gallium/drivers/swr/swr_shader.cpp | 65 ++ src/gallium/drivers/swr/swr_shader.h | 4 +++ src/gallium/drivers/swr/swr_state.cpp | 22 +++- 4 files changed, 92 inse

[Mesa-dev] [PATCH] swr: implement clipPlanes/clipVertex/clipDistance

2016-05-25 Thread Tim Rowley
--- src/gallium/drivers/swr/swr_context.h | 2 ++ src/gallium/drivers/swr/swr_shader.cpp | 64 ++ src/gallium/drivers/swr/swr_shader.h | 4 +++ src/gallium/drivers/swr/swr_state.cpp | 22 +++- 4 files changed, 91 insertions(+), 1 deletion(-) diff --gi

[Mesa-dev] [PATCH] gallium: detect avx512 cpu features

2016-05-25 Thread Tim Rowley
--- src/gallium/auxiliary/util/u_cpu_detect.c | 17 + src/gallium/auxiliary/util/u_cpu_detect.h | 10 ++ 2 files changed, 27 insertions(+) diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c b/src/gallium/auxiliary/util/u_cpu_detect.c index aa3c30a..0d4a7c4 100644 ---

[Mesa-dev] [PATCH 2/6] swr: [rasterizer core] move centroid setup out of CalcCentroidBarycentrics

2016-05-20 Thread Tim Rowley
--- .../drivers/swr/rasterizer/core/backend.cpp| 22 -- src/gallium/drivers/swr/rasterizer/core/backend.h | 13 - 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/backend.cpp b/src/gallium/drivers/swr

[Mesa-dev] [PATCH 0/6] update swr rasterizer

2016-05-20 Thread Tim Rowley
Highlights this round are a frontend performance boost and removal of dead code. Unfortunately the instanceID/vertexID patch combines some style changes along with the code updates. I've tried separating it but haven't come up with something clean. Tim Rowley (6): swr: [rasteri

[Mesa-dev] [PATCH 4/6] swr: [rasterizer core] disable cut-aware primitive assembler

2016-05-20 Thread Tim Rowley
GS primitives with adjacency aren't yet enabled in OpenSWR, so continue to use the optimized PA. --- src/gallium/drivers/swr/rasterizer/core/knobs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs.h b/src/gallium/drivers/swr/rast

[Mesa-dev] [PATCH 3/6] swr: [rasterizer core] buckets fixes

2016-05-20 Thread Tim Rowley
1. Don't clear bucket descriptions to fix issues with sim level buckets getting out of sync. 2. Close out threadviz file descriptors in ClearThreads(). 3. Skip buckets for jitter based buckets when multithreaded. We need thread local storage through llvm jit functions to be fixed before

[Mesa-dev] [PATCH 1/6] swr: [rasterizer jitter] implement InstanceID/VertexID in fetch jit

2016-05-20 Thread Tim Rowley
--- .../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 485 + .../drivers/swr/rasterizer/jitter/fetch_jit.h | 24 +- 2 files changed, 336 insertions(+), 173 deletions(-) diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp b/src/gallium/drivers/swr/ras

[Mesa-dev] [PATCH 5/6] swr: [rasterizer core] remove utility dead code

2016-05-20 Thread Tim Rowley
--- src/gallium/drivers/swr/Makefile.sources | 1 - src/gallium/drivers/swr/rasterizer/core/utils.cpp | 164 -- src/gallium/drivers/swr/rasterizer/core/utils.h | 92 3 files changed, 257 deletions(-) delete mode 100644 src/gallium/drivers/swr/rasteri

[Mesa-dev] [PATCH 6/6] swr: [rasterizer] remove containers.hpp

2016-05-20 Thread Tim Rowley
--- src/gallium/drivers/swr/Makefile.sources | 1 - .../drivers/swr/rasterizer/common/containers.hpp | 208 - .../drivers/swr/rasterizer/jitter/JitManager.cpp | 1 - .../drivers/swr/rasterizer/jitter/blend_jit.cpp| 1 - .../drivers/swr/rasterizer/jitter/

[Mesa-dev] [PATCH v2] docs: add swr to GL3.txt

2016-05-17 Thread Tim Rowley
--- docs/GL3.txt | 82 ++-- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index 921a529..7e86f5e 100644 --- a/docs/GL3.txt +++ b/docs/GL3.txt @@ -33,7 +33,7 @@ are exposed in the 3.0 context as ex

[Mesa-dev] [PATCH v2] swr: fix swr linkage so that static llvm works

2016-05-17 Thread Tim Rowley
--- src/gallium/drivers/swr/Makefile.am | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am index 6915aae..72d0ac4 100644 --- a/src/gallium/drivers/swr/Makefile.am +++ b/src/gallium/drivers

<    1   2   3   4   5   6   7   >