diff options
author | Zack Rusin <zackr@vmware.com> | 2013-04-16 20:31:22 -0700 |
---|---|---|
committer | Zack Rusin <zackr@vmware.com> | 2013-04-16 23:38:47 -0700 |
commit | f01f754ca13373d62f5f4ba5ff76d83aa4eac62b (patch) | |
tree | af3c40e5cebfeb05e40efd447b6af18a035653fb /src/gallium/auxiliary/draw/draw_gs.h | |
parent | be497ac9d3b5c50a4cd126578081bd54b68f16a9 (diff) |
draw/gs: make sure geometry shaders don't overflow
The specification says that the geometry shader should exit if the
number of emitted vertices is bigger or equal to max_output_vertices and
we can't do that because we're running in the SoA mode, which means that
our storing routines will keep getting called on channels that have
overflown (even though they will be masked out, but we just can't skip
them).
So we need some scratch area where we can keep writing the overflown
vertices without overwriting anything important or crashing.
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_gs.h')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_gs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_gs.h b/src/gallium/auxiliary/draw/draw_gs.h index 7c841396aa..ca744cebfc 100644 --- a/src/gallium/auxiliary/draw/draw_gs.h +++ b/src/gallium/auxiliary/draw/draw_gs.h @@ -68,6 +68,7 @@ struct draw_geometry_shader { unsigned position_output; unsigned max_output_vertices; + unsigned primitive_boundary; unsigned input_primitive; unsigned output_primitive; |