We were crashing if one of the buffers wasn't set, we should just treat it as an overflow. It's useful when using so statistics because it allows one to figure out how much data would be generated by so without actually writing any of it.
Signed-off-by: Zack Rusin <[email protected]> --- src/gallium/auxiliary/draw/draw_pt_so_emit.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/auxiliary/draw/draw_pt_so_emit.c b/src/gallium/auxiliary/draw/draw_pt_so_emit.c index cdfd13c..1328e86 100644 --- a/src/gallium/auxiliary/draw/draw_pt_so_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_so_emit.c @@ -129,6 +129,10 @@ static void so_emit_prim(struct pt_so_emit *so, for (i = 0; i < draw->so.num_targets; i++) { struct draw_so_target *target = draw->so.targets[i]; + /* If a buffer is missing then that's equivalent to + * an overflow */ + if (!target) + return; buffer_total_bytes[i] = target->internal_offset + target->target.buffer_offset; } -- 1.7.10.4 _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
