aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_state_shader.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: s/uint/enum pipe_shader_type/ for set_constant_buffer()Brian Paul2017-03-081-1/+1
| | | | Reviewed-by: Edward O'Callaghan <[email protected]>
* softpipe: fix release build unused variable warningGrazvydas Ignotas2016-12-101-1/+1
| | | | | Signed-off-by: Grazvydas Ignotas <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* gallium: make constant_buffer constRob Clark2016-06-201-1/+1
| | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* softpipe: add support for compute shaders. (v2)Dave Airlie2016-04-271-0/+53
| | | | | | | | | | | | | | | | | This enables ARB_compute_shader on softpipe. I've only tested this with piglit so far, and I hopefully plan on integrating it with my vulkan work. I'll get to testing it with deqp more later. The basic premise is to create up to 1024 restartable TGSI machines, and execute workgroups of those machines. v1.1: free machines. v2: deqp fixes - add samplers support, finish atomic operations, fix load/store writemasks. Acked-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* util/pstipple: allow fragment shader POSITION to be a system valueMarek Olšák2016-01-081-1/+2
| | | | | Reviewed-by: Edward O'Callaghan <[email protected] Reviewed-by: Brian Paul <[email protected]>
* gallium/drivers: Sanitize NULL checks into canonical formEdward O'Callaghan2015-12-061-2/+2
| | | | | | | | | | 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 <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* gallium/u_pstipple: add ability to specify a fixed texture unitMarek Olšák2015-02-041-1/+1
| | | | | | | E.g. r600g can use slot 17, which is outside of the API range. Reviewed-by: Glenn Kennard <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* softpipe: use the tgsi_free_tokens() functionBrian Paul2014-10-311-6/+6
| | | | Reviewed-by: Charmaine Lee <[email protected]>
* util: simplify util_pstipple_create_fragment_shader() paramsBrian Paul2014-10-311-18/+15
| | | | | | | | Pass and return tgsi_token buffers instead of pipe_shader_state. And update softpipe driver (the only user of this function). Reviewed-by: Charmaine Lee <[email protected]>
* softpipe: remove unused softpipe_create_fs_variant_exec() parameterBrian Paul2014-10-311-1/+1
| | | | Reviewed-by: Charmaine Lee <[email protected]>
* s/Tungsten Graphics/VMware/José Fonseca2014-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* softpipe: use new softpipe_resource_data() accessorBrian Paul2013-07-311-1/+1
| | | | | | | | | We should probably be using map()/unmap() when accessing resource data, but this is a little better. v2: assert that the resource is not a display target, per Jose. Reviewed-by: José Fonseca <[email protected]>
* softpipe: don't ignore pipe_constant_buffer::buffer_offsetBrian Paul2013-07-311-3/+5
| | | | | | | | | | | | | This was never a problem since the Mesa state tracker always gives us a user-space constant buffer with buffer_offset=0. But if another state tracker ever gave us a "HW" constant buffer with non-zero buffer_offset we'd mis-render. Also, use the correct buffer size. And move an assertion to the top of the function. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* softpipe: fix streamout with an emptry geometry shaderZack Rusin2013-04-221-12/+16
| | | | | | | | | Same approach as in the llvmpipe, if the geometry shader is null and we have stream output then attach it to the vertex shader right before executing the draw pipeline. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* softpipe: fix up FS variant unbinding / deletionBrian Paul2012-12-191-9/+1
| | | | | | | | | | | | The old call to tgsi_exec_machine_bind_shader() in softpipe_delete_fs_state() was never called since the shader's original tokens are never passed to the tgsi interpreter (only shader _variant_ tokens are). Now, unbind the variant's tokens from the tgsi interpreter when we free the variant. This doesn't fix any known bugs but it's the right thing to do. Note: This is a candidate for the stable branches.
* softpipe: fix softpipe_delete_fs_state() failed assertionBrian Paul2012-08-101-2/+4
| | | | | | | | | | | | | The var!=softpipe->fs_variant assertion was failing because we weren't nulling the softpipe->fs_variant pointer when binding a new shader. Since softpipe->fs_variant depends on the current fs, it's of no use when a new FS is bound. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53318 Note: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* softpipe: cast away const to silence warningBrian Paul2012-05-011-1/+2
|
* gallium: add void *user_buffer to pipe_constant_bufferMarek Olšák2012-04-301-2/+15
| | | | This reduces CPU overhead when updating constants.
* gallium: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-301-1/+2
|
* Remove tgsi_sse2.José Fonseca2011-11-081-4/+1
| | | | tgsi_exec is simple. llvm is fast. tgsi_sse2 ends up being neither.
* softpipe: fix memory leaksMorgan Armand2011-11-071-0/+3
| | | | | | This series of patches is a splitted version of my previous one, as suggested by Brian. Signed-off-by: Brian Paul <[email protected]>
* softpipe: add check for DO_PSTIPPLE_IN_HELPER_MODULEBrian Paul2011-10-041-0/+2
| | | | | We only want to generate the fragment shader variant that does stippling if DO_PSTIPPLE_IN_HELPER_MODULE is being used.
* softpipe: Use memory allocation macros.José Fonseca2011-09-251-2/+2
| | | | Fixes segfault with memory debugging on.
* softpipe: use the polygon stipple utility moduleBrian Paul2011-07-211-1/+16
| | | | | | | | | | This is an alternative to the draw module's polygon stipple stage. The softpipe implementation here is just a test. The advantange of using the new polygon stipple utility module (with other drivers) is we can avoid software vertex processing in the draw module and get much better performance. Polygon stipple doesn't require special vertex processing like the other draw module stage.
* softpipe: implement fragment shader variantsBrian Paul2011-07-211-19/+95
| | | | We'll need shader variants to accomodate the new polygon stipple utility.
* softpipe: use tgsi_shader_info fields for fragcoord origin, center, etc.Brian Paul2011-07-211-9/+0
|
* softpipe: remove redundant draw_flush() callBrian Paul2011-02-281-2/+0
| | | | We'll flush after the same-shader comparison.
* softpipe: add support for color writes all color bufs propertyDave Airlie2010-12-241-0/+2
|
* softpipe: make shader-related functions staticBrian Paul2010-09-251-35/+55
|
* softpipe: rename sp_state_fs.c -> sp_state_shader.cBrian Paul2010-09-251-0/+281