summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/draw
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup some of the testing code. Implement first pass at actuallyZack Rusin2007-10-242-28/+2
| | | | running shaders in llvm.
* Execution engine is a singleton, for now keep it in the pipe.Zack Rusin2007-10-241-2/+32
|
* Generate the base shader.Zack Rusin2007-10-241-2/+3
|
* Implement the conversion and do the initial execution pass.Zack Rusin2007-10-244-7/+140
|
* Fix vertex cache bug that allows multiple vertices to fall into the same slot.Brian2007-10-231-0/+9
| | | | | | | | | | | | 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().
* added commentBrian2007-10-231-1/+1
|
* In get_vertex(), slot was computed using & 31. Replace with % VCACHE_SIZE.Brian2007-10-231-1/+3
| | | | Also, assert that index is not too large before indexing array.
* adjust coords in wide_line() to be conformantBrian2007-10-231-8/+47
|
* new flag to control psize (from vertex shader or fixed size)Brian2007-10-221-1/+24
|
* add support for sprite texcoord modesBrian2007-10-221-7/+20
|
* implement point sprite modeBrian2007-10-222-35/+48
|
* tweak point corners to pass conform testBrian2007-10-221-4/+8
|
* plug the wide prims code into the pipelineBrian2007-10-223-0/+9
|
* update to working conditionBrian2007-10-221-111/+91
|
* pull clip/ module wide and stippled lines/points codekeithw2007-10-222-0/+541
|
* Change type of shader->executable field from void * to generic function pointer.Brian2007-10-181-4/+6
| | | | Fix warnings in draw_create_vertex_shader()
* better debug code, silence some warningsBrian2007-10-181-6/+13
|
* pipe/draw/draw_context.c:47: error: 'false' undeclared (first use in this ↵Oliver McFadden2007-10-181-1/+1
| | | | function)
* front/back determination was wrongBrian2007-10-161-1/+1
|
* Change 'drawing' field to boolean.Brian2007-10-152-3/+3
|
* remove unused includesBrian2007-10-151-2/+0
|
* Init draw->prim = ~0Brian2007-10-111-0/+2
| | | | We weren't rendering correctly if the first thing drawn was a point (PRIM_MODE_POINT=0).
* added SSCALED cases in fetch_attrib4()Brian2007-10-101-0/+14
|
* Move XSTDCALL definition to p_compiler.hBrian2007-10-031-10/+0
|
* Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer2007-10-032-9/+10
| | | | | Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
* Unify the definitions of the 4 component dot product into oneZack Rusin2007-10-033-25/+10
| | | | location.
* Unify handling of userplanes and regular planes to simplifyZack Rusin2007-10-034-58/+30
| | | | | the clipping code. (really done by Keith)
* remove dead codeBrian2007-10-021-13/+1
|
* Move tgsi machine state init/allocations so they're done less frequently.Brian2007-10-022-21/+35
| | | | | This, plus expanding all instructions ahead of time, seems to have improved the performance of program execution by 8x or so.
* Use sse only if GALLIUM_SSE is definedZack Rusin2007-09-284-4/+19
|
* Redoing the way we handle vertex shaders for the draw module.Zack Rusin2007-09-285-18/+65
|
* Revert "Redoing the way we handle vertex shaders for the draw module."Zack Rusin2007-09-285-65/+18
| | | | This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
* Revert "Use sse only if GALLIUM_SSE is defined"Zack Rusin2007-09-284-19/+4
| | | | This reverts commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257.
* Use sse only if GALLIUM_SSE is definedZack Rusin2007-09-284-4/+19
|
* Redoing the way we handle vertex shaders for the draw module.Zack Rusin2007-09-285-18/+65
|
* Enable codegen based whenever __i386__ is defined.Keith Whitwell2007-09-271-8/+2
|
* fix mergekeithw2007-09-271-2/+0
|
* disable debugKeith Whitwell2007-09-272-3/+3
|
* Make flushing more lazy in the draw module.Keith Whitwell2007-09-2713-271/+416
|
* Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian2007-09-251-5/+2
| | | | | | | | | | | | | | | | | | 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.
* test for presence of both front and back color vertex slotsBrian2007-09-251-4/+7
|
* remove unused lookup arrayBrian2007-09-251-7/+0
|
* First attempt at building vertex buffers post-clip.Keith Whitwell2007-09-255-6/+32
| | | | | | | | | | | | | | 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.
* test against -1 for front/back attribkeithw2007-09-251-4/+4
|
* invert draw_vertex_cache_check_space()Brian2007-09-211-1/+1
|
* Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.Brian2007-09-201-1/+2
| | | | Still need to produce decl instructions for vertex shaders...
* remove old/used codeBrian2007-09-203-18/+5
|
* remove #includes of tgsi_attribs.hBrian2007-09-201-2/+2
|
* checkpoint: TGSI_ATTRIB_x tokens no longer usedBrian2007-09-201-1/+1
|
* Checkpoint: vertex attribute clean-up.Brian2007-09-206-22/+25
| | | | | Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...