History log of /external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
34041968f883253de639f137a761340e84f82bb9 18-Jan-2017 Jose Fonseca <jfonseca@vmware.com> configure.ac: Revert recent HAVE_LLVM changes.

This reverts changes 903eb09b5fb78d47d0f8a4bdf826a113ca2aff40..1a0aa468f354f0ee94dd383cd40ae915584624aa:

Tobias Droste (5):
configure.ac: Rename MESA_LLVM to FOUND_LLVM
configure.ac: Only set LLVM_LIBS if LLVM is used
configure.ac: Only define HAVE_LLVM if LLVM is used
configure.ac: Set and use HAVE_GALLIUM_LLVM define
configure.ac: Don't check LLVM version in gallium_require_llvm

They break scons build, and I'm not convinced this is the right fix. In
particular changing HAVE_LLVM in the C code is something I'd rather
avoid no matter what. So it's better to discuss without the pressure of
broken builds.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
4d0efb9683856cada2f34b124c77ef20a2fe0332 08-Dec-2016 Tobias Droste <tdroste@gmx.de> configure.ac: Set and use HAVE_GALLIUM_LLVM define

Gallium code used HAVE_LLVM to check if it needs to compile code for
LLVM in header and source files.

With the new logic HAVE_LLVM is always set. Use extra define to figure
out if LLVM is used.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99010

Signed-off-by: Tobias Droste <tdroste@gmx.de>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
d17062a40e16454a15aa037a4d1d9e9562cedd46 13-May-2016 Dave Airlie <airlied@redhat.com> draw: stop using CULLDIST semantic.

The way the HW works doesn't really fit with having
two semantics for this.

The GLSL compiler emits 2 vec4s and two properties,
this makes draw use those instead of CULLDIST semantics.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
489df4a71aca99b2eebc62c02215a5860def944d 25-Apr-2016 Brian Paul <brianp@vmware.com> draw: s/Elements/ARRAY_SIZE/

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
e3e6859381df15fe17a4bd2b93906f69a3657dd4 26-Apr-2016 Dave Airlie <airlied@redhat.com> tgsi: pass a shader type to the machine create and clean up.

There was definitely bugs here mixing up the PIPE_ and TGSI_ defines,
hopefully they didn't cause any problems, since mostly it was special
cases for GEOMETRY.

This clarifies at shader machine create what type of shader this
machine will execute. This is needed also for compute shaders where
we don't want to allocate inputs/outputs.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
150c289f6067cb1ba4572f9124948a94ef94c839 04-Dec-2015 Edward O'Callaghan <eocallaghan@alterapraxis.com> gallium/auxiliary: Sanitize NULL checks into canonical form

Use NULL tests of the form `if (ptr)' or `if (!ptr)'.
They do not depend on the definition of the symbol NULL.
Further, they provide the opportunity for the accidental
assignment, are clear and succinct.

Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
65ef78e8611556780fce0bee1feba805347ec627 17-Nov-2014 Marek Olšák <marek.olsak@amd.com> draw: implement TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION

Required by Nine. Tested with util_run_tests.
It's added to softpipe, llvmpipe, and r300g/swtcl.

Tested-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
4b6d6642d2c64ce67d65ead480fb99104a7e2d3a 18-Nov-2014 Roland Scheidegger <sroland@vmware.com> draw: fixes for vertex shaders outputting layer or viewport index

Mostly add a couple cases so we don't just check gs for this.
There's only one gotcha, the built-in vp transform in the llvm vs can't
handle it (this would be fixable though non-trivial due to vp index being
non-constant for the SoA outputs, but we don't use it if there's a gs
neither - the whole clip/vp transform integration there is suboptimal).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
9af68e9b1d116cdc8eb6a22bac091fe4716679e6 07-May-2014 Roland Scheidegger <sroland@vmware.com> draw: do not use draw_get_option_use_llvm() inside draw execution paths

1c73e919a4b4dd79166d0633075990056f27fd28 made it possible to not allocate
the tgsi machine if llvm was used. However, draw_get_option_use_llvm() is
not reliable after draw context creation, since drivers can explicitly
request a non-llvm draw context even if draw_get_option_use_llvm() would
return true (and softpipe does just that) which leads to crashes.
Thus use draw->llvm to determine if we're using llvm or not instead (and
make draw->llvm available even if HAVE_LLVM is false so we don't have to put
even more ifdefs).

