diff options
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_gs.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c index a1ca7071e3..52f61d29b7 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; |