draw/gs: only allocate memory for streams needed.

This just allocates the sizeing for streams that are needed.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
This commit is contained in:
Dave Airlie
2020-06-19 16:17:48 +10:00
parent 903b5814b5
commit 87a388fb29

View File

@@ -879,8 +879,8 @@ draw_create_geometry_shader(struct draw_context *draw,
memset(gs->gs_input, 0, sizeof(struct draw_gs_inputs));
gs->llvm_prim_lengths = 0;
gs->llvm_emitted_primitives = align_malloc(vector_size * PIPE_MAX_VERTEX_STREAMS, vector_size);
gs->llvm_emitted_vertices = align_malloc(vector_size * PIPE_MAX_VERTEX_STREAMS, vector_size);
gs->llvm_emitted_primitives = align_malloc(vector_size * gs->num_vertex_streams, vector_size);
gs->llvm_emitted_vertices = align_malloc(vector_size * gs->num_vertex_streams, vector_size);
gs->llvm_prim_ids = align_calloc(vector_size, vector_size);
gs->fetch_outputs = llvm_fetch_gs_outputs;