f2a7fd9943fcb7d3de3bc2b21907e0a157b88e96 |
|
23-Apr-2015 |
Roland Scheidegger <sroland@vmware.com> |
draw: fix prim ids when there's no gs We were resetting the prim id count for each run of the prim assembler, hence this only worked when the draw calls were very small (the exact limit depending on the vertex size), since larger draw calls get split up. So, do the same as we do already if there's a gs, reset it to zero explicitly for every new instance (this possibly could use the same variable but that isn't doable without some heavy refactoring and I'm not sure it makes sense). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90130. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> CC: <mesa-stable@lists.freedesktop.org>
/external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler.h
|
662a4d4a120cb0a07023f00e3c5e4a0809428a53 |
|
08-Aug-2013 |
Zack Rusin <zackr@vmware.com> |
draw: rewrite primitive assembler We can't be injecting the primitive id's in the pipeline because by that time the primitives have already been decomposed. To properly number the primitives we need to handle the adjacency primitives by hand. This patch moves the prim id injection into the original primitive assembler and completely removes the useless pipeline stage. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler.h
|
a9cb914f49fa3810b15eb9df9f6209a16fafa491 |
|
03-Aug-2013 |
Zack Rusin <zackr@vmware.com> |
draw: add back separate input assembler the issue is that stream output is run before the pipeline, which means that unless we decompose the primitives before the so then things crash. we could convert the entire stream output code into a pipeline stage but it will take a bit, so for now fix the crashes by simply re-adding the old input assembler which is run before the SO. Signed-off-by: Zack Rusin <zackr@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler.h
|
c9c211fae194ac6bf50e0c579c8670590690dd6e |
|
02-Aug-2013 |
Zack Rusin <zackr@vmware.com> |
draw: implement proper primitive assembler as a pipeline stage we used to have a face primitive assembler that we ran after if the gs was missing but we had adjacency primitives in the pipeline, lets convert it to a pipeline stage, which allows us to use it to inject outputs (primitive id) into the vertices. it's also a lot cleaner because the decomposition is already handled for us. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler.h
|
12eab7cc564a6928197f9b87ded9e368e56976f0 |
|
18-Apr-2013 |
Zack Rusin <zackr@vmware.com> |
draw: implement primitive assembler Input assembler needs to be able to decompose adjacency primitives into something that can be understood by the rest of the pipeline. The specs say that the adjacency primitives are *only* visible in the geometry shader, for everything else they need to be decomposed. Which in most of the cases is not an issue, because the geometry shader always decomposes them for us, but without geometry shader we were passing unchanged adjacency primitives to the rest of the pipeline and causing crashes everywhere. This commit introduces a primitive assembler which, if geometry shader is missing and the input primitive is one of the adjacency primitives, decomposes them into something that the rest of the pipeline can understand. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler.h
|