Cc: "10.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
1c73e919a4b4dd79166d0633075990056f27fd28 23-Apr-2014 Zack Rusin <zackr@vmware.com> draw/llvm: reduce memory usage

Lets make draw_get_option_use_llvm function available unconditionally
and use it to avoid useless allocations when LLVM paths are active.
TGSI machine is never used when we're using LLVM.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
877128505431adaf817dc8069172ebe4a1cdf5d8 17-Jan-2014 José Fonseca <jfonseca@vmware.com> s/Tungsten Graphics/VMware/

Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the
old copyright name is creating unnecessary confusion, hence this change.

This was the sed script I used:

$ cat tg2vmw.sed
# Run as:
#
# git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed
#

# Rename copyrights
s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g
/Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./
s/TUNGSTEN GRAPHICS/VMWARE/g

# Rename emails
s/alanh@tungstengraphics.com/alanh@vmware.com/
s/jens@tungstengraphics.com/jowen@vmware.com/g
s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/
s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g
s/keithw\?@tungstengraphics.com/keithw@vmware.com/g
s/michel@tungstengraphics.com/daenzer@vmware.com/g
s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/
s/zack@tungstengraphics.com/zackr@vmware.com/

# Remove dead links
s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g

# C string src/gallium/state_trackers/vega/api_misc.c
s/"Tungsten Graphics, Inc"/"VMware, Inc"/

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
5507c11f85dda4fbcdc9b36494551c933471a070 11-Jun-2013 Zack Rusin <zackr@vmware.com> gallium/draw: add limits to the clip and cull distances

There are strict limits on those registers. Define the maximums
and use them instead of magic numbers. Also allows us to add
some extra sanity checks.
Suggested by Brian.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
babe35a067d1610d9032cc28eec8e16b18685621 06-Jun-2013 Zack Rusin <zackr@vmware.com> draw: implement distance culling

Works similarly to clip distance. If the cull distance is negative
for all vertices against a specific plane then the primitive
is culled.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
7756aae815a26c533948081c2c319c20bcf5962c 24-May-2013 Zack Rusin <zackr@vmware.com> draw: implement support for multiple viewports

This adds support for multiple viewports to the draw module.
Multiple viewports depend on the presence of geometry shaders
which can write the viewport index.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: José Fonseca<jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
302df7cc85b0e2ce47c40048f30bd116b0d692fc 30-Mar-2013 Zack Rusin <zackr@vmware.com> draw/llvmpipe: allow independent so attachments to the vs

When geometry shaders are present, one needs to be able to create
an empty geometry shader with stream output that needs to be
resolved later and attached to the currently bound vertex shader.
Lets add support for it to llvmpipe and draw. draw allows attaching
independent stream output info to any vertex shader and llvmpipe
resolves at draw time which vertex shader the given empty geometry
shader should be linked to.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
9e41b0badbab97c9db03d5825f91533c69e4f9f9 13-Dec-2012 Dave Airlie <airlied@redhat.com> draw/llvmpipe: fix transform feedback position + enable other extensions

This builds on the previous draw/softpipe patch.

So llvmpipe does streamout calls after clip/viewport stages,
but we have the pre-clip position stored for later use, so
when we are doing transform feedback, and its the position vertex
grab the vertex from the stored pre clip position.

The perfect fix is too probably add a codegen transform feedback
stage in between shader and clip stages, but this is good enough
for now.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
52b02cc6767ab5fe5fb2709147a4a06b3a15f3dc 06-Dec-2012 Brian Paul <brianp@vmware.com> draw: remove some dead constant buffer code

Remove the draw_vs_set_constants() and draw_gs_set_constants()
functions and the draw->vs.aligned_constants,
draw->vs.aligned_constant_storage and draw->vs.const_storage_size
fields. None of it was used.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
bef196c7929606bb8c7e9c06fe83a90fc0d95f09 10-Aug-2012 Brian Paul <brianp@vmware.com> draw: move tgsi-related state into a tgsi sub-struct

