Since we know how big the list will be we can allocate the storage upfront. --- src/compiler/glsl/shader_cache.cpp | 1 + 1 file changed, 1 insertion(+)
diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index 966229c..3121658 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -974,6 +974,7 @@ read_shader_parameters(struct blob_reader *metadata, num_parameters = blob_read_uint32(metadata); + _mesa_reserve_parameter_storage(params, num_parameters); for (i = 0; i < num_parameters; i++) { type = (gl_register_file) blob_read_uint32(metadata); -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev