mesa: track ParameterValues size separately

This is needed for multi-slot parameters.

Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6946>
This commit is contained in:
Marek Olšák
2020-11-20 18:12:17 -05:00
committed by Marge Bot
parent 25e242155b
commit 158351007e
7 changed files with 28 additions and 18 deletions

View File

@@ -659,7 +659,7 @@ add_parameter(struct gl_uniform_storage *uniform,
struct gl_program_parameter_list *params = state->params;
int base_index = params->NumParameters;
_mesa_reserve_parameter_storage(params, num_params);
_mesa_reserve_parameter_storage(params, num_params, num_params);
if (ctx->Const.PackedDriverUniformStorage) {
for (unsigned i = 0; i < num_params; i++) {

View File

@@ -1054,7 +1054,7 @@ read_shader_parameters(struct blob_reader *metadata,
uint32_t i = 0;
uint32_t num_parameters = blob_read_uint32(metadata);
_mesa_reserve_parameter_storage(params, num_parameters);
_mesa_reserve_parameter_storage(params, num_parameters, num_parameters);
while (i < num_parameters) {
gl_register_file type = (gl_register_file) blob_read_uint32(metadata);
const char *name = blob_read_string(metadata);