To better organize things a bit.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
1865f341d8f45b389061fc08d2da90b7aa8a6099 06-Jan-2012 Dave Airlie <airlied@redhat.com> draw: clipdistance support (v2)

Add support for using the clipdistance instead of clip plane.

Passes all piglit clipdistance tests.

v2: fixup some comments from Brian in review.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
40c5987ed84f9f0b8bb1f707bb13c1aafc39330a 04-Jan-2012 Dave Airlie <airlied@redhat.com> draw/softpipe: add clip vertex support. (v2)

softpipe always clipped using the position vector, however for unclipped
vertices it stored the position in window coordinates, however when position
and clipping are separated, we need to store the clip-space position and
the clip-space vertex clip, so we can interpolate both separately.

This means we have to take the clip space position and store it to use later.

This allows softpipe to pass all the clip-vertex piglit tests.

v2: fix llvm draw regression, the structure being passed into llvm needed
updating, remove some hardcoded ints that should have been enums while there.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
9e29cdbe95810de8658dfd1cabf1a7d87264c2f7 09-Nov-2011 José Fonseca <jfonseca@vmware.com> draw: Handle failure to allocate aligned_constant_storage.

Also, actually update const_storage_size, therefore avoiding to
unnecessarily reallocate aligned_constant_storage every single time
draw_vs_set_constants() is called.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
4eb3225b38ce12cb34ab3d90804c9683bd7b4ed3 08-Nov-2011 José Fonseca <jose.r.fonseca@gmail.com> Remove tgsi_sse2.

tgsi_exec is simple. llvm is fast. tgsi_sse2 ends up being neither.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
5f996e2b1d09dad64c088ccabb1a4a53ebfb8102 16-Feb-2011 Luca Barbieri <luca@luca-barbieri.com> draw: implement vertex color clamping, and disable SSE and PPC paths

(some little changes by Marek Olšák)

Squashed commit of the following:

commit 737c0c6b7d591ac0fc969a7590e1691eeef0ce5e
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Fri Aug 27 02:13:57 2010 +0200

draw: disable SSE and PPC paths (use LLVM instead)

These paths don't support vertex clamping, and are anyway
obsoleted by LLVM.

If you want to re-enable them, add vertex clamping and test that it
works with the ARB_color_buffer_float piglit tests.

commit fed3486a7ca0683b403913604a26ee49a3ef48c7
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Thu Aug 26 18:27:38 2010 +0200

draw_llvm: respect vertex color clamp

commit ef0efe9f3d1d0f9b40ebab78940491d2154277a9
Author: Luca Barbieri <luca@luca-barbieri.com>
Date: Thu Aug 26 18:26:43 2010 +0200

draw: respect vertex clamping in interpreter path
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
b7e150605d402224cdd8fa3d186924bdee3c6c49 16-Dec-2010 Brian Paul <brianp@vmware.com> draw: s/varient/variant/
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
ba2cc3b8e6ad161181b67fd2575c6bc768584d23 29-Jul-2010 Brian Paul <brianp@vmware.com> gallium: implement bounds checking for constant buffers

Plumb the constant buffer sizes down into the tgsi interpreter where
we can do bounds checking. Optional debug code warns upon out-of-bounds
reading. Plus add a few other assertions in the TGSI interpreter.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
8ebfcf31eb905b7d47e520c04420620ae21bdf4e 26-Jun-2010 Zack Rusin <zackr@vmware.com> draw: limit the number of vertex shader variants kept around

we used to create and cache unltimited number of variant, this
change limits the number of variants kept around to a fixed number.
the change is based on a similar patch by Roland for llvmpipe fragment
shaders.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
d44c8ee568878899e4ce5d8e1d0fcf523aa62199 03-May-2010 José Fonseca <jfonseca@vmware.com> draw: Disable rtasm compilation when using LLVM.

Saves time and trouble.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
0e4f0e8725cd93fc1e51e4caa09aadf340add11a 28-Apr-2010 Brian Paul <brianp@vmware.com> draw: remove extra semicolons
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
1820d240cd0b517ca1d73f1e8e0a528ca8d5b092 22-Apr-2010 Jakob Bornecrantz <jakob@vmware.com> gallium: Convert some uses of get option to static
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
373f03efe70b9fb47dda9955d9c0437dae0edbff 20-Apr-2010 José Fonseca <jfonseca@vmware.com> draw: Remove draw_vs_llvm.c.

