summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_clip.c
AgeCommit message (Collapse)Author
2008-02-14gallium: rename draw_free_tmps->draw_free_temp_verts, ↵Brian
draw_alloc_tmps->draw_alloc_temp_verts
2008-01-30gallium: Fix build on WinXP.Michal Krol
2008-01-28gallium: handle flatshading explicitly in clipper stageKeith Whitwell
We can do a better job in the clip stage than just relying on the brute-force approach of copying colors to all incoming vertices applied in the flatshade stage. At very least, it is only necessary to do this in the clipper when a primitive is actually being clipped.
2008-01-25gallium: replace prim pipeline begin/end() functions with flush()Brian
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.
2008-01-23gallium: overhaul usage of vertex_info in draw module.Brian
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.
2007-12-09gallium: add draw_stage::destroy().Michal
2007-11-21Simplify draw module's vertex_info.Brian
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.
2007-11-07Use a consistent number to identify undefined vertices.José Fonseca
2007-10-03Unify the definitions of the 4 component dot product into oneZack Rusin
location.
2007-10-03Unify handling of userplanes and regular planes to simplifyZack Rusin
the clipping code. (really done by Keith)
2007-09-27Make flushing more lazy in the draw module.Keith Whitwell
2007-09-25First attempt at building vertex buffers post-clip.Keith Whitwell
Build a buffer of contigous vertices and indices at the backend of our software transformation/clipping path. This will become the mechanism for emitting buffers of vertices to rasterization hardware. This is similar to but not the same as the post-transform vertex cache. In particular, these vertices are subject to clipping, culling, poly offset, etc. The vertices emitted will all be used by hardware. TODOs include the actual transformation to hardware vertex formats, moving this out of softpipe to somewhere more useful and allowing >1 primitive to share the generated VB.
2007-09-20Checkpoint: vertex attribute clean-up.Brian
Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
2007-08-30Fix lost edge flags problem when clipping.Brian
In emit_poly() we need to compute header.edgeflags from the vertex edge flags. Also need to set header.det so later stages can determine front/back orientation.
2007-08-24Fix user-defined clip planes. They seem to work properly now.Brian
The bits for the N user-defined planes are now set in the vertex_header->clipmask. See some detailed comments about this in the clip_line() function. CLIP_USER_BIT no longer exists.
2007-08-23Checkpoint: new vertex/fragment attribute namingBrian
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...
2007-08-23Checkpoint commit: i915 texture works, use new vertex_info structBrian
Basic i915 2D texturing seems to work now. The vertex format is determined from the current fragment shader.
2007-08-21Silence compiler warnings.michal
2007-08-17define CLIP_LEFT/RIGHT etcBrian
2007-08-16Remove many dependencies on mesa headers.Brian
To build with mesa, need -DMESA in makefile/config file.
2007-07-25Implement line stippling.Brian
Also added draw_stage::reset_line_stipple(). There may be a better way of doing that though.
2007-07-13Fix for-loop in interp() so we don't go out of bounds.Brian
Improved comments for that loop. Added some sanity check assertions regarding vertex layout.
2007-07-12Rename prim_stage -> draw_stageBrian
2007-07-12fix MIN/MAX mix-upBrian
2007-07-10Fix line clipping bug. New comments.Brian
Need to use a new prim_header for the post-clipped line. Otherwise, we were changing the header passed to us from the vb code. That messed up the vertex pointers for the next line primitive.
2007-07-09New 'draw' module for primitive drawing (clipping, culling, etc).Brian
2007-07-09Rename/move some files to modularize the primitive/draw code.Brian