aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_setup.c
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-07-031-15/+12
|\ | | | | | | | | | | Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
| * gallium: fix the front face semanticsZack Rusin2009-07-011-15/+12
| | | | | | | | | | | | | | | | mesa allocates both frontface and pointcoord registers within the fog coordinate register, by using swizzling. to make it cleaner and easier for drivers we want each of them in its own register. so when doing compilation from the mesa IR to tgsi allocate new registers for both and add new semantics to the respective declarations.
* | Merge branch 'ext-provoking-vertex'Brian Paul2009-06-191-1/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
| * | softpipe: implement flatshade_first for line setupBrian Paul2009-06-091-1/+4
| | |
| * | Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"Brian Paul2009-06-031-4/+1
| | | | | | | | | | | | This reverts commit 5d75124db480b37977c353511b4e228905b7cc95.
* | | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-161-3/+6
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: src/mesa/main/api_validate.c
| * | softpipe: fix out of bounds quad rasterization bugBrian Paul2009-06-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | For some triangles we can generate quads which lie just outside the surface bounds. Just check the quad's mask before trying to emit/process the quad. Fixes failed assertion in Lightsmark.
* | | Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"Brian Paul2009-05-301-4/+1
| |/ |/| | | | | | | | | | | This reverts commit 5d75124db480b37977c353511b4e228905b7cc95. This fixed unclipped polygons, but broke clipped polygons. A better fix from the mesa 7.5 branch will be merged next...
* | softpipe: commentsBrian Paul2009-05-271-0/+2
| |
* | softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGONBrian Paul2009-05-271-1/+4
|/ | | | Use the first vertex, not the last.
* softpipe: use util_is_inf_or_nan()Brian Paul2009-03-311-12/+5
| | | | And print/warn NaN/Inf in print_vertex().
* gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer2009-03-261-10/+0
|
* gallium: remove use of origin_lower_leftBrian Paul2009-03-201-11/+2
| | | | | | | | | | | | | | This was used to indicate OpenGL's lower-left origin for fragment window coordinates for polygon stipple and gl_FragCoord. Now: - fragment coordinate origin is always upper-left corner - GL polygon stipple is inverted and shifted before given to gallium - GL fragment programs that use INPUT[WPOS] are modified to use an inverted window coord which is placed in a temp register. Note: the origin_lower_left field still exists in pipe_rasterizer_state. Remove it when all the drivers, etc. no longer reference it.
* softpipe: asst clean-ups, const correctness, commentsBrian Paul2009-02-111-14/+16
|
* softpipe: rename PRIM_x to QUAD_PRIM_xBrian2009-02-111-3/+3
|
* softpipe: rename sp_headers.h to sp_quad.hBrian2009-02-111-1/+1
| | | | This header describes the quad-related datatypes afterall.
* softpipe: rename sp_quad.[ch] -> sp_quad_pipe.[ch]Brian2009-02-111-1/+1
| | | | Be more consistant with 'draw' module.
* gallium: standardize api on the prefix "nr"Zack Rusin2009-01-271-1/+1
|
* make draw's vertex_info struct smaller/quicker to compare with memcmp()Keith Whitwell2008-10-061-6/+6
|
* softpipe: Silence compiler warning on Windows.Michal Krol2008-09-091-0/+2
|
* softpipe: Protect pipe_condvar_signal/broadcast calls with a mutex.Michal Krol2008-09-081-4/+7
|