To silence some warnings.

Super-seeded by Zack's new llvm middle end.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
6536cdf1836a302d334f7380d1723e8f0bc396be 15-Feb-2010 Vinson Lee <vlee@vmware.com> draw: Add assert to check input of memcpy.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
7c5f255201f42303188137f56ea8acc030444f0e 25-Jan-2010 Michal Krol <michal@vmware.com> gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
9851644435f991a1a1bbb145333a97601627b37d 25-Jan-2010 Michal Krol <michal@vmware.com> gallium: Enable multiple constant buffers for vertex and geometry shaders.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
b96976cc7c74f601f60d90a23a099bb2605f2edb 15-Jan-2010 Michal Krol <michal@vmware.com> draw: Add missing header include.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
f7748d72b46465d807cf4209892d73af62485738 15-Jan-2010 Luca Barbieri <luca@luca-barbieri.com> draw: Add GALLIUM_DUMP_VS environment variable.

Add GALLIUM_DUMP_VS to dump the vertex shader to the console like
GALLIUM_DUMP_FS in softpipe.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
a0127b6ced257919180ba3a1bf534b68d9c750be 14-Dec-2009 Roland Scheidegger <sroland@vmware.com> gallium: more work for edgeflags changes

fixes, cleanups, etc.
not working yet
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
c202fe187cf7a08d60e23ce617a5820a8bc510fd 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> gallium: reduce recursive include of tgsi_exec.h

A lot of draw code no longer needs to see this header.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
6175653d0bceedba1f599d27111bab14f312f134 16-Jul-2009 Keith Whitwell <keith@tungstengraphics.com> gallium: proper constructor and destructor for tgsi_exec_machine

Centralize the creation, initialization and destruction of this struct.
Use align_malloc instead of home-brew alternatives.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
2f24bc698412b4635422a52f9d7073ce7854dceb 30-Dec-2008 José Fonseca <jfonseca@vmware.com> draw: Avoid integer overflow converting pointers on 64bit archs.

Not really an error, as we only care for the lower 4 bits.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
b7da4c3dc199ee382bb9924ac86a3485deccc62d 22-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: PPC vertex shader support

Works, but dead code lingering, debug code present, etc.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
4f25420bdd834e81a3e22733304efc5261c2998a 25-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h

Also, rename p_tile.[ch] to u_tile.[ch]
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
cc31eecbcb90dabacabac3e6be7c01cfe3a7a2a6 02-Jul-2008 Michel Dänzer <michel@tungstengraphics.com> gallium: Allow draw module to work on non-x86 platforms again.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
2161b0fafcdc16703162dd489d2ec1e7114cce4c 12-Jun-2008 Keith Whitwell <keith@tungstengraphics.com> draw: don't assume vertex position is in data[0]
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
5b86ae60fe339ae0b813d16ec328a68ccb2b9514 29-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> draw: Fix MSVC warnings.
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
bb2e13b9e82b68ec3b9fc56a4c35e7ead8fd138f 29-May-2008 Keith Whitwell <keith@tungstengraphics.com> draw: make sure constant buffer data is aligned before passing to aos.c
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
62628c4d3d497cbca73fde869c9069fa90e6453e 29-May-2008 Keith Whitwell <keith@tungstengraphics.com> draw: share machine
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
7c99d7fe60e7bb0b7cf103a851aeef4614278ca6 15-May-2008 Keith Whitwell <keith@tungstengraphics.com> draw: create specialized vs varients incorporating fetch & emit
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
2f0d1396e4c1626b3b1ac799bd29e86a9530369e 13-May-2008 Keith Whitwell <keith@tungstengraphics.com> draw: move some state into a new 'vs' area
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c
6c38c600ff1212699e2e8e0f2928cd9e69559ac5 19-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> draw: rename draw_vertex_shader.c -> draw_vs.c
/external/mesa3d/src/gallium/auxiliary/draw/draw_vs.c