aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/draw/draw_flatshade.c
Commit message (Collapse)AuthorAgeFilesLines
* gallium: rename draw_free_tmps->draw_free_temp_verts, ↵Brian2008-02-141-2/+2
| | | | draw_alloc_tmps->draw_alloc_temp_verts
* gallium: replace prim pipeline begin/end() functions with flush()Brian2008-01-251-25/+42
| | | | | | | | | | | | | This is basically half of Keith's draw/flush patch. The stage->point/line/tri() functions are now self-validating, the validator functions are installed by the flush() function. There were excessive calls to validate_pipeline(), however. This was caused by draw_prim_queue_flush() keeping a local 'first' variable that always pointed to the validate functions. Replaced 'first' with 'draw->pipeline.first'. Performance in gears is up just slightly with this patch.
* gallium: optimizations to flatshade, two-side prim stagesBrian2008-01-251-7/+19
|
* gallium: overhaul usage of vertex_info in draw module.Brian2008-01-231-28/+45
| | | | | | | | Remove all dependencies on vertex_info, except for draw_vbuf. Drawing stages now strictly operate on post-transformed vertices and don't know anything about hw vertices. Use vertex program output info for two-side/flat/etc stages. Temporarily disable vbuf module in softpipe driver.
* gallium: add draw_stage::destroy().Michal2007-12-091-0/+8
|
* Simplify draw module's vertex_info.Brian2007-11-211-2/+3
| | | | | | No longer store the vertex header and clip pos info in the draw module's vertex_info. The vertex_info just describes the data[] elements. This simplifies the code in several places.
* Remove typedefs from enums.Zack Rusin2007-10-291-1/+1
| | | | | typedefs are rather evil, remove them and use the enum keyword explicitely.
* Define attrib_format and interp_mode enum typedefs and use where appropriate.Brian2007-08-311-2/+2
|
* fix breakage from prev commitBrian2007-08-301-1/+1
|
* In draw_flatshade.c use vertex_info->interp_mode[] to choose attribs/colors ↵Brian2007-08-301-33/+20
| | | | | | | to cpy. One less dependency on the TGSI_ATTRIB_x flags. This requires setting the vertex_info->interp_mode[] values in the i915 driver and passing them to draw_set_vertex_attributes().
* Need to copy header->edgeflags to tmp when creating new prim_header.Brian2007-08-231-0/+1
| | | | Edge flags were random/undefined otherwise.
* Checkpoint: new vertex/fragment attribute namingBrian2007-08-231-4/+4
| | | | | | | Replace VF_ATTRIB_x with TGSI_ATTRIB_x When converting mesa programs to TGSI programs, also convert the InputsRead and OutputsWritten to a mask of TGSI_ATTRIB_ bits. Still need to do conversion for vertex programs...
* Checkpoint commit: i915 texture works, use new vertex_info structBrian2007-08-231-1/+1
| | | | | Basic i915 2D texturing seems to work now. The vertex format is determined from the current fragment shader.
* Remove many dependencies on mesa headers.Brian2007-08-161-4/+4
| | | | To build with mesa, need -DMESA in makefile/config file.
* Implement line stippling.Brian2007-07-251-0/+7
| | | | | Also added draw_stage::reset_line_stipple(). There may be a better way of doing that though.
* Rename prim_stage -> draw_stageBrian2007-07-121-11/+14
|
* New 'draw' module for primitive drawing (clipping, culling, etc).Brian2007-07-091-15/+16
|
* Rename/move some files to modularize the primitive/draw code.Brian2007-07-091-0/+151