From 0031cde1e199a82dfe4b754931fb0a5bdf5582f9 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Sat, 27 Apr 2013 00:49:23 -0400 Subject: [PATCH] draw/so: indicate overflow when buffer is missing MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: José Fonseca --- 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 cdfd13c6421..1328e8658c4 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; } -- 2.30.2