summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw
AgeCommit message (Collapse)Author
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.
2007-12-10gallium: use hardcoded cliptest code for fixed planesKeith Whitwell
2007-12-09added null ptr check in draw_destroy() for rasterizer stageBrian
2007-12-09Adapt for winsys interface changes.José Fonseca
2007-12-09gallium: use SSE by defaultJosé Fonseca
2007-12-09gallium: initialized draw element buffer to NULLKeith Whitwell
2007-12-09gallium: add support for aliased 4ub formatKeith Whitwell
2007-12-09gallium: add draw_stage::destroy().Michal
2007-12-07Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian
This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
2007-12-07Get rid of "duplicate" formats.Brian
For example, replace PIPE_FORMAT_U_A8_R8_G8_B8 with PIPE_FORMAT_A8R8G8B8_UNORM
2007-11-23gallium: reorg tgsi directories.Michal Krol
2007-11-22New vertex buffer stage.José Fonseca
2007-11-22Fix compatibility issues between gcc and msvc.Michal
2007-11-21more simplification, clean-up in draw_set_vertex_info()Brian
2007-11-21Replace draw_set_vertex_attributes() with simpler draw_set_vertex_info().Brian
Just pass in the vertex_info object and make a copy of it.
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-16more convenient debug codeBrian