SIMD16 Primitive Assembly (PA) only supports TriList and RectList.
CUT_AWARE_PA, TESS, GS, and SO disabled in the SIMD16 front end.
---
.../drivers/swr/rasterizer/core/frontend.cpp | 299 ++---
src/gallium/drivers/swr/rasterizer/core/frontend.h | 4 +-
src/gallium/drivers/
Widen simdvertex to SIMD16/simd16vertex in frontend for passing VS
attributes from VS to PA.
---
.../drivers/swr/rasterizer/core/frontend.cpp | 33 ++-
src/gallium/drivers/swr/rasterizer/core/frontend.h | 8 +
src/gallium/drivers/swr/rasterizer/core/pa.h | 64 +
src/gallium/dri
---
src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp | 4 ++--
1 file changed, 2 insertions(+), 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 76a58b6..b4a33b8 100644
--- a/src/gallium/dri
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
index 74ffd27..5bd21a1 100644
--- a/src/gallium/driv
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp| 8
src/gallium/drivers/swr/rasterizer/jitter/JitManager.h | 6 +++---
src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp | 2 +-
src/gallium/drivers/swr/rasterizer/jitter/builder.cpp | 2 +-
src/gallium/
Highlights include more avx512 work and fixes for llvm>=3.8.
Tim Rowley (10):
swr: [rasterizer core] Frontend SIMD16 WIP
swr: [rasterizer jitter] Adjust jitter header includes
swr: [rasterizer jitter] Fix issues with stream-out on llvm>=3.8
swr: [rasterizer jitter] Change Simd
---
src/gallium/drivers/swr/rasterizer/jitter/builder.cpp | 4 +---
src/gallium/drivers/swr/rasterizer/jitter/builder.h | 2 --
src/gallium/drivers/swr/rasterizer/jitter/streamout_jit.cpp | 6 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/s
Removed temporary scafolding in PA, widended the PA_STATE interface
for SIMD16, and implemented PA_STATE_CUT and PA_TESS for SIMD16.
PA_STATE_CUT and PA_TESS now work in SIMD16.
---
src/gallium/drivers/swr/rasterizer/core/context.h | 6 +
.../drivers/swr/rasterizer/core/frontend.cpp | 3
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 4 ++--
src/gallium/drivers/swr/rasterizer/jitter/JitManager.h | 2 +-
src/gallium/drivers/swr/rasterizer/jitter/jit_api.h | 1 +
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/
Make all SimdVectors in LLVM represented as simdscalar[4] rather
than a struct.
Fixes issues with promotion of values from i32 to i64 to match
register width.
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 6 ++
src/gallium/drivers/swr/rasterizer/jitter/JitManager.h | 2 --
---
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp | 7 +++
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.h | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp
b/src/gallium/drivers/swr/raster
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
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
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
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
---
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 "
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/
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
---
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
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
---
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
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
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
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 ++
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
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/
---
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
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
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/
---
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/
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
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
---
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
---
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
---
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
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
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
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
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
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/
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
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 +++
---
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
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
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
---
.../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
---
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
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/
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
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
---
.../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
---
.../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
---
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
---
.../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
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
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/
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
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
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/
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
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/
---
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
---
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
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 +++-
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
---
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
---
.../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
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
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
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.
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$
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
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
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
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
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
---
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
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
---
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 +++---
---
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
---
.../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
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
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
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
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
---
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
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
---
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
- 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
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(
* 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
New C++ features used by upcoming swr changes.
---
configure.ac| 8
src/gallium/drivers/swr/Makefile.am | 4 ++--
src/gallium/drivers/swr/SConscript | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index 83cd5d1..5
---
.../swr/rasterizer/codegen/gen_llvm_types.py | 22 +
.../drivers/swr/rasterizer/common/simdintrin.h | 7 +
src/gallium/drivers/swr/rasterizer/core/api.cpp| 8 +-
.../drivers/swr/rasterizer/core/backend.cpp| 43 +-
src/gallium/drivers/swr/rasterizer/core/backend.h |
Highlights include simd16 work, msaa enhancements, and removing the
extra copy of mako we included.
Tim Rowley (9):
swr: [rasterizer core] SIMD16 Frontend WIP
swr: [rasterizer core/memory] Fix missing avx512 storetile
swr: [rasterizer core] Fix center sample pattern
swr: [configure.ac
Implement widened VS output for SIMD16
---
.../drivers/swr/rasterizer/core/frontend.cpp | 42 +-
src/gallium/drivers/swr/rasterizer/core/state.h| 9 +++--
2 files changed, 14 insertions(+), 37 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/fronten
Fix long hidden bug in rasterizer handling of center sample pattern.
---
src/gallium/drivers/swr/rasterizer/core/binner.cpp | 14 +--
.../drivers/swr/rasterizer/core/rasterizer.cpp | 28 +++---
.../drivers/swr/rasterizer/core/rasterizer.h | 10
3 files ch
---
src/gallium/drivers/swr/rasterizer/core/knobs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs.h
b/src/gallium/drivers/swr/rasterizer/core/knobs.h
index 7928f5d..e347558 100644
--- a/src/gallium/drivers/swr/rasterizer/core/kno
Implement widened binner for SIMD16
---
.../drivers/swr/rasterizer/common/simd16intrin.h | 44 +-
src/gallium/drivers/swr/rasterizer/core/binner.cpp | 1642 +---
src/gallium/drivers/swr/rasterizer/core/frontend.h | 98 ++
src/gallium/drivers/swr/rasterizer/core/utils.h|
---
.../drivers/swr/rasterizer/core/backend.cpp| 8 +-
src/gallium/drivers/swr/rasterizer/core/backend.h | 56 -
.../drivers/swr/rasterizer/core/format_types.h | 7 ++
src/gallium/drivers/swr/rasterizer/core/utils.h| 130 ++---
.../drivers/swr/rasteriz
Fix pre-processor macro handing to eliminate silently missing
implementation for AVX512.
---
src/gallium/drivers/swr/rasterizer/core/format_types.h | 18 --
src/gallium/drivers/swr/rasterizer/core/utils.h| 4 ++--
src/gallium/drivers/swr/rasterizer/memory/StoreTile.h | 15
1 - 100 of 633 matches
Mail list logo