summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
Commit message (Collapse)AuthorAgeFilesLines
* draw: Remove unnecessary header.Vinson Lee2010-06-261-1/+0
|
* draw: deleted by mistakeZack Rusin2010-06-251-0/+1
|
* draw: initialize headers in the none post paths as wellZack Rusin2010-06-251-0/+8
|
* draw: limit the number of vertex shader variants kept aroundZack Rusin2010-06-257-61/+322
| | | | | | | we used to create and cache unltimited number of variant, this change limits the number of variants kept around to a fixed number. the change is based on a similar patch by Roland for llvmpipe fragment shaders.
* draw: initialize vertex headerZack Rusin2010-06-253-43/+16
|
* draw: Work around an invalid write.Chia-I Wu2010-06-251-1/+1
| | | | | SSE vertex shader does not seem to honor the execution mask. Pad the output array as a workaround.
* draw: use gallium's TRUE/FALSEBrian Paul2010-06-232-2/+2
|
* draw: don't try to precalculate the pipeline output primitiveKeith Whitwell2010-06-238-34/+46
| | | | | | | | | | | | | | | | We were previously calculating a value which was either the geometry shader output primitive or the application's input primitive, and passing that to the various front/middle/back components for use as the ultimate rendering primtive. Unfortunately, this was not correct -- if the vcache decomposition path is active and geometry shaders are *not* active, we can end up with a third primitive -- specifically the decomposed version of the input primitive. Rather than trying to precalculate this, just let the individual components inform their successors about which primitive type they are recieving.
* draw: mask off DRAW_PIPE_FLAG_MASK bits in prim decompose codeBrian Paul2010-06-231-25/+25
| | | | | | | | Any elt may potentially have flags bits set so mask off those bits everywhere. Fixes crashes with demos/gamma.c, redbook/polys.c, etc. but polygon stippling is still broken.
* gallium: add a timestamp disjoint queryZack Rusin2010-06-221-1/+1
| | | | | | allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands.
* draw: implement triangle strips with adjacency in geometry shaderZack Rusin2010-06-171-1/+12
|
* draw: implement triangle lists with adjacency support in gsZack Rusin2010-06-172-1/+31
|
* draw: fix a silly errorZack Rusin2010-06-171-1/+1
|
* draw: implement line strip adjacencyZack Rusin2010-06-171-0/+5
|
* draw: implement lines with adjacency in geometry shadersZack Rusin2010-06-172-18/+48
|
* draw: validate stream output buffersZack Rusin2010-06-171-1/+16
| | | | fixes a crash.
* draw: fix some unsigned issueZack Rusin2010-06-171-4/+4
| | | | spotted by Vinson
* draw: make sure we correctly iterate over output buffers on stream outZack Rusin2010-06-161-5/+11
| | | | | we kept overwriting the first attribute of a vertex in a single-stream- out-buffer case
* draw: add stream output decomposition fileZack Rusin2010-06-161-0/+123
|
* draw: rewrite stream output to handle all the dark cornersZack Rusin2010-06-166-124/+190
| | | | | register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
* draw: add alloc checkAlan Hourihane2010-06-161-0/+2
|
* draw: handle some out of memory conditionsAlan Hourihane2010-06-1612-35/+69
|
* draw: Remove unnecessary headers.Vinson Lee2010-06-152-2/+0
|
* gs: make sure we end primitives when finishing executing shadersZack Rusin2010-06-152-26/+7
|
* draw/gs: make sure gs works with elts and doesn't overrun the bufferZack Rusin2010-06-152-11/+43
|
* draw: run the pipeline with the correct number of vertsZack Rusin2010-06-151-1/+1
| | | | verts per primitive, not total count
* draw: fix primitive indexing in the pipelineZack Rusin2010-06-151-2/+4
| | | | spotted by Keith
* draw: finish the new pipeline setupZack Rusin2010-06-159-245/+238
| | | | | | | Keith came up with a new way of running the pipeline which involves passing a few info structs around (for fetch, vertices and prims) and allows us to correctly handle cases where we endup with multiple primitives generated by the pipeline itself.
* draw wipKeith Whitwell2010-06-158-319/+342
|
* draw/gs: copy the outputs only if we emitted somethingZack Rusin2010-06-121-3/+5
|
* gallium/softpipe/draw: support samplers in geometry shadersZack Rusin2010-06-112-4/+10
|
* draw: forgot to add a fileZack Rusin2010-06-101-0/+129
|
* draw: rewrite geometry shader pipelineZack Rusin2010-06-102-103/+142
| | | | | done to handle strips correctly as inputs - we need to decompose the strips
* draw: geometry shader fixesZack Rusin2010-06-104-27/+63
| | | | | don't overwrite the inputs and make sure the correct primitive is used on entry
* draw: make sure that the gs never outputs more data than we allocated forZack Rusin2010-06-101-17/+25
|
* draw: make sure geometry shader correctly iterates the output bufferZack Rusin2010-06-092-5/+11
|
* draw: make sure the buffer is big enough to fit everything emitted by the gsZack Rusin2010-06-092-48/+27
|
* draw: fix geometry shader which emit multiplie primitivesZack Rusin2010-06-091-18/+20
|
* geometry shaders: make gs work with changable primitives and variable number ↵Zack Rusin2010-06-0911-96/+148
| | | | | | | | of vertices lots and lots of fixes for geometry shaders. in particular now we work when the gs emits a different primitive than the one the pipeline was started with and also we work when gs emits more vertices than would fit in the original buffer.
* draw: Remove unnecessary headers.Vinson Lee2010-06-082-2/+0
|
* gallium: scream when one of two unimplemented features in draw is usedZack Rusin2010-06-081-6/+12
| | | | plus used the correctly specified stride
* gallium: make draw auto work and add relevant caps and docsZack Rusin2010-06-082-0/+10
|
* gallium: a lot more complete implementation of stream outputZack Rusin2010-06-085-74/+262
| | | | | | | interface wise we have everything needed by d3d10 and gl transform feedback. the draw module misses implementation of some corner cases (e.g. when stream output wants different number of components per output than normal rendering paths)
* gallium: basic and initial implementation of the stream output interfaceZack Rusin2010-06-084-0/+111
| | | | aka transform feedback
* draw: don't use llvm engine when geometry shaders activeKeith Whitwell2010-06-071-1/+1
| | | | They aren't implemented for llvm.
* draw: Use pointer_to_func() instead of custom wrappers.José Fonseca2010-05-301-30/+3
|
* Merge branch 'gallium-front-ccw'Keith Whitwell2010-05-215-17/+27
|\
| * draw: fix front/back error in unfilled pipeline stageKeith Whitwell2010-05-141-3/+4
| |
| * draw: fix typo checking for unfilled polygonsKeith Whitwell2010-05-141-1/+1
| |
| * gallium: convert rasterizer state to use gl-style front/back conceptsKeith Whitwell2010-05-145-16/+25
| | | | | | | | | | | | | | | | | | | | | | | | Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer.