summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vertex_shader.c
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-26gallium: restructure vertex fetch code slightlyKeith Whitwell
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-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-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
2007-12-11include pipe/tgsi/exec/tgsi_sse2.h if needed. Silences warning.Brian
2007-12-10gallium: use hardcoded cliptest code for fixed planesKeith Whitwell
2007-11-23gallium: reorg tgsi directories.Michal Krol
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-08Reorganize user-space vertex fields in draw_context into 'user' group.Brian
This sub-struct collects the incoming user-provided data/pointers in one place. Ex: draw->mapped_vbuffer becomes draw->user.vbuffer, etc.
2007-11-02Add basic entry points for fragment shaders.Zack Rusin
2007-11-02Renaming llvmtgsi to gallivm. Taking first steps on the way to supportingZack Rusin
fragment shaders through llvm.
2007-10-29Make gallium compile in win32.Michal Krol
Use FREE, MALLOC, CALLOC, GETENV wrappers. Silence compiler warnings. Add proper copyrights.
2007-10-29Refactor the LLVM code a bit.Zack Rusin
Move the CPU vertex shader execution code to the draw module, remove traces of LLVM from the state tracker, abstract execution engine for the purposes of the draw module.
2007-10-27Fix SSE bug.michal
2007-10-27Respect use_sse flag.michal
2007-10-27Enable SSE2 for vertex shaders.michal
2007-10-24better debug outputBrian
2007-10-24Cleanup some code.Zack Rusin
2007-10-24Cleanup some of the debugging output codeZack Rusin
2007-10-24Cleanup some of the testing code. Implement first pass at actuallyZack Rusin
running shaders in llvm.
2007-10-24Implement the conversion and do the initial execution pass.Zack Rusin
2007-10-18Change type of shader->executable field from void * to generic function pointer.Brian
Fix warnings in draw_create_vertex_shader()
2007-10-18better debug code, silence some warningsBrian
2007-10-03Move XSTDCALL definition to p_compiler.hBrian
2007-10-03Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer
Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
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-10-02remove dead codeBrian
2007-10-02Move tgsi machine state init/allocations so they're done less frequently.Brian
This, plus expanding all instructions ahead of time, seems to have improved the performance of program execution by 8x or so.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-28Revert "Redoing the way we handle vertex shaders for the draw module."Zack Rusin
This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
2007-09-28Revert "Use sse only if GALLIUM_SSE is defined"Zack Rusin
This reverts commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-27disable debugKeith Whitwell
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-20Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.Brian
Still need to produce decl instructions for vertex shaders...
2007-09-20remove old/used codeBrian
2007-09-19Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian
TGSI_ATTRIB_x tokens still present and used in a few places. Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning of inputs/outputs. These tokens are in a crude state ATM. Lots of #if 0 / disabled code to be removed yet, etc... Softpipe and i915 drivers should be in working condition but not heavily tested.
2007-09-18Checkpoint: rework shader input/output register mapping.Brian
This is a step toward removing TGSI_ATTRIB_ tokens. Basically, when translating Mesa programs to TGSI programs, pass in input and output register re-maps, plus interpolation info. There's some known breakage (cubemap.c) so more to be done...
2007-08-27Split out vertex shader/cache/fetch functionality from draw_prim.cKeith Whitwell