summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw
AgeCommit message (Collapse)Author
2008-01-28gallium: add a couple of hardwired vertex fetch functionsKeith Whitwell
2008-01-28gallium: only call vertex/prim queue flush when there is something to flushKeith Whitwell
2008-01-28gallium: explictly cast double to float in vertex fetchKeith Whitwell
2008-01-28gallium: fill in missing formats for vertex_fetchKeith Whitwell
2008-01-28gallium: remove dead code from draw_vf*Keith Whitwell
2008-01-28First stab at hooking draw_vbuf & vf.José Fonseca
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
2008-01-28Clone vf module.José Fonseca
2008-01-28Simplify prototypes of draw_vbuf's internal functions.José Fonseca
2008-01-28Cache the vinfo in vbuf_stage.José Fonseca
2008-01-26gallium: disable unnecessary point/line/tri re-validation in ↵Brian
vbuf_flush_indices()
2008-01-26gallium: fix a few segfaults/assertions that can happen during context initBrian
2008-01-26gallium: Fix build on Windows.Michal Krol
2008-01-26gallium: restructure vertex fetch code slightlyKeith Whitwell
2008-01-26gallium: Fix MSVC float/double conversion warning.José Fonseca
2008-01-25gallium: replace loop w/ memset in draw_vertex_cache_invalidate()Brian
2008-01-25gallium: better flush logic in draw moduleBrian
This is the other half of Keith's draw/flush patch. There are now 5 flush flags to control what's flushed (post-xform vertex cache, prim cache, vbuf, etc). The gears slow-down in this part of the patch was due to the cull stage not getting invoked. It was unconditional before, but is now gated by 'need_det'. But it also needs to be gated by draw->rasterizer->cull_mode. Gears uses back-face culling.
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-25gallium: include p_state.h, replace PIPE_MAX_SHADER_OUTPUTS with ↵Brian
PIPE_MAX_SHADER_INPUTS
2008-01-25gallium: optimizations to flatshade, two-side prim stagesBrian
2008-01-24change the name of the shaders to reflect what they do.Zack Rusin
remove stale code and do some general cleanups.
2008-01-23gallium: rename FORMAT_x to EMIT_x and use EMIT_ALL to emit whole vertex ↵Brian
as-is in vbuf code
2008-01-23gallium: improved vertex layout and interpolant setup in softpipeBrian
2008-01-23gallium: restore/rewrite vbuf code for softpipeBrian
Now based on the draw_vbuf code, instead being a custom one-off. Disabled by default, enable with SP_VBUF env var.
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.
2008-01-23gallium: multiply vertex point size by 0.5Brian
2008-01-22gallium: Don't allocate a vertex buffer until after setting the prim type.Brian
The vertex size may depend on whether we're drawing points, lines or triangles.
2008-01-22added stipple_destroy()José Fonseca
2008-01-22gallium: Added FORMAT_1F_PSIZE to insert constant point size into verticesBrian
Also, added draw_convert_wide_points/lines() so a driver can tell the draw module whether to convert wide points/lines into triangles, or just pass them through.
2008-01-21gallium: prototype draw_linestipple.c replaced by draw_stipple.cBrian
2008-01-21gallium: new 'draw' stage for line stippleBrian
Stippled lines are converted into a series of shorter line segments
2008-01-21gallium: add a src_index[] array to draw's vertex_info for mapping ↵Brian
post-xform vertex attribs to hw vertex attribs
2008-01-17gallium: hardwire reset_temps functionalityKeith Whitwell
2008-01-17gallium: whitespace changesKeith Whitwell
2008-01-16vbuf updates/fixes (KeithW)Brian
Plus, update i915 and Cell drivers for latest vbuf->draw() params.
2008-01-16s/DBG/DRAW_DBGBrian
2008-01-16remove useless assertionsBrian
2008-01-16init front/back color attrib indexes to 0, not -1Brian
2008-01-11vbuf_flush_vertices() instead of vbuf_flush_indices() in vbuf_end()Brian
2008-01-11s/int/uint/ to silence warningBrian
2008-01-11Fix malloc size buf, silence signed/unsigned comparision warningBrian
2008-01-10Additional parameters to vbuf_render->draw()Brian
Pass complete information about vertex/index buffer location, size, etc.
2008-01-04llvm: if llvm is enabled don't even try to use sse for vsZack Rusin
2008-01-03clean-ups, silence warningsBrian
2008-01-03replace void * with struct draw_vertex_shader opaque typeBrian
2008-01-01free tgsi machine stateBrian
2007-12-11include pipe/tgsi/exec/tgsi_sse2.h if needed. Silences warning.Brian
2007-12-11Adopt llvm to some of the latest changes.Zack Rusin
2007-12-11Redo the way we pass arguments to the llvm.Zack Rusin
simply pass aligned arrays, they should cast to vectors without any problems. also remove unnecessary memset
2007-12-11number of outputs is nr_attribs - 2Zack Rusin
2007-12-11gallium: Remove feedback interfaces from pipe driver.Keith Whitwell
Something similar will return when geometry shaders are added, but for now this interface is not required.