Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | draw: Remove unnecessary header. | Vinson Lee | 2010-06-26 | 1 | -1/+0 |
| | |||||
* | draw: deleted by mistake | Zack Rusin | 2010-06-25 | 1 | -0/+1 |
| | |||||
* | draw: initialize headers in the none post paths as well | Zack Rusin | 2010-06-25 | 1 | -0/+8 |
| | |||||
* | draw: limit the number of vertex shader variants kept around | Zack Rusin | 2010-06-25 | 7 | -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 header | Zack Rusin | 2010-06-25 | 3 | -43/+16 |
| | |||||
* | draw: Work around an invalid write. | Chia-I Wu | 2010-06-25 | 1 | -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/FALSE | Brian Paul | 2010-06-23 | 2 | -2/+2 |
| | |||||
* | draw: don't try to precalculate the pipeline output primitive | Keith Whitwell | 2010-06-23 | 8 | -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 code | Brian Paul | 2010-06-23 | 1 | -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 query | Zack Rusin | 2010-06-22 | 1 | -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 shader | Zack Rusin | 2010-06-17 | 1 | -1/+12 |
| | |||||
* | draw: implement triangle lists with adjacency support in gs | Zack Rusin | 2010-06-17 | 2 | -1/+31 |
| | |||||
* | draw: fix a silly error | Zack Rusin | 2010-06-17 | 1 | -1/+1 |
| | |||||
* | draw: implement line strip adjacency | Zack Rusin | 2010-06-17 | 1 | -0/+5 |
| | |||||
* | draw: implement lines with adjacency in geometry shaders | Zack Rusin | 2010-06-17 | 2 | -18/+48 |
| | |||||
* | draw: validate stream output buffers | Zack Rusin | 2010-06-17 | 1 | -1/+16 |
| | | | | fixes a crash. | ||||
* | draw: fix some unsigned issue | Zack Rusin | 2010-06-17 | 1 | -4/+4 |
| | | | | spotted by Vinson | ||||
* | draw: make sure we correctly iterate over output buffers on stream out | Zack Rusin | 2010-06-16 | 1 | -5/+11 |
| | | | | | we kept overwriting the first attribute of a vertex in a single-stream- out-buffer case | ||||
* | draw: add stream output decomposition file | Zack Rusin | 2010-06-16 | 1 | -0/+123 |
| | |||||
* | draw: rewrite stream output to handle all the dark corners | Zack Rusin | 2010-06-16 | 6 | -124/+190 |
| | | | | | register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics. | ||||
* | draw: add alloc check | Alan Hourihane | 2010-06-16 | 1 | -0/+2 |
| | |||||
* | draw: handle some out of memory conditions | Alan Hourihane | 2010-06-16 | 12 | -35/+69 |
| | |||||
* | draw: Remove unnecessary headers. | Vinson Lee | 2010-06-15 | 2 | -2/+0 |
| | |||||
* | gs: make sure we end primitives when finishing executing shaders | Zack Rusin | 2010-06-15 | 2 | -26/+7 |
| | |||||
* | draw/gs: make sure gs works with elts and doesn't overrun the buffer | Zack Rusin | 2010-06-15 | 2 | -11/+43 |
| | |||||
* | draw: run the pipeline with the correct number of verts | Zack Rusin | 2010-06-15 | 1 | -1/+1 |
| | | | | verts per primitive, not total count | ||||
* | draw: fix primitive indexing in the pipeline | Zack Rusin | 2010-06-15 | 1 | -2/+4 |
| | | | | spotted by Keith | ||||
* | draw: finish the new pipeline setup | Zack Rusin | 2010-06-15 | 9 | -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 wip | Keith Whitwell | 2010-06-15 | 8 | -319/+342 |
| | |||||
* | draw/gs: copy the outputs only if we emitted something | Zack Rusin | 2010-06-12 | 1 | -3/+5 |
| | |||||
* | gallium/softpipe/draw: support samplers in geometry shaders | Zack Rusin | 2010-06-11 | 2 | -4/+10 |
| | |||||
* | draw: forgot to add a file | Zack Rusin | 2010-06-10 | 1 | -0/+129 |
| | |||||
* | draw: rewrite geometry shader pipeline | Zack Rusin | 2010-06-10 | 2 | -103/+142 |
| | | | | | done to handle strips correctly as inputs - we need to decompose the strips | ||||
* | draw: geometry shader fixes | Zack Rusin | 2010-06-10 | 4 | -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 for | Zack Rusin | 2010-06-10 | 1 | -17/+25 |
| | |||||
* | draw: make sure geometry shader correctly iterates the output buffer | Zack Rusin | 2010-06-09 | 2 | -5/+11 |
| | |||||
* | draw: make sure the buffer is big enough to fit everything emitted by the gs | Zack Rusin | 2010-06-09 | 2 | -48/+27 |
| | |||||
* | draw: fix geometry shader which emit multiplie primitives | Zack Rusin | 2010-06-09 | 1 | -18/+20 |
| | |||||
* | geometry shaders: make gs work with changable primitives and variable number ↵ | Zack Rusin | 2010-06-09 | 11 | -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 Lee | 2010-06-08 | 2 | -2/+0 |
| | |||||
* | gallium: scream when one of two unimplemented features in draw is used | Zack Rusin | 2010-06-08 | 1 | -6/+12 |
| | | | | plus used the correctly specified stride | ||||
* | gallium: make draw auto work and add relevant caps and docs | Zack Rusin | 2010-06-08 | 2 | -0/+10 |
| | |||||
* | gallium: a lot more complete implementation of stream output | Zack Rusin | 2010-06-08 | 5 | -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 interface | Zack Rusin | 2010-06-08 | 4 | -0/+111 |
| | | | | aka transform feedback | ||||
* | draw: don't use llvm engine when geometry shaders active | Keith Whitwell | 2010-06-07 | 1 | -1/+1 |
| | | | | They aren't implemented for llvm. | ||||
* | draw: Use pointer_to_func() instead of custom wrappers. | José Fonseca | 2010-05-30 | 1 | -30/+3 |
| | |||||
* | Merge branch 'gallium-front-ccw' | Keith Whitwell | 2010-05-21 | 5 | -17/+27 |
|\ | |||||
| * | draw: fix front/back error in unfilled pipeline stage | Keith Whitwell | 2010-05-14 | 1 | -3/+4 |
| | | |||||
| * | draw: fix typo checking for unfilled polygons | Keith Whitwell | 2010-05-14 | 1 | -1/+1 |
| | | |||||
| * | gallium: convert rasterizer state to use gl-style front/back concepts | Keith Whitwell | 2010-05-14 | 5 | -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. |