summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_setup.c
AgeCommit message (Collapse)Author
2011-01-25softpipe: fix off-by-one error in setup_fragcoord_coeff()Brian Paul
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.
2010-05-14softpipe: restore culling codeKeith Whitwell
2010-05-14gallium: convert rasterizer state to use gl-style front/back conceptsKeith Whitwell
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.
2010-05-05gallium: rework provoking vertex codeBrian Paul
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.
2010-04-19Merge branch '7.8'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/drivers/llvmpipe/lp_context.c
2010-04-18softpipe: fix computation of fragment[FACE] attributeBrian Paul
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...
2010-04-18softpipe: clean-up and commentsBrian Paul
2010-04-18softpipe: document MAX_QUADSBrian Paul
2010-04-18softpipe: Preserve/check the signal of the number of scanlines in an edge.José Fonseca
It can become negative in some weird triangles.
2010-04-14softpipe: Fix division by zeroArpad Borsos
This can be triggered by running the cairo tests using the gl backend and softpipe. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-02-18softpipe: const qualifiers, commentsBrian Paul
2010-02-09fix bug in perspective corrected interpolants for linesBrian Paul
2010-02-09softpipe: Properly implement cylindrical wrapping.Michal Krol
2010-02-09Revert "softpipe: Implement cylindrical wrapping for linear interpolator."Michal Krol
This reverts commit 444cd62ca33a45bd39e8408979a0a01c246c6381.
2010-02-09softpipe: Implement cylindrical wrapping for linear interpolator.Michal Krol
2010-01-29softpipe: support all TGSI fragment coord conventions (v4)Luca Barbieri
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.
2010-01-28softpipe: Remove unnecessary header.Vinson Lee
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
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
2010-01-20softpipe: Remove unnecessary headers.Vinson Lee
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-10-30softpipe: Respect gl_rasterization_rules in primitive setup.Michal Krol
2009-10-09softpipe: restore/fix print_vertex() debug helperBrian Paul
2009-10-07softpipe: prefix non-static functions with sp_Brian Paul
2009-09-22softpipe: set quad->facing valueKeith Whitwell
2009-08-23softpipe: remove old prim_setup draw stageKeith Whitwell
Everything now goes through the draw_vbuf handler, the same as regular drivers.
2009-07-24softpipe: actually pass >1 quad from triangle routineKeith Whitwell
First attempt
2009-07-24softpipe: expand quad pipeline to process >1 quad at a timeKeith Whitwell
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.
2009-07-24softpipe: rip out old mulithread supportKeith Whitwell
2009-07-22softpipe: remove unused vars in sp_setup.cKeith Whitwell
2009-07-22softpipe: use bitwise logic to setup quad masks in sp_setupKeith Whitwell
2009-07-22softpipe: simplify flush_spansKeith Whitwell
No loss of performance, but simpler code.
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-07-01gallium: fix the front face semanticsZack Rusin
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.
2009-06-16softpipe: fix out of bounds quad rasterization bugBrian Paul
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.
2009-06-19Merge branch 'ext-provoking-vertex'Brian Paul
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
2009-06-16Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/main/api_validate.c
2009-06-09softpipe: implement flatshade_first for line setupBrian Paul
2009-06-03Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"Brian Paul
This reverts commit 5d75124db480b37977c353511b4e228905b7cc95.
2009-05-30Revert "softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGON"Brian Paul
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...
2009-05-27softpipe: commentsBrian Paul
2009-05-27softpipe: fix flat shading provoking vertex for PIPE_PRIM_POLYGONBrian Paul
Use the first vertex, not the last.
2009-03-31softpipe: use util_is_inf_or_nan()Brian Paul
And print/warn NaN/Inf in print_vertex().
2009-03-26gallium: Remove some little-used fields from struct pipe_surface.Michel Dänzer
2009-03-20gallium: remove use of origin_lower_leftBrian Paul
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.
2009-02-11softpipe: asst clean-ups, const correctness, commentsBrian Paul
2009-02-11softpipe: rename PRIM_x to QUAD_PRIM_xBrian
2009-02-11softpipe: rename sp_headers.h to sp_quad.hBrian
This header describes the quad-related datatypes afterall.
2009-02-11softpipe: rename sp_quad.[ch] -> sp_quad_pipe.[ch]Brian
Be more consistant with 'draw' module.
2009-01-27gallium: standardize api on the prefix "nr"Zack Rusin
2008-10-06make draw's vertex_info struct smaller/quicker to compare with memcmp()Keith Whitwell