History log of /external/mesa3d/src/gallium/auxiliary/draw/draw_prim_assembler.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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