summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw
AgeCommit message (Collapse)Author
2007-10-24Draw first triangle. Start on the llvm builder.Zack Rusin
2007-10-24Cleanup some of the testing code. Implement first pass at actuallyZack Rusin
running shaders in llvm.
2007-10-24Execution engine is a singleton, for now keep it in the pipe.Zack Rusin
2007-10-24Generate the base shader.Zack Rusin
2007-10-24Implement the conversion and do the initial execution pass.Zack Rusin
2007-10-23Fix vertex cache bug that allows multiple vertices to fall into the same slot.Brian
Need to set the slot's bit in draw->vcache.referenced even when there was a cache hit since flushing the primitive buffer will have cleared the bitfield but not the cache's vertex indexes. Fixes a bug found when drawing long triangle fans but could be hit by other prim types as well. An alternate fix would be to call draw_vertex_cache_invalidate() from draw_vertex_cache_unreference().
2007-10-23added commentBrian
2007-10-23In get_vertex(), slot was computed using & 31. Replace with % VCACHE_SIZE.Brian
Also, assert that index is not too large before indexing array.
2007-10-23adjust coords in wide_line() to be conformantBrian
2007-10-22new flag to control psize (from vertex shader or fixed size)Brian
2007-10-22add support for sprite texcoord modesBrian
2007-10-22implement point sprite modeBrian
2007-10-22tweak point corners to pass conform testBrian
2007-10-22plug the wide prims code into the pipelineBrian
2007-10-22update to working conditionBrian
2007-10-22pull clip/ module wide and stippled lines/points codekeithw
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-18pipe/draw/draw_context.c:47: error: 'false' undeclared (first use in this ↵Oliver McFadden
function)
2007-10-16front/back determination was wrongBrian
2007-10-15Change 'drawing' field to boolean.Brian
2007-10-15remove unused includesBrian
2007-10-11Init draw->prim = ~0Brian
We weren't rendering correctly if the first thing drawn was a point (PRIM_MODE_POINT=0).
2007-10-10added SSCALED cases in fetch_attrib4()Brian
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-27fix mergekeithw
2007-09-27disable debugKeith Whitwell
2007-09-27Make flushing more lazy in the draw module.Keith Whitwell
2007-09-25Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian
proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
2007-09-25test for presence of both front and back color vertex slotsBrian
2007-09-25remove unused lookup arrayBrian
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-25test against -1 for front/back attribkeithw
2007-09-21invert draw_vertex_cache_check_space()Brian
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-20remove #includes of tgsi_attribs.hBrian
2007-09-20checkpoint: TGSI_ATTRIB_x tokens no longer usedBrian