From: Zack Rusin Date: Sat, 12 Jun 2010 14:44:31 +0000 (-0400) Subject: draw/gs: copy the outputs only if we emitted something X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=db05972807c5cb7911b5745df00fa13130cf919e;p=mesa.git draw/gs: copy the outputs only if we emitted something --- diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c index a1ca7071e35..52f61d29b79 100644 --- a/src/gallium/auxiliary/draw/draw_gs.c +++ b/src/gallium/auxiliary/draw/draw_gs.c @@ -367,9 +367,11 @@ int draw_geometry_shader_run(struct draw_geometry_shader *shader, gs_run(shader, pipe_prim, count); - memcpy(output, pipeline_verts->data, - shader->info.num_outputs * 4 * sizeof(float) + - vertex_size * (shader->emitted_vertices -1)); + if (shader->emitted_vertices > 0) { + memcpy(output, pipeline_verts->data, + shader->info.num_outputs * 4 * sizeof(float) + + vertex_size * (shader->emitted_vertices -1)); + } FREE(pipeline_verts); return shader->emitted_vertices;