aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_setup.c
Commit message (Collapse)AuthorAgeFilesLines
* draw: nuke the interp parameter from vertex_infoRoland Scheidegger2016-01-071-13/+12
| | | | | | | | | | | | | draw emit couldn't care less what the interpolation mode is... This somehow looked like it would matter, all drivers more or less dutifully filled that in correctly. But this is only used for emit, if draw needs to know about interpolation mode (for clipping for instance) it will get that information from the vs anyway. softpipe actually used to depend on that interpolation parameter, as it abused that structure quite a bit but no longer. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]>
* softpipe: don't abuse the draw vertex_info struct for something differentRoland Scheidegger2016-01-071-10/+17
| | | | | | | | | | softpipe would calculate two "vertex layouts". The second one was however just used for internal purposes, draw would know nothing about it even though it looked exactly the same as the other one we tell draw about. So, store that information separately as this was just confusing. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]>
* softpipe: implement some support for multiple viewportsEdward O'Callaghan2015-12-111-13/+36
| | | | | | | | Mostly related to making sure the rasterizer can correctly pick out the correct scissor box for the current viewport. Signed-off-by: Edward O'Callaghan <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* softpipe: use provoking vertex for layerRoland Scheidegger2015-12-041-2/+2
| | | | | | | | Same as for llvmpipe, albeit softpipe only really handles multiple layers, not multiple viewports/scissors. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: replace INLINE with inlineIlia Mirkin2015-07-211-5/+5
| | | | | | | | | | | | | | | | 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]>
* tgsi: change tgsi_shader_info::properties to a one-dimensional arrayMarek Olšák2014-10-041-2/+2
| | | | | | Reviewed-by: Roland Scheidegger <[email protected]> v2: fix svga too
* tgsi: remove some not so useful variables from tgsi_shader_infoMarek Olšák2014-10-041-4/+8
|
* softpipe: add layered rendering support.Dave Airlie2014-06-111-3/+39
| | | | | | | This adds support for GL 3.2 layered rendering to softpipe. Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[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]>
* softpipe: (trivial) fix debug codeRoland Scheidegger2013-11-141-15/+10
| | | | | | The debug printfs wouldn't actually compile when enabled, so kill them off and insert some new one in another place, and make sure it keeps compiling by enclosing it in a if-0 clause.
* gallium: Replace gl_rasterization_rules with lower_left_origin and ↵José Fonseca2013-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | half_pixel_center. Squashed commit of the following: commit 04c5fa2cbb8e89d6f2fa5a75af1cca03b1f6b852 Author: José Fonseca <[email protected]> Date: Tue Apr 23 17:37:18 2013 +0100 gallium: s/lower_left_origin/bottom_edge_rule/ commit 4dff4f64fa83b9737def136fffd161d55e4f1722 Author: José Fonseca <[email protected]> Date: Tue Apr 23 17:35:04 2013 +0100 gallium: Move diagram to docs. commit 442a63012c8c3c3797f45e03f2ca20ad5f399832 Author: James Benton <[email protected]> Date: Fri May 11 17:50:55 2012 +0100 gallium: Replace gl_rasterization_rules with lower_left_origin and half_pixel_center. This change is necessary to achieve correct results when using OpenGL FBOs. Reviewed-by: Marek Olšák <[email protected]>
* draw: implement pipeline statistics in the draw moduleZack Rusin2013-04-161-0/+4
| | | | | | | | | | | | | This is a basic implementation of the pipeline statistics in the draw module. The interface is similar to the stream output statistics and also requires that the callers explicitly enable it. Included is the implementation of the interface in llvmpipe and softpipe. Only softpipe enables the pipeline statistics capability though because llvmpipe is lacking gathering of the fragment shading and rasterization statistics. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* softpipe: silence some MSVC float/double warningsBrian Paul2013-03-211-6/+6
|
* softpipe: fix numFragsEmitted debug codeBrian Paul2012-06-271-0/+7
|
* gallium: Prefix #defines in tgsi_exec.h with TGSI_Tom Stellard2012-01-301-8/+8
|
* draw/softpipe: EXT_transform_feedback support (v2)Dave Airlie2012-01-101-3/+3
| | | | | | | | | | | This replaces the current code with an implementation compatible with the new gallium interface. I've left some of the remains of the interface intact so llvmpipe keeps building correctly, and I'll take a look at fixing llvmpipe up later. v2: fixup as per Brian's review Signed-off-by: Dave Airlie <[email protected]>
* softpipe: use the polygon stipple utility moduleBrian Paul2011-07-211-1/+1
| | | | | | | | | | 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-18/+19
| | | | 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-4/+4
|
* softpipe: fix off-by-one error in setup_fragcoord_coeff()Brian Paul2011-01-251-1/+1
| | | | | | | | | If we invert Y, need to subtract one from the surface height. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26795 for softpipe. NOTE: This is a candidate for the 7.9 and 7.10 branches.
* softpipe: restore culling codeKeith Whitwell2010-05-141-3/+21
|
* gallium: convert rasterizer state to use gl-style front/back conceptsKeith Whitwell2010-05-141-37/+4
| | | | | | | | | | | | Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer.
* gallium: rework provoking vertex codeBrian Paul2010-05-051-1/+4
| | | | | | | | | | | | | | Builds on commit ddb0e18f6c5582d4d2cc59ffd16ad9c4639ed059 and fixes regressions in glean clipFlat test. We assume that Gallium drivers observe flatshade_first for all triangles and that all the assorted per-triangle calls in the 'draw' module also follow flatshade_first. Everything else builds on those rules. Gallium does not use follow flatshade_first for GL quads, quad strips and polygons; the "last" vertex is always the provoking vertex for those prims. So now there are separate QUAD_FIRST_PV and QUAD_LAST_PV macros in the draw primitive decomposition code instead of one QUAD macro.
* Merge branch '7.8'Brian Paul2010-04-191-3/+3
|\ | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/drivers/llvmpipe/lp_context.c
| * softpipe: Fix division by zeroArpad Borsos2010-04-141-3/+3
| | | | | | | | | | | | | | This can be triggered by running the cairo tests using the gl backend and softpipe. Signed-off-by: Brian Paul <[email protected]>
* | softpipe: fix computation of fragment[FACE] attributeBrian Paul2010-04-181-3/+7
| | | | | | | | | | | | | | In TGSI, front facing is +1 and back-facing is -1. We were computing this attribute as +1 and 0 before. However, the value isn't actually used anywhere because we machine->Face attribute overrides it in tgsi_exec.c. That could be changed, removing some special-case code...
* | softpipe: clean-up and commentsBrian Paul2010-04-181-40/+57
| |
* | softpipe: document MAX_QUADSBrian Paul2010-04-181-1/+6
| |
* | softpipe: Preserve/check the signal of the number of scanlines in an edge.José Fonseca2010-04-181-1/+2
|/ | | | It can become negative in some weird triangles.
* softpipe: const qualifiers, commentsBrian Paul2010-02-181-3/+3
|
* fix bug in perspective corrected interpolants for linesBrian Paul2010-02-091-2/+1
|
* softpipe: Properly implement cylindrical wrapping.Michal Krol2010-02-091-31/+148
|
* Revert "softpipe: Implement cylindrical wrapping for linear interpolator."Michal Krol2010-02-091-35/+11
| | | | This reverts commit 444cd62ca33a45bd39e8408979a0a01c246c6381.
* softpipe: Implement cylindrical wrapping for linear interpolator.Michal Krol2010-02-091-11/+35
|
* softpipe: support all TGSI fragment coord conventions (v4)Luca Barbieri2010-01-291-4/+7
| | | | | | | | | | | | | | | | Changes in v4: - Rebase and modify for changes in previous patches Changes in v3: - Use positive caps instead of negative caps Changes in v2: - Now takes the fragment convention directly from the fragment shader Adds internal support for all fragment coord conventions to softpipe. This patch is not required for use with the current state trackers, but it allows softpipe to run any TGSI program and enhances performance.
* softpipe: Remove unnecessary header.Vinson Lee2010-01-281-1/+0
|
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-221-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
| * softpipe: Remove unnecessary headers.Vinson Lee2010-01-201-1/+0
| |
* | gallium: add geometry shader support to galliumZack Rusin2009-12-251-1/+1
|/
* softpipe: Respect gl_rasterization_rules in primitive setup.Michal Krol2009-10-301-14/+26
|
* softpipe: restore/fix print_vertex() debug helperBrian Paul2009-10-091-2/+6
|
* softpipe: prefix non-static functions with sp_Brian Paul2009-10-071-6/+6
|
* softpipe: set quad->facing valueKeith Whitwell2009-09-221-0/+1
|
* softpipe: remove old prim_setup draw stageKeith Whitwell2009-08-231-1/+0
| | | | | Everything now goes through the draw_vbuf handler, the same as regular drivers.
* softpipe: actually pass >1 quad from triangle routineKeith Whitwell2009-07-241-97/+89
| | | | First attempt
* softpipe: expand quad pipeline to process >1 quad at a timeKeith Whitwell2009-07-241-2/+2
| | | | | | This is part one -- we still only pass a single quad down, but the code can now cope with more. The quads must all be from the same tile.
* softpipe: rip out old mulithread supportKeith Whitwell2009-07-241-236/+17
|
* softpipe: remove unused vars in sp_setup.cKeith Whitwell2009-07-221-5/+0
|
* softpipe: use bitwise logic to setup quad masks in sp_setupKeith Whitwell2009-07-221-25/+40
|
* softpipe: simplify flush_spansKeith Whitwell2009-07-221-53/+19
| | | | No loss of performance, but simpler code.