Flip the switch(es) to enable simd16 vertex shaders:
USE_SIMD16_SHADERS and USE_SIMD16_VS
Both have to be enabled at the same time. Currently, just setting
USE_SIMD16_SHADERS does not work correctly.
---
src/gallium/drivers/swr/rasterizer/core/knobs.h | 4 ++--
1 file changed, 2 insertions(+),
---
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 ed4193e..a9a416a 100644
--- a/src/gallium/driv
Create shader_lib during build, link with shaders at DLL generation time
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 5 +
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 6 ++
2 files changed, 11 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/j
Add name argument to x86 autogenerated macros.
Add useful variable names for DCL_inputVec implementation.
---
.../swr/rasterizer/codegen/gen_llvm_ir_macros.py| 2 +-
.../swr/rasterizer/codegen/templates/gen_builder.hpp| 2 +-
.../drivers/swr/rasterizer/jitter/builder_misc.cpp |
Early Rasterization is an optimization for small triangles.
Scientific workloads often contain very small triangles that has non-zero
area and cannot be trivially rejected as falling between pixel centers,
but does not cover any pixel center. Those triangles can be initially
rasterized as early as
---
src/gallium/drivers/swr/rasterizer/codegen/templates/gen_llvm.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_llvm.hpp
b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_llvm.hpp
index 61c3132..9db6c61 100644
--- a/src/g
---
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 23a2876..d88a3aa 100644
--- a/src/gallium/drivers/swr/rasterizer/core/kno
Add a new define (USE_SIMD16_VS), to denote calling a 16-wide vertex shader.
This is needed because the mesa driver can do 16-wide shaders, but rasty
cannot yet, so we need to distinguish.
Create a new VertexID entry (VertexID16) for the USE_SIMD16_VS case, since
we need to format the vertex id in
---
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp | 4 ++--
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp
b/src/gallium/drivers/swr/rasterize
Supporting simd16 vertex shaders involves packing the output of the
fetch shader appropriately, especially the vertexID buffers that have to
be formatted in one simd16 register, needed by the VS.
As part of this support, we needed to remove the 2nd JitManager, since it
was not accounting for vecto
For some reason llvm5 is picky about accepting a void * type in the
case of building an argument list.
Since we don't care about the type (we ignore the argument for now),
pick another pointer type
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 3 ++-
1 file changed, 2 insertions(
Swr caches fb contents in tiles. Those tiles are stored on a per-context
basis.
When switching contexts that share resources we need to make sure that
the tiles of the old context are being stored and the tiles of the new
context are being invalidated (marked as invalid, hence contents need
to be
No need to check if screen->pipe != pipe, so we can just assign it. Just do it.
---
src/gallium/drivers/swr/swr_state.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/gallium/drivers/swr/swr_state.cpp
b/src/gallium/drivers/swr/swr_state.cpp
index 893bd6e..c6da4fc 100
include libsync.h only when libdrm is compiled in
---
src/gallium/auxiliary/util/u_tests.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/util/u_tests.c
b/src/gallium/auxiliary/util/u_tests.c
index 2e931c0..3cc79af 100644
--- a/src/gallium/auxiliary/util
Explicitly declare lp_native_vector_width inside an extern "C",
since we cannot include the correct header file inside extern "C".
---
src/gallium/drivers/swr/swr_screen.cpp | 16 +---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/swr/swr_screen.cpp
wrap lp_native_vector_width around extern "C" for C++.
Windows decorates global variables, so when used from .cpp files, need
to use an undecorated version.
---
src/gallium/auxiliary/gallivm/lp_bld_type.h | 7 +++
src/gallium/drivers/swr/swr_screen.cpp | 4
2 files changed, 7 inserti
wrap lp_bld_type.h around extern "C".
Windows decorates global variables, so when used from .cpp files, need
to use an undecorated version.
---
src/gallium/auxiliary/gallivm/lp_bld_type.h | 7 +++
src/gallium/drivers/swr/swr_screen.cpp | 4
2 files changed, 7 insertions(+), 4 deletio
Defer delete on regular resources. This ensures that any work being done
on the resource is completed before freeing up the resource's memory.
---
src/gallium/drivers/swr/swr_screen.cpp | 17 +
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/src/gallium/drivers/swr/
Some query results struct contents are declared as cache line aligned.
Use aligned malloc, and align the whole struct, to be safe.
Fixes crash when compiling with clang.
CC:
---
src/gallium/drivers/swr/swr_query.cpp | 7 ---
src/gallium/drivers/swr/swr_query.h | 2 +-
2 files changed, 5
In swr_update_derived() update texture and sampler state on a new fragment
shader. GALLIUM_HUD can update fs using a previously bound texture and
sampler.
---
src/gallium/drivers/swr/swr_state.cpp | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/swr/s
Fix codegen build break that was introduced earlier
v2: update rules for gen_knobs.cpp and gen_knobs.h
---
src/gallium/drivers/swr/Makefile.am| 4 +--
src/gallium/drivers/swr/SConscript | 15 ++-
.../drivers/swr/rasterizer/codegen/gen_backends.py | 30 +++
Fix codegen build break that was introduced earlier
v2: update rules for gen_knobs.cpp and gen_knobs.h
v3: Introduce bldroot and revert generator file changes, making patch simpler.
---
src/gallium/drivers/swr/SConscript | 38 +++---
1 file changed, 31 insertions(
Make swr compile for both linux and windows.
---
src/gallium/drivers/swr/SConscript| 7 +--
src/gallium/targets/libgl-xlib/SConscript | 2 +-
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/swr/SConscript
b/src/gallium/drivers/swr/SConscript
index ec
Add polygon stipple functionality to the fragment shader.
Explicitly turn off polygon stipple for lines and points, since we
do them using tris.
---
src/gallium/drivers/swr/swr_context.h | 4 ++-
src/gallium/drivers/swr/swr_shader.cpp | 56 ++
src/gallium/drivers
---
src/gallium/targets/osmesa/SConscript | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/targets/osmesa/SConscript
b/src/gallium/targets/osmesa/SConscript
index 47937a2..7be1b48 100644
--- a/src/gallium/targets/osmesa/SConscript
+++ b/src/gallium/targets/osmesa/SC
Stuff parameters into a blend context struct before passing down through
the PFN_BLEND_JIT_FUNC function pointer. Needed for stat changes.
---
.../drivers/swr/rasterizer/core/backend_impl.h | 44 ++-
src/gallium/drivers/swr/rasterizer/core/state.h| 17 ++--
.../drivers/
Removed preprocessor defines from structures passed to LLVM jitted code.
The python scripts do not understand the preprocessor defines and ignores
them. So for fields that are compiled out due to a preprocessor define
the LLVM script accounts for them anyway because it doesn't know what
the define
Lots of SWR-specifc changes, including:
- work for 16-wide simd operation across all avx flavors
- separate avx instrinsics into a separate x86 lowering pass
- stats work
- misc other cleanup
v2: mostly editorial changes
George Kyriazis (45):
swr/rast: Add some instructions to jitter
swr
Add stats for degenerate and backfacing primitive counts
Wire archrast stats for alpha blend and alpha test.
pass value to jitter, upon return have archrast event increment a value
---
.../drivers/swr/rasterizer/archrast/archrast.cpp | 35 +-
.../drivers/swr/rasterizer/archr
---
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
index 5feb5fa..1ee6691 100644
--- a/src/ga
---
src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
b/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
index 0245584..324f24a 10064
VPHADDD, PMAXUD, PMINUD
---
.../drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py | 1 +
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp | 12
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.h | 2 ++
3 files changed, 15 insertions(+)
diff --git a/src
---
src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp | 18 +-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp
b/src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp
index 031bced..b1d6076 100644
--- a/src/ga
Add support for providing an emulation callback function for arch/width
combinations that don't map cleanly to an x86 intrinsic.
---
.../drivers/swr/rasterizer/jitter/builder_mem.cpp | 8 +--
.../drivers/swr/rasterizer/jitter/builder_misc.cpp | 70 --
.../drivers/swr/rasteriz
Some more work to do before we can support simultaneous 8-wide and
16-wide and remove the VGATHERPS_16 version.
---
.../drivers/swr/rasterizer/jitter/builder_mem.cpp | 69 +-
1 file changed, 2 insertions(+), 67 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitt
Replace sqrt, maskload, fp min/max, cttz, ctlz with llvm equivalent.
Replace AVX maskedstore intrinsic with LLVM intrinsic. Add helper llvm
macros for stacksave, stackrestore, popcnt.
---
src/gallium/drivers/swr/Makefile.am| 8 ++
src/gallium/drivers/swr/SConscript
Start removing avx2 macros for functionality that exists in llvm.
---
src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py | 5 -
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.h | 9 -
2 files changed, 14 deletions(-)
diff --git a/src/gallium/drivers/swr/r
---
.../rasterizer/jitter/functionpasses/lower_x86.cpp | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git
a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp
index
Add support for double-pumping a smaller SIMD width intrinsic.
---
.../rasterizer/jitter/functionpasses/lower_x86.cpp | 30 ++
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git
a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp
b/src/gallium/
mem[offset] += value
This function will be heavily used by all stats intrinsics.
---
src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp | 7 +++
src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h | 2 ++
2 files changed, 9 insertions(+)
diff --git a/src/gallium/drivers/swr/rast
Help support debug info in 16 wide shaders.
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
index 0cefa43..bfb1d2e 1
for getting masked gather intrinsic (also compatible with LLVM 4)
---
src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
b/src/gallium/drivers/swr/rasterizer/jitter
---
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
b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
index 8d659d0..cdfddf3 100644
--- a/src/gallium/drivers
Support generic VCVTPD2PS and VCVTPH2PS in x86 lowering pass.
---
.../swr/rasterizer/codegen/gen_llvm_ir_macros.py | 70 --
.../drivers/swr/rasterizer/jitter/builder_mem.cpp | 14 -
.../drivers/swr/rasterizer/jitter/builder_mem.h| 3 -
.../drivers/swr/rasterizer/jit
Small cleanup. Remove convenience types from JitManager and standardize
on the Builder's convenience types.
---
.../drivers/swr/rasterizer/jitter/JitManager.cpp | 19 ---
.../drivers/swr/rasterizer/jitter/JitManager.h | 20
.../drivers/swr/rasterizer/
---
src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp | 5 +
src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.h | 2 ++
2 files changed, 7 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp
b/src/gallium/drivers/swr/rasterizer/jitt
---
.../drivers/swr/rasterizer/jitter/builder_mem.cpp | 39 +-
.../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 31 +
2 files changed, 25 insertions(+), 45 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_mem.cpp
b/src/gallium/d
Finish up the remaining explicit intrinsic uses. At this point all
explicit Intrinsic::getDeclaration() usage has been replaced with auto
generated macros generated with gen_llvm_ir_macros.py. Going forward,
make sure to only use the intrinsics here, adding new ones as needed.
Next step is to remo
Add per-worker thread private data to all shader calls
Add per-worker sampler cache and jit context
Add late LoadTexel JIT support
Add per-worker-thread Sampler / LoadTexel JIT
---
src/gallium/drivers/swr/rasterizer/core/api.cpp| 7 ++-
src/gallium/drivers/swr/rasterizer/core/api.h | 47
Needed because some FP paths (namely stipple) use gather intrinsics
that now need to be lowered to x86.
v2: fix typo in commit message
---
src/gallium/drivers/swr/swr_shader.cpp | 7 +++
1 file changed, 7 insertions(+)
diff --git a/src/gallium/drivers/swr/swr_shader.cpp
b/src/gallium/driver
Also Implement VHSUBPS in x86 lowering pass.
---
.../rasterizer/jitter/functionpasses/lower_x86.cpp | 82 ++
1 file changed, 69 insertions(+), 13 deletions(-)
diff --git
a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp
b/src/gallium/drivers/swr/raster
---
.../swr/rasterizer/codegen/gen_llvm_ir_macros.py | 1 -
.../drivers/swr/rasterizer/jitter/builder_mem.cpp | 2 +-
.../drivers/swr/rasterizer/jitter/builder_misc.cpp | 25 --
.../drivers/swr/rasterizer/jitter/builder_misc.h | 2 ++
.../rasterizer/jitter/functionpasse
Abstract usage scenarios for memory accesses into builder_gfx_mem.
Builder_gfx_mem will convert gfxptr_t from 64-bit int to regular pointer
types for use by builder_mem.
v2: reworded commit message; renamed enum more appropriately
---
src/gallium/drivers/swr/Makefile.sources | 2 +
sr
Removing some code that doesn't seem to do anything meaningful.
---
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 9 +
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
b/src/gallium/drivers/swr/rasterizer/jitt
Add support for generic VGATHERPD intrinsic in x86 lowering pass.
---
.../rasterizer/jitter/functionpasses/lower_x86.cpp | 85 +++---
1 file changed, 76 insertions(+), 9 deletions(-)
diff --git
a/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp
b/src/galliu
Changing type to gfxptr for indices and related changes to fetch and mem
builder code.
---
.../swr/rasterizer/codegen/gen_llvm_ir_macros.py | 4 +-
src/gallium/drivers/swr/rasterizer/core/api.cpp| 8 +-
src/gallium/drivers/swr/rasterizer/core/context.h | 2 +-
.../drivers/swr/rasterizer/
Hook up archrast counters for shader stats: instructions executed.
---
.../drivers/swr/rasterizer/archrast/archrast.cpp | 4 +--
.../drivers/swr/rasterizer/archrast/events.proto | 30 ++
.../drivers/swr/rasterizer/core/backend.cpp| 1 +
.../drivers/swr/rasterizer/
Needed work for jit code debug.
---
src/gallium/drivers/swr/Makefile.sources | 3 +-
src/gallium/drivers/swr/meson.build| 1 +
.../drivers/swr/rasterizer/jitter/builder_misc.cpp | 22 +-
.../rasterizer/jitter/shader_lib/DebugOutput.cpp | 51 +++
Allows direct use of enum values in conversion to template args.
---
src/gallium/drivers/swr/rasterizer/core/utils.h | 39 +
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h
b/src/gallium/drivers/swr/rasterizer
for JIT compilation
---
.../drivers/swr/rasterizer/codegen/knob_defs.py| 35 ++
.../swr/rasterizer/common/simdlib_512_emu.inl | 2 +-
src/gallium/drivers/swr/rasterizer/core/state.h| 13
.../drivers/swr/rasterizer/jitter/JitManager.cpp | 10 +--
...
Add assert for correct usage of memory accesses
v2: reworded commit message; renamed enum more appropriately
---
.../drivers/swr/rasterizer/jitter/builder_mem.cpp | 58 ++
.../drivers/swr/rasterizer/jitter/builder_mem.h| 47 --
.../drivers/swr/rasterizer/j
Added a SWR_SHADER_STATS structure which is passed to each shader. The
stats pass will instrument the shader to populate this.
---
src/gallium/drivers/swr/rasterizer/core/state.h | 28 ++---
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/swr/
---
.../drivers/swr/rasterizer/archrast/archrast.cpp | 64 +++--
.../drivers/swr/rasterizer/archrast/events.proto | 65 --
.../swr/rasterizer/archrast/events_private.proto | 30 ++
.../drivers/swr/rasterizer/jitter/builder.h| 23
4
Fix slow permutes in PA tri lists under SIMD16 emulation on AVX
Added missing permute (interlane, immediate) to SIMDLIB
---
.../drivers/swr/rasterizer/common/simd16intrin.h | 1 +
.../drivers/swr/rasterizer/common/simdintrin.h | 1 +
.../swr/rasterizer/common/simdlib_256_avx.inl | 6
---
src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_types.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_types.py
b/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_types.py
index a127976..d8863c0 100644
--- a/src/gallium/drivers/
Move filtering of redundant codegen operations into gen scripts themselves
---
.../drivers/swr/rasterizer/codegen/gen_archrast.py | 111 +
.../drivers/swr/rasterizer/codegen/gen_backends.py | 97 +--
.../drivers/swr/rasterizer/codegen/gen_common.py | 131
Move x86 intrinsic lowering to a separate pass. Builder now instantiates
generic intrinsics for features not supported by llvm. The separate x86
lowering pass is responsible for lowering to valid x86 for the target
SIMD architecture. Currently it's a port of existing code to get it
up and running q
---
src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
index 25d1073..2076859 100644
--- a/src/gallium/drivers/swr
---
.../drivers/swr/rasterizer/jitter/fetch_jit.cpp| 79 ++
1 file changed, 36 insertions(+), 43 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
index 767866f..af97b83 100644
--- a
Enable generalized fetch jit with 8 or 16 wide SIMD target. Still some
work needed to remove some simd8 double pumping for 16-wide target.
Also removed unused non-gather load vertices path.
---
.../drivers/swr/rasterizer/jitter/builder.cpp | 26 +-
.../drivers/swr/rasterizer/jitter/builder
Fix issue where temporary allocas were getting hoisted to function entry
unnecessarily. We now explicitly mark temporary allocas and skip hoisting
during the hoist pass. Shuold reduce stack usage.
---
src/gallium/drivers/swr/rasterizer/jitter/builder.cpp | 17 +
src/gallium/drive
---
src/gallium/drivers/swr/rasterizer/jitter/blend_jit.cpp| 2 --
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp| 1 -
src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp | 3 ++-
3 files changed, 2 insertions(+), 4 deletions(-)
diff --
However only if the file exists in DEBUG_OUTPUT_DIR. The expectation is
that AR rasterizerLauncher will start placing it there when launching
a workload (which is in a subsequent checkin)
---
.../drivers/swr/rasterizer/archrast/archrast.cpp | 30 +-
.../codegen/templates/gen_
VecEqual and VecHash
---
.../drivers/swr/rasterizer/common/simdlib.hpp | 66 ++
1 file changed, 66 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/common/simdlib.hpp
b/src/gallium/drivers/swr/rasterizer/common/simdlib.hpp
index 4114645..24cf27d 100644
--- a
---
src/gallium/drivers/swr/rasterizer/common/os.h | 3 +++
src/gallium/drivers/swr/rasterizer/core/api.cpp | 4 ++--
src/gallium/drivers/swr/rasterizer/core/frontend.cpp| 6 +++---
src/gallium/drivers/swr/rasterizer/core/state.h | 2 +-
src/gallium/dri
---
src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp | 16 ++--
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp
index 284eb27..bfc3e42 100644
---
for the case when USE_SIMD16_SHADERS == FALSE
---
src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
index 9630af
previous change in generators necessitates this change
---
src/gallium/drivers/swr/Makefile.am | 11 +++
1 file changed, 11 insertions(+)
diff --git a/src/gallium/drivers/swr/Makefile.am
b/src/gallium/drivers/swr/Makefile.am
index c22f09e..8b31502 100644
--- a/src/gallium/drivers/swr/Mak
Misc changes. Include:
- fix KNL behavior with LLVm 6.0.0
- fix byte offset for non-indexed draws
- fix 64-bit float handling with code generator
- misc cleanup
George Kyriazis (21):
swr/rast: Fix byte offset for non-indexed draws
swr: touch generated files to update timestamp
swr/rast
---
src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp | 4
1 file changed, 4 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
index 48f0961..7b0b80a 100644
--- a/src/gallium/drivers/swr/rasteriz
Use specific avx512 selection mechanism based on avx512er bit instead of
getHostCPUName(). LLVM 6.0.0 has a bug that reports wrong string for KNL
(fixed in 6.0.1).
---
.../drivers/swr/rasterizer/jitter/JitManager.cpp | 50 +-
.../drivers/swr/rasterizer/jitter/JitManager.h
---
.../swr/rasterizer/jitter/builder_gfx_mem.cpp | 41 +-
.../swr/rasterizer/jitter/builder_gfx_mem.h| 3 +-
2 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp
b/src/gallium/drivers/swr/
Sign-extend integer types to 32bit when specifying "%d" and add new %u
which zero-extends to 32bit. Improves printing of sub 32bit integer types
(i1 specifically).
---
.../drivers/swr/rasterizer/jitter/builder_misc.cpp| 15 +--
1 file changed, 13 insertions(+), 2 deletions(-)
---
.../drivers/swr/rasterizer/jitter/builder.cpp | 42 ++
.../drivers/swr/rasterizer/jitter/builder.h| 2 ++
2 files changed, 44 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/builder
---
src/gallium/drivers/swr/rasterizer/core/utils.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h
b/src/gallium/drivers/swr/rasterizer/core/utils.h
index d6cbf24..7769e05 100644
--- a/src/gallium/drivers/swr/rasterizer/core/utils.h
+++ b/src/g
- 64-bit cvt-to-float needs to be explicitly handled
- gathers need the right parameter types to work with doubles
Fixes draw-vertices piglit tests
---
.../drivers/swr/rasterizer/jitter/builder_misc.h | 12 ++
.../rasterizer/jitter/functionpasses/lower_x86.cpp | 50 +++---
2
expecting <8xi16> return.
---
src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
b/src/gallium/drivers/swr/rasterizer/codegen/gen_llvm_ir_macros.py
in
ALLOCA pointer elements, not pointers.
---
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
b/src/gallium/drivers/swr/rasterizer/jitter/fetch_jit.cpp
index 09590b7..a
---
.../swr/rasterizer/codegen/templates/gen_ar_eventhandlerfile.hpp | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_ar_eventhandlerfile.hpp
b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_ar_eventha
Also add GFX_MEM_CLIENT_SHADER
---
.../drivers/swr/rasterizer/jitter/builder_gfx_mem.cpp | 2 +-
.../drivers/swr/rasterizer/jitter/builder_gfx_mem.h | 17 -
src/gallium/drivers/swr/rasterizer/jitter/builder_mem.h | 3 ++-
3 files changed, 19 insertions(+), 3 deletions(-)
d
---
.../swr/rasterizer/jitter/builder_gfx_mem.cpp | 33 ++
.../swr/rasterizer/jitter/builder_gfx_mem.h| 1 +
.../rasterizer/jitter/functionpasses/lower_x86.cpp | 2 +-
3 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/src/gallium/drivers/swr/raster
Make sure we initialize variables.
---
src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp
b/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp
index 871db79
Bump jit cache revision number to force recompile.
---
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
i
Previously was using the draw topology, which may change if GS or Tess
are active. Only affected attributes marked with constant interpolation,
which limited the impact.
---
src/gallium/drivers/swr/rasterizer/core/binner.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/g
---
src/gallium/drivers/swr/rasterizer/core/api.cpp | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/swr/rasterizer/core/api.cpp
b/src/gallium/drivers/swr/rasterizer/core/api.cpp
index a2ee85d..3458793 100644
--- a/src/gallium/drivers/swr/rasterizer/co
- Change tilemgr TILE_ID encoding to use Morton-order (Z-order).
- Change locked tiles set to bitset. Makes clear, set, get much faster.
---
src/gallium/drivers/swr/rasterizer/core/api.cpp| 11 ++-
src/gallium/drivers/swr/rasterizer/core/context.h | 2 +-
.../drivers/swr/rasterizer/core/t
---
.../drivers/swr/rasterizer/jitter/builder.cpp | 44 ++
.../drivers/swr/rasterizer/jitter/builder.h| 1 +
2 files changed, 45 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/builder.
Misc OpenSWR changes
George Kyriazis (7):
swr/rast: Change formatting
swr/rast: Use binner topology to assemble backend attributes
swr/rast: Add constant initializer for uint64_t
swr/rast: Add ConcatLists()
swr/rast: Prepend the console output with a newline
swr/rast: Add Builder
It can get jumbled with output from other threads.
---
.../swr/rasterizer/codegen/templates/gen_ar_eventhandlerfile.hpp| 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_ar_eventhandlerfile.hpp
b/src/gallium/drive
---
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp | 5 +
src/gallium/drivers/swr/rasterizer/jitter/builder_misc.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/src/gallium/drivers/swr/rasterizer/jitter/builder_misc.cpp
b/src/gallium/drivers/swr/rasterizer/jitter/builder
101 - 200 of 314 matches
Mail list logo