aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_vs.h
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: Revert recent HAVE_LLVM changes.Jose Fonseca2017-01-181-1/+1
| | | | | | | | | | | | | | | | 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.
* configure.ac: Set and use HAVE_GALLIUM_LLVM defineTobias Droste2017-01-181-1/+1
| | | | | | | | | | | | 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 <[email protected]>
* draw: stop using CULLDIST semantic.Dave Airlie2016-05-231-2/+1
| | | | | | | | | | | 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 <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* gallium: replace INLINE with inlineIlia Mirkin2015-07-211-2/+2
| | | | | | | | | | | | | | | | Generated by running: git grep -l INLINE src/gallium/ | xargs sed -i 's/\bINLINE\b/inline/g' git grep -l INLINE src/mesa/state_tracker/ | xargs sed -i 's/\bINLINE\b/inline/g' git checkout src/gallium/state_trackers/clover/Doxyfile and manual edits to src/gallium/include/pipe/p_compiler.h src/gallium/README.portability to remove mentions of the inline define. Signed-off-by: Ilia Mirkin <[email protected]> Acked-by: Marek Olšák <[email protected]>
* draw: fixes for vertex shaders outputting layer or viewport indexRoland Scheidegger2014-11-191-0/+1
| | | | | | | | | | 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 <[email protected]>
* s/Tungsten Graphics/VMware/José Fonseca2014-01-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/[email protected]/[email protected]/ s/[email protected]/[email protected]/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\[email protected]/[email protected]/g s/keithw\[email protected]/[email protected]/g s/[email protected]/[email protected]/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/[email protected]/[email protected]/ # 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 <[email protected]>
* gallium/draw: add limits to the clip and cull distancesZack Rusin2013-06-131-2/+2
| | | | | | | | | | | 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 <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* draw: implement distance cullingZack Rusin2013-06-101-0/+1
| | | | | | | | | | | 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 <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallium: Remove ppc asm backendAdam Jackson2013-01-201-5/+0
| | | | | | | | | | | | | | | | | | | | | The vs part hasn't been wired up since tgsi_sse2 was disabled in: commit 4eb3225b38ce12cb34ab3d90804c9683bd7b4ed3 Author: José Fonseca <[email protected]> Date: Tue Nov 8 00:10:47 2011 +0000 Remove tgsi_sse2. And it would certainly not work correctly in its current state: draw/draw_vs_ppc.c: In function ‘draw_create_vs_ppc’: draw/draw_vs_ppc.c:190:24: warning: assignment from incompatible pointer type [enabled by default] As with the sse2 backend, this should be done in llvm anyway. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Adam Jackson <[email protected]>
* draw: clipdistance support (v2)Dave Airlie2012-01-111-1/+1
| | | | | | | | | | 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 <[email protected]>
* draw/softpipe: add clip vertex support. (v2)Dave Airlie2012-01-111-0/+1
| | | | | | | | | | | | | | | | 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 <[email protected]>
* Remove tgsi_sse2.José Fonseca2011-11-081-20/+0
| | | | tgsi_exec is simple. llvm is fast. tgsi_sse2 ends up being neither.
* draw: Fix draw_variant_output::format's type.José Fonseca2011-03-131-1/+2
|
* draw: s/varient/variant/Brian Paul2010-12-161-35/+35
|
* gallium: implement bounds checking for constant buffersBrian Paul2010-07-291-1/+2
| | | | | | 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.
* draw: limit the number of vertex shader variants kept aroundZack Rusin2010-06-251-1/+5
| | | | | | | 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.
* draw: put 'create' in the vs varient create function namesBrian Paul2010-04-281-4/+6
|
* draw: Pass-through pipe_buffer::max_index to translate.José Fonseca2010-04-261-1/+2
| | | | | | | | | | max_index must be observed to prevent crashes due to bad index data. I've been using this patch for some time without regressions. Some places, where we use internal vertex buffer, it is not entirely clear what max_index should be, so passing just ~0 to avoid regressions for now.
* draw: Remove draw_vs_llvm.c.José Fonseca2010-04-201-4/+0
| | | | | | To silence some warnings. Super-seeded by Zack's new llvm middle end.
* gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol2010-01-281-1/+1
|
* gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol2010-01-281-3/+5
|
* Implement draw_arrays_instanced() in softpipe.Michal Krol2009-12-291-0/+1
| | | | | Modify the translate module to respect instance divisors and accept instance id as a parameter to calculate input vertex offset.
* gallium: more work for edgeflags changesRoland Scheidegger2009-12-141-0/+1
| | | | | fixes, cleanups, etc. not working yet
* gallium: PPC vertex shader supportBrian Paul2008-10-221-0/+4
| | | | Works, but dead code lingering, debug code present, etc.
* draw: don't keep refetching constant inputsKeith Whitwell2008-10-021-2/+2
|
* draw: don't assume vertex position is in data[0]Keith Whitwell2008-06-111-0/+1
|
* draw: share machineKeith Whitwell2008-05-291-16/+8
|
* draw: enable FSE by defaultKeith Whitwell2008-05-281-0/+4
|
* draw: ensure vs outputs mapped correctly to vinfo attribsKeith Whitwell2008-05-271-9/+10
|
* draw: explicitly list nr_inputs, outputs in varient keyKeith Whitwell2008-05-271-2/+4
|
* draw: add viewport to varient stateKeith Whitwell2008-05-231-1/+7
|
* draw: add aos vertex shader varientKeith Whitwell2008-05-231-0/+10
|
* draw: mark varient functions as PIPE_CDECLKeith Whitwell2008-05-231-9/+21
|
* draw: create specialized vs varients incorporating fetch & emitKeith Whitwell2008-05-231-0/+105
|
* draw: remove dead codeKeith Whitwell2008-04-191-27/+0
|
* draw: remove old vertex_shader->run() functionsKeith Whitwell2008-04-181-7/+0
|
* draw: add vertex shader run_linear functionKeith Whitwell2008-04-171-1/+39
|
* gallium: move duplicated compute_clipmask() code to draw_vs.hBrian2008-04-121-0/+33
|
* draw: subclass vertex shaders according to execution methodKeith Whitwell2008-02-151-0/+50
Create new files for shaders compiled/executed with llvm, sse, exec respectively