History log of /external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
68ddcc6c284433d826daa4f4a3bbb52b2c7e6908 03-Jan-2017 Tim Rowley <timothy.o.rowley@intel.com> swr: remove unneeded llvm version check

Old test caused breakage with llvm-svn (4.0.0svn), and not needed as
the minimum required llvm version for swr is 3.6.

Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
f6f644ea128f38bdf24fe7e832cdabc18cfdfb0c 21-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: color interpolation is also supposed to get perspective division

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
7cbfe59cf3432ae643837c3534c77aa034c36ca6 21-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: add sprite coord enable mask to fs key

This fixes gl-coord-replace-doesnt-eliminate-frag-tex-coords

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
6d6ef3fb5594393affab264c9c51570475b7b470 10-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: rework vert <-> frag shader linkage logic

Fixes a few things:
- sprite coords only apply to generic varyings, and are a bitmask
- back color only applies in 2-sided lighting mode
- handle some odd situations between only some front/back colors being
there. This is only semi-legal in GL, but we shouldn't start
crashing.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
37be598dda8671568fb24105a0cbca7d34cdd2ee 21-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: only broadcast color0 value, not all color values

The way that dual-source blending is described for GLES2 is very odd,
and we end up with a shader that both has this property set *and* has a
color1 value to be used as the second source. While changing the state
tracker is an option, it seems more reliable to verify that the
broadcast is only done on color0.

Fixes arb_blend_func_extended-fbo-extended-blend-pattern_gles2

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
7cfb364b1a373bce6b0b273556953fbb78c139e9 09-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: rework resource layout and surface setup

This is a bit of a mega-commit, but unfortunately there's no great way
to break this up since a lot of different pieces have to match up. Here
we do the following:
- change surface layout to match swr's Load/StoreTile expectations
- fix sampler settings to respect all sampler view parameters
- fix stencil sampling to read from secondary resource
- respect pipe surface format, level, and layer settings
- fix resource map/unmap based on the new layout logic
- fix resource map/unmap to copy proper parts of stencil values in and
out of the matching depth texture

These fix a massive quantity of piglits, including all the
tex-miplevel-selection ones.

Note that the swr native miptree layout isn't extremely space-efficient,
and we end up using it for all textures, not just the renderable ones. A
back-of-the-envelope calculation suggests about 10%-25% increased memory
usage for miptrees, depending on the number of LODs. Single-LOD textures
should be unaffected.

There are a handful of regressions as a result of this change:
- Some textureGrad tests, these failures match llvmpipe. (There are
debug settings allowing improved gallivm sampling accurancy.)
- Some layered clearing tests as swr doesn't currently support that. It
was getting lucky before because enough other things were broken.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
6364491a0ba4d97270ddfee223b4c2f79cc691f1 13-Nov-2016 Ilia Mirkin <imirkin@alum.mit.edu> swr: add support for upper-left fragcoord position

Fixes glsl-arb-fragment-coord-conventions.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
aaeb07989ee30c589b034a551f71e23e7b8056b2 21-Sep-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer jitter] fixes for icc in vs2015 compat mode

- Move most jitter functionality into SwrJit namespace
- Avoid global "using namespace llvm" in headers

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
efdaf5fa3e74ca4f3d9217dc6955aef6dc698a68 12-Jul-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: [rasterizer] attribute swizzling and linkage

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.

Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
9ca741c64524a57f972ce050919a0e2dec3e64f3 17-Jun-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: push/pop DEBUG macro around llvm includes

llvm redefines DEBUG; adding push/pop prevents a undefined reference
to debug_refcnt_state in llvm-3.7+.

v2: add undef DEBUG

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
2c85128e015a401550046f47ce3e2dc0c0049540 26-May-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: implement clipPlanes/clipVertex/clipDistance/cullDistance

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)

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
87f0a0448fba898a7ab2a36eed9682ff8c1c6d5c 01-Jun-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: fix provoking vertex

Use rasterizer provoking vertex API.

Fix rasterizer provoking vertex for tristrips and quad list/strips.

v2: make provoking vertex tables static const

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
ee9621e2f5653cf2dfa8589bd3a57bafb122c6bd 21-Apr-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: fix memory leaks from vs/fs compilation

v2: varient -> variant

Reviewed by: George Kyriazis <George.Kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
f69a61b1aa7f7fc8dd190cb3d5da1e7bca7de809 13-Apr-2016 George Kyriazis <george.kyriazis@intel.com> gallium/swr: Make flat shading tris work.

- Incorporate flatshade flag into the shader generation
- Use provoking vertex (vc) in shader when flat shading.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
b19d214b238228bfebfe3869b6aee540993fe706 31-Mar-2016 Tim Rowley <timothy.o.rowley@intel.com> swr: support samplers in vertex shaders

Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp
2b2d3680bf164ec4f8b50436b96c3fc195318ea5 17-Feb-2016 Tim Rowley <timothy.o.rowley@intel.com> gallium/swr: add OpenSWR driver

OpenSWR is a new software rasterizer for x86 processors designed
for high performance and high scalablility on visualization workloads.

Acked-by: Roland Scheidegger <sroland@vmware.com>
Acked-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/swr/swr_shader.